Partager via


Services Web sur les appareils pour l'impression (WS-Print)

Important

La plateforme d’impression moderne est le moyen privilégié de Windows pour communiquer avec les imprimantes. Nous vous recommandons d’utiliser le pilote de classe IPP en boîte de Microsoft, ainsi que les applications de support d’impression (PSA), pour personnaliser l’expérience d’impression dans Windows 10 et 11 pour le développement de périphériques d’impression.

Pour plus d’informations, veuillez consulter la section Plateforme d’impression moderne et le Guide de conception des applications de support d’impression.

Les services Web sur les appareils pour l'impression (WS-Print) ont été introduits pour fournir un protocole de connexion pour les périphériques d'impression et d'analyse.

Vue d’ensemble

La technologie des services Web fournit un cadre commun pour décrire et partager des informations. En conséquence, Windows est livré avec un ensemble de protocoles pour consommer et contrôler les services sur les appareils connectés au réseau.

Quatre spécifications de services Web existent pour l'impression et la numérisation, afin d'aider les fabricants d'appareils à tirer parti de l'expérience client améliorée concernant la connexion, l'installation et l'utilisation d'appareils avec Windows.

WS-Print v1.1

Pour Windows 8, le schéma d'impression pour les services Web sur les appareils (WSD) a été mis à jour à la version v1.1. Cette version du schéma (appelée WS-Print v1.1) a été mise à jour pour prendre en charge la configuration améliorée des pilotes, une meilleure représentation des couleurs pour l'encre/le toner et les ID de modèles d'appareils.

WS-Print v1.2

Pour Windows 8.1, WS-Print inclut toutes les opérations et tous les éléments du schéma utilisés dans WS-Print v1.1, mais la définition du service d'impression pour les services Web sur les appareils a été mise à jour. Le nouveau service Web sur appareils pour l'impression qui en résulte est WS-Print v1.2.

Dans WS-Print v1.2, la prise en charge d'un nouvel élément de schéma et d'une nouvelle opération a été ajoutée. Le nouvel élément de schéma « SupportsWSPrintV12 » est utilisé pour identifier la prise en charge de WS-Print V1.2. La nouvelle opération, « SetPrinterElements », permet à un client de définir la valeur d’un élément de schéma sur l’imprimante. Par exemple, le client peut définir un élément personnalisé appelé « InkHeadAlignmentValue » que l’imprimante utilisera pour réaligner la tête jet d’encre.

Pour votre commodité, les spécifications sont fournies ici dans la section Téléchargements, sous forme complète et autonome, avec les langages de description des services Web (WSDL) et les définitions de schéma XML (XSD) qui leur sont associés. Ces quatre spécifications des services Web sur appareils sont couvertes par l'accord de licence de la documentation technique incluse, qui fait référence au kit de développement de pilotes Windows (WDK).

Les sections suivantes fournissent des informations plus détaillées sur les différents aspects de WS-Print.

Diagrammes de séquence

Les diagrammes de séquence suivants illustrent l'interaction entre le client et l'imprimante afin de déterminer la version de l'espace de noms WS-Print prise en charge, puis de récupérer les éléments du schéma étendu.

Diagramme de séquence WS-Print v1.1

Voici le diagramme de séquence de l'interaction pour une imprimante qui supporte WS-Print v1.1 :

diagramme de séquence montrant l'interaction client-imprimante concernant le support de ws-print v1.1, et les requêtes subséquentes pour la description et la configuration de l'imprimante.

Si l'imprimante supporte WS-Print v1.1, en réponse à la requête GetPrinterElements(wprt:PrinterDescription) du client, l'imprimante renvoie des informations indiquant qu'elle supporte WS-Print v1.1.

Une fois que l'imprimante a confirmé qu'elle supporte WS-Print v1.1, le client envoie une requête GetPrinterElements(wprt11:DriverConfiguration), et l'imprimante répond avec les informations de configuration du pilote demandées.

Diagramme de séquence WS-Print v1.2

Voici le diagramme de séquence d'interaction pour une imprimante qui supporte WS-Print v1.2 :

diagramme de séquence montrant l'interaction client-imprimante concernant le support de ws-print v1.2, et les requêtes subséquentes pour la description et la configuration de l'imprimante.

Si l'imprimante supporte WS-Print v1.2, en réponse à la requête GetPrinterElements(wprt:PrinterDescription) du client, l'imprimante renvoie des informations indiquant qu'elle le fait.

En outre, l'imprimante doit renvoyer wprt12:SupportsWSPrintV12 en réponse à l'appel GetPrinterElements(wprt:PrinterDescription). Ensuite, le client peut appeler l'opération SetPrinterElements pour définir un ou plusieurs éléments de données dans le schéma pris en charge par l'appareil WS-Print.

Après que l'imprimante a confirmé qu'elle supporte WS-Print v1.2, le client envoie une requête GetPrinterElements(wprt12:DriverConfiguration), et l'imprimante répond avec les informations de configuration du pilote demandées.

Espaces de noms

WS-Print v1.1 namespace

Espace de noms : <https://schemas.microsoft.com/windows/2010/06/wdp/printv11>Définition de l'espace de noms XML : xmlns:wprt12="<https://schemas.microsoft.com/windows/2012/10/wdp/printV12>"

WS-Print v1.2 namespace

Espace de noms : <https://schemas.microsoft.com/windows/2012/10/wdp/printV12>Définition de l'espace de noms XML : xmlns:wprt11="<https://schemas.microsoft.com/windows/2010/06/wdp/printv11>"

Spécifier le support de WS-Print 1.1

Les imprimantes qui supportent les éléments WS-Print 1.1 doivent mettre à jour leur PrinterDescription pour inclure wprt11:SupportsWSPrintv11. Si wprt11:SupportsWSPrintv11 n'est pas spécifié et fixé à true, WSDMon ne fera aucune requête d'éléments WS-Print 1.1 à l'imprimante.

Les appareils d'impression qui supportent WS-Print v1.1 doivent inclure le contenu suivant dans leur PrinterDescription pour que Windows puisse demander d'autres éléments dans cet espace de noms.

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

L'extrait XML suivant est dérivé de la spécification WSD Print Service Specification v1.0 et montre l'utilisation correcte du contenu de la section précédente.

<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>

L'extrait XML suivant montre le schéma d'un appareil d'impression qui supporte 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"/>

Spécifier le support de WS-Print 1.2

Les imprimantes qui supportent les éléments WS-Print 1.2 doivent mettre à jour leur PrinterDescription pour inclure wprtV12:SupportsWSPrintV12. Si wprtV12:SupportsWSPrintV12 n'est pas spécifié et fixé à true, WSDMon ne fera aucune requête d'éléments WS-Print 1.2 à l'imprimante.

Les appareils d'impression qui supportent WS-Print v1.2 doivent inclure le contenu suivant dans leur PrinterDescription pour que Windows puisse demander d'autres éléments dans cet espace de noms.

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

L'extrait XML suivant est dérivé de la spécification WSD Print Service Specification v1.2 et montre l'utilisation correcte du contenu de la section précédente.

<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>

Les exemples de schémas des trois sections suivantes montrent comment utiliser certains des nouveaux éléments introduits avec WS-Print V1.1. Pour plus d'informations sur tous les éléments introduits dans l'espace de noms WS-Print V1.1, consultez les fichiers de support pour WS-Print v1.0 - v1.2 listés dans la section Téléchargements ci-dessous .

Configuration améliorée du pilote

Ce schéma fournit les fichiers de configuration GPD ou PPD spécifiques à l'appareil.

   <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 modèle de l'appareil

Le schéma suivant décrit un ModelID pour l'appareil, et est utilisé pour la récupération des métadonnées de l'appareil. Pour plus d'informations sur les ModelID, voir l'élément 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>

Valeur de représentation de la couleur de l'encre ou de la toner

Le schéma suivant permet de récupérer un triple RVB qui représente la couleur d'un type d'encre ou de toner particulier. Cette valeur doit être spécifiée pour tout consommable d'encre ou de toner afin de permettre une meilleure représentation de la couleur dans l'interface utilisateur de l'application.

    <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>

Comme mentionné plus haut dans cette rubrique, dans la section WS-Print v1.2, la nouvelle opération suivante a été introduite dans l'espace de noms WS-Print V1.2.

SetPrinterElements

L'opération SetPrinterElements est nouvelle et permet à un client de définir la valeur d'un élément de schéma sur l'imprimante. L'opération SetPrinterElements comporte huit éléments de requête et quatre éléments de réponse. Les éléments de requête et de réponse permettent au client de contrôler finement l'insertion et la récupération des données en relation avec le schéma d'appareil WS-Print.

Par exemple, l'élément de données ElementPath (qui fait partie de l'opération SetPrinterElements) est une chaîne XPath qui représente l'emplacement de l'élément de données à définir dans le schéma de l'imprimante.

Pour plus d'informations sur l'opération SetPrinterElements, consultez les fichiers de support pour WS-Print v1.0 - v1.2 listés dans la section Téléchargements ci-dessous.

Téléchargements

Spécification et fichiers de support pour WS-Print v1.0 - v1.2

Fichier : Définition des appareils d'impression V1.0 pour les services Web sur les appareilsDescription : fichier zip de 2,64 Mo contenant un document Microsoft Word et des fichiers de support ; 16 septembre 2013.

Spécification et fichiers de support

Fichier : Définition des appareils d'impression V1.0 pour les services Web sur les appareilsDescription : Fichier auto-extractible de 76 Ko contenant un document Microsoft Word et un fichier d'accompagnement ; 29 janvier 2007

Fichier : Définition de service d'analyse V1.0 pour les services Web sur les appareilsDescription : (fichier zip de 1,5 Mo contenant un document Microsoft Word et des fichiers de support ; 9 février 2012).

Fichier : Définition des appareils d'analyse V1.0 pour les services Web sur les appareilsDescription : (fichier auto-extractible de 76 Ko contenant un document Microsoft Word et un fichier d'accompagnement ; 29 janvier 2007)

Connectivité du pilote d’imprimante V4