Compartir a través de


Servicios web en dispositivos para imprimir (WS-Print)

Importante

La plataforma de impresión moderna es el medio preferido de Windows para comunicarse con impresoras. Se recomienda usar el controlador de clase de bandeja de entrada IPP de Microsoft, junto con aplicaciones de soporte técnico de impresión (PSA), para personalizar la experiencia de impresión en Windows 10 y 11 para el desarrollo de dispositivos de impresora.

Para obtener más información, consulte Plataforma de impresión moderna y la Guía de diseño de aplicaciones para compatibilidad con impresión.

Los servicios web en dispositivos para imprimir (WS-Print) se introdujeron para proporcionar un protocolo de conexión para imprimir y examinar periféricos.

Información general

La tecnología de servicios web proporciona un marco común para describir y compartir información. Como resultado, Windows incluye un conjunto de protocolos para consumir y controlar servicios en dispositivos conectados a la red.

Existen cuatro especificaciones de servicios web para imprimir y escanear, para ayudar a los fabricantes de dispositivos a aprovechar la experiencia mejorada del cliente en torno a la conexión, instalación y uso de dispositivos con Windows.

WS-Print v1.1

Para Windows 8, el esquema de impresión para servicios web en dispositivos (WSD) se actualizó a la versión 1.1. Esta versión del esquema (denominada WS-Print v1.1) se actualizó para admitir la configuración mejorada del controlador, una mejor representación de color para los identificadores de lápiz/tóner y del modelo de dispositivo.

WS-Print v1.2

Para Windows 8.1, WS-Print incluye todas las operaciones y elementos de esquema usados en WS-Print v1.1, pero se ha actualizado la definición del servicio de impresión para los servicios web en los dispositivos. Y el nuevo servicio web resultante en dispositivos para la impresión es WS-Print v1.2.

En WS-Print v1.2 se ha agregado compatibilidad para un nuevo elemento de esquema y una nueva operación. El nuevo elemento de esquema "SupportsWSPrintV12" se usa para identificar la compatibilidad con WS-Print V1.2. La nueva operación, "SetPrinterElements" permite a un cliente establecer el valor de un elemento de esquema en la impresora. Por ejemplo, el cliente podría establecer un elemento personalizado denominado "InkHeadAlignmentValue", que la impresora usaría para realinear el cabezal de inyección de tinta.

Para su comodidad, las especificaciones se proporcionan aquí en la sección Descargas, de forma completa e independiente, junto con sus lenguajes de descripción de servicios web asociados (WSDLs) y definiciones de esquema XML (XSD). Estos cuatro servicios web en las especificaciones de los dispositivos están cubiertos por el contrato de licencia de documentación técnica incluido, que hace referencia al kit de desarrollo de controladores de Windows (WDK).

En las secciones siguientes se proporciona información más detallada sobre los distintos aspectos de WS-Print.

Diagramas de secuencia

En los diagramas de secuencia siguientes se muestra la interacción entre el cliente y la impresora para determinar la versión del espacio de nombres WS-Print que se admite y, a continuación, recuperar los elementos de esquema extendidos.

Diagrama de secuencia de WS-Print v1.1

Este es el diagrama de secuencia de interacción de una impresora que admite WS-Print v1.1:

diagrama de secuencia que muestra la interacción de la impresora cliente con respecto a la compatibilidad con ws-print v1.1 y las consultas posteriores para la descripción y configuración de la impresora.

Si la impresora admite WS-Print v1.1, en respuesta a la consulta GetPrinterElements(wprt:PrinterDescription) del cliente, la impresora devuelve información para indicar que lo es.

Una vez que la impresora confirma que admite WS-Print v1.1, el cliente envía una consulta GetPrinterElements(wprt11:DriverConfiguration) y la impresora responde con la información de configuración del controlador solicitada.

Diagrama de secuencia de WS-Print v1.2

Este es el diagrama de secuencia de interacción de una impresora que admite WS-Print v1.2:

diagrama de secuencia que muestra la interacción de la impresora cliente con respecto a la compatibilidad con ws-print v1.2 y las consultas posteriores para la descripción y configuración de la impresora.

Si la impresora admite WS-Print v1.2, en respuesta a la consulta GetPrinterElements(wprt:PrinterDescription) del cliente, la impresora devuelve información para indicar que lo es.

Además, la impresora debe devolver wprt12:SupportsWSPrintV12 en respuesta a la llamada GetPrinterElements(wprt:PrinterDescription). Después, el cliente puede llamar a la operación SetPrinterElements para establecer uno o varios elementos de datos en el esquema admitido por el dispositivo WS-Print.

Una vez que la impresora confirma que admite WS-Print v1.2, el cliente envía una consulta GetPrinterElements(wprt12:DriverConfiguration) y la impresora responde con la información de configuración del controlador solicitada.

Espacios de nombres

Espacio de nombres WS-Print v1.1

Espacio de nombres: <https://schemas.microsoft.com/windows/2010/06/wdp/printv11>Definición del espacio de nombres XML: xmlns:wprt12="<https://schemas.microsoft.com/windows/2012/10/wdp/printV12>"

Espacio de nombres WS-Print v1.2

Espacio de nombres: <https://schemas.microsoft.com/windows/2012/10/wdp/printV12>Definición del espacio de nombres XML: xmlns:wprt11="<https://schemas.microsoft.com/windows/2010/06/wdp/printv11>"

Especificación de la compatibilidad con WS-Print 1.1

Las impresoras que admiten elementos WS-Print 1.1 deben actualizar su PrinterDescription para incluir wprt11:SupportsWSPrintv11. Si no se especifica wprt11:SupportsWSPrintv11 y se establece en true, WSDMon no solicitará ningún elemento WS-Print 1.1 de la impresora.

Los dispositivos de impresión compatibles con WS-Print v1.1 deben incluir el siguiente contenido en su PrinterDescription para que Windows pueda consultar cualquier otro elemento de ese espacio de nombres.

<soap:Envelope
...
  xmlns:wprt11="https://schemas.microsoft.com/windows/2010/06/wdp/printv11">"
...
  <wprt11:SupportsWSPrintv11>true</wprt11:SupportsWSPrintv11>
...

El siguiente fragmento de código XML se obtiene de la especificación del servicio de impresión de WSD v1.0 y muestra el uso adecuado del contenido en la sección anterior.

<soap:Envelope
        xmlns:soap="https://www.w3.org/2003/05/soap-envelope"
        xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/08/addressing"
        xmlns:wprt="https://schemas.microsoft.com/windows/2006/08/wdp/print"
        xmlns:wprt11="https://schemas.microsoft.com/windows/2010/06/wdp/printv11">"
  <soap:Header>
    <wsa:To>https://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
    <wsa:Action>
      https://schemas.microsoft.com/windows/2006/08/wdp/print/GetPrinterElementsResponse
    </wsa:Action>
    <wsa:MessageID>uuid:UniqueMsgId</wsa:MessageID>
    <wsa:RelatesTo>uuid:MsgIdOfTheGetPrinterElementsRequest</wsa:RelatesTo>
  </soap:Header>
  <soap:Body>
    <wprt:GetPrinterElementsResponse>
      <wprt:PrinterElements>
        <wprt:ElementData Name="wprt:PrinterDescription" Valid="true">
          <wprt:PrinterDescription>
            <wprt:ColorSupported>true</wprt:ColorSupported>
            <wprt:DeviceId>MFG:Acme;MDL:PrintMaster 9020</wprt:DeviceId>
            <wprt:MultipleDocumentJobsSupported>true</wprt:MultipleDocumentJobsSupported>
            <wprt:PagesPerMinute>20</wprt:PagesPerMinute>
            <wprt:PagesPerMinuteColor>8</wprt:PagesPerMinuteColor>
            <wprt:PrinterName xml:lang="en-AU, en-CA, en-GB, en-US">
              Accounting Printer in Copy Room 2
            </wprt:PrinterName>
            <wprt:PrinterInfo xml:lang="en-AU, en-CA, en-GB, en-US">
              Printer for use of Accounting only
            </wprt:PrinterInfo>
            <wprt:PrinterLocation xml:lang="en-AU, en-CA, en-GB, en-US">
              LA Campus – Building 3
            </wprt:PrinterLocation>
            <wprt11:SupportsWSPrintv11>true</wprt11:SupportsWSPrintv11>
          </wprt:PrinterDescription>
        </wprt:ElementData>
      </wprt:PrinterElements>
    </wprt:GetPrinterElementsResponse>
  </soap:Body>
</soap:Envelope>

El siguiente fragmento de código XML muestra el esquema de un dispositivo de impresión que admite WS-Print v1.1.

<xs:schema targetNamespace="https://schemas.microsoft.com/windows/2010/06/wdp/printv11"
           xmlns:wprt11="https://schemas.microsoft.com/windows/2010/06/wdp/printv11"
           xmlns:xs="https://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified">

<xs:annotation>
    <xs:documentation>
        WS-Print Extensions for Driver Configuration and Consumable Definition
        Copyright 2010 Microsoft Corp. All rights reserved
    </xs:documentation>
</xs:annotation>

<xs:annotation>
    <xs:documentation> A Boolean element that denotes support for WS-Print V11 extensions
    </xs:documentation>
</xs:annotation>

<xs:element name="SupportsWSPrintv11" type="xs:boolean"/>

Especificación de la compatibilidad con WS-Print 1.2

Las impresoras que admiten elementos WS-Print 1.2 deben actualizar su PrinterDescription para incluir wprtV12:SupportsWSPrintV12. Si no se especificawprtV12:SupportsWSPrintV12 y se establece en true, WSDMon no solicitará ningún elemento WS-Print 1.2 de la impresora.

Los dispositivos de impresión compatibles con WS-Print v1.2 deben incluir el siguiente contenido en su PrinterDescription para que Windows pueda consultar cualquier otro elemento de ese espacio de nombres.

<soap:Envelope
…
    xmlns:wprtV12="https://schemas.microsoft.com/windows/2012/10/wdp/printV12">
…
    <wprtV12:SupportsWSPrintV12>true</wprtV12:SupportsWSPrintV12>
…
</soap:Envelope>

El siguiente fragmento de código XML se obtiene de la especificación del servicio de impresión de WSD v1.2 y muestra el uso adecuado del contenido en la sección anterior.

<soap:Envelope
     xmlns:soap="https://www.w3.org/2003/05/soap-envelope"
     xmlns:wsa="https://schemas.xmlsoap.org/ws/2004/08/addressing"
     xmlns:wprt="https://schemas.microsoft.com/windows/2006/08/wdp/print"
     xmlns:wprtV12="https://schemas.microsoft.com/windows/2012/10/wdp/printV12">
     <soap:Header>
          <wsa:To>https://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
          <wsa:Action>
               https://schemas.microsoft.com/windows/2006/08/wdp/print/GetPrinterElementsResponse
          </wsa:Action>
          <wsa:MessageID>uuid:UniqueMsgId</wsa:MessageID>
          <wsa:RelatesTo>uuid:MsgIdOfTheGetPrinterElementsRequest</wsa:RelatesTo>
     </soap:Header>
     <soap:Body>
         <wprt:GetPrinterElementsResponse>
            <wprt:PrinterElements>
             <wprt:ElementData Name="wprt:PrinterDescription" Valid="true">
                <wprt:PrinterDescription>
                     <wprt:ColorSupported>true</wprt:ColorSupported>
                         <wprt:DeviceId>MFG:Acme;MDL:PrintMaster 9020</wprt:DeviceId>
                         <wprt:MultipleDocumentJobsSupported>true</wprt:MultipleDocumentJobsSupported>
                     <wprt:PagesPerMinute>20</wprt:PagesPerMinute>
                     <wprt:PagesPerMinuteColor>8</wprt:PagesPerMinuteColor>
                     <wprt:PrinterName xml:lang="en-AU, en-CA, en-GB, en-US">
                             Accounting Printer in Copy Room 2</wprt:PrinterName>
                         <wprt:PrinterInfo xml:lang="en-AU, en-CA, en-GB, en-US">
                             Printer for use of Accounting only</wprt:PrinterInfo>
                         <wprt:PrinterLocation xml:lang="en-AU, en-CA, en-GB, en-US">
                             LA Campus – Building 3</wprt:PrinterLocation>
                         <wprtV12:SupportsWSPrintV12>true</wprtV12:SupportsWSPrintV12>
                    </wprt:PrinterDescription>
             </wprt:ElementData>
            </wprt:PrinterElements>
         </wprt:GetPrinterElementsResponse>
      </soap:Body>
</soap:Envelope>

Los ejemplos de esquema de las tres secciones siguientes muestran cómo usar algunos de los nuevos elementos que se introdujeron con WS-Print V1.1. Para obtener más información sobre todos los elementos que se introdujeron con el espacio de nombres WS-Print V1.1, consulte los archivos auxiliares de WS-Print v1.0 – v1.2 enumerados en la sección Descargas que aparece a continuación.

Configuración mejorada del controlador

Este esquema proporciona archivos de configuración de GPD o PPD específicos del dispositivo para este dispositivo.

   <xs:annotation>
        <xs:documentation>Driver Configuration File definition</xs:documentation>
    </xs:annotation>
    <xs:element name="DriverConfiguration" type="wprt11:DriverConfigurationType"/>
    <xs:complexType name="DriverConfigurationType">
        <xs:sequence>
            <xs:element name="GPDConfigFile" type="xs:string" minOccurs="0" />
            <xs:element name="PPDConfigFile" type="xs:string" minOccurs="0" />
            <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:anyAttribute namespace="##other" processContents="lax" />
    </xs:complexType>

ID de modelo del dispositivo

En el esquema siguiente se describe un ModelID para el dispositivo y se usa para la recuperación de metadatos del dispositivo. Para obtener más información sobre ModelIDs, consulte Elemento ModelID.

    <xs:annotation>
        <xs:documentation> Print Device Model Id value for device differentiation</xs:documentation>
        <xs:documentation> Always represented as a GUID</xs:documentation>
    </xs:annotation>
    <xs:element name="DeviceModelId" type="wprt11:DeviceModelIdGuidType"/>
    <xs:simpleType name="DeviceModelIdGuidType">
        <xs:restriction base="xs:string">
            <xs:length value="36"/>
        </xs:restriction>
    </xs:simpleType>

Valor de representación de color de lápiz/tóner

El esquema siguiente recupera un triple RGB que representa el color de un tipo de lápiz o tóner determinado. Este valor debe especificarse para los consumibles de lápiz o tóner para permitir que se muestre una mejor representación del color en la interfaz de usuario de la aplicación.

    <xs:annotation>
        <xs:documentation>
            Ink/Toner Color Representation definition
            A 6-digit hex representation of the RGB color value this Consumable entry represents.
            Examples of these values are:
                Black – 000000
                Red – FF0000
                White – FFFFFF
                Magenta – FF00FF
                Cyan – 00FFFF
                Yellow – FFFF00
                Blue – 0000FF
        </xs:documentation>    </xs:annotation>
    <xs:element name="ColorRepresentation" type="wprt11:ColorRepType"/>
    <xs:simpleType name="ColorRepType">
        <xs:restriction base="xs:string">
            <xs:length value="6"/>
        </xs:restriction>
    </xs:simpleType>

Como se mencionó anteriormente en este tema, en la sección WS-Print v1.2, se ha introducido la siguiente operación nueva con el espacio de nombres WS-Print V1.2.

SetPrinterElements

La operación SetPrinterElements es nueva y permite a un cliente establecer el valor de un elemento de esquema en la impresora. La operación SetPrinterElements tiene ocho elementos de solicitud y cuatro elementos de respuesta. Los elementos de solicitud y respuesta proporcionan al cliente un control preciso sobre la inserción y recuperación de datos en conexión con el esquema del dispositivo WS-Print.

Por ejemplo, el elemento de datos ElementPath (parte de la operación SetPrinterElements), es una cadena XPath que representa una ubicación dentro del esquema de impresora del elemento de datos que se va a establecer.

Para obtener información más detallada sobre la operación SetPrinterElements, consulte los archivos auxiliares de WS-Print v1.0 – v1.2 que aparecen en la sección Descargas a continuación.

Descargas

Especificación y archivos auxiliares para WS-Print v1.0 – v1.2

Archivo: Definición de dispositivo de impresión V1.0 para servicios web en dispositivosDescripción: archivo ZIP de 2,64 MB que contiene documentos de Microsoft Word y archivos auxiliares; 16 de septiembre de 2013

Especificación y archivos auxiliares

Archivo: Definición de dispositivo de impresión V1.0 para servicios web en dispositivosDescripción: archivo autoextraíble de 76 KB que contiene el documento de Microsoft Word y el archivo auxiliar; 29 de enero de 2007

Archivo: Definición de servicio de escaneado V1.0 para servicios web en dispositivosDescripción: (archivo ZIP de 1,5 MB que contiene documentos de Microsoft Word y archivos auxiliares; 9 de febrero de 2012)

Archivo: Definición de dispositivo de escaneado V1.0 para servicios web en dispositivosDescripción: (archivo autoextraíble de 76 KB que contiene el documento de Microsoft Word y el archivo auxiliar; 29 de enero de 2007)

Conectividad del controlador de impresora V4