共用方式為


裝置上的 Web 服務以進行列印 (WS-Print)

重要

新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。

如需詳細資訊,請參閱 新式列印平臺列印支援應用程式設計指南

引進了列印裝置上的 Web 服務(WS-Print),以提供列印和掃描周邊的連線通訊協定。

概觀

Web 服務技術提供描述和共用資訊的通用架構。 因此,Windows 隨附一組通訊協定,用於取用和控制網路連線裝置上的服務。

有四個 Web 服務規格可用於列印和掃描,以協助裝置製造商利用改善的客戶體驗來連接、安裝及使用裝置與 Windows。

WS-Print v1.1

針對 Windows 8,裝置上 Web 服務的列印架構已更新為 v1.1。 此版本的架構(稱為 WS-Print v1.1)已更新,以支援增強的驅動程式設定、更適合筆跡/色調的色彩表示法,以及裝置型號標識碼。

WS-Print v1.2

針對Windows 8.1,WS-Print 包含 WS-Print v1.1 中使用的所有作業和架構元素,但裝置上的 Web 服務的列印服務定義已更新。 因此,用於列印的裝置上產生的新 Web 服務是 WS-Print v1.2。

在 WS-Print v1.2 中,已新增架構元素和新作業的支援。 新的架構元素 「SupportsWSPrintV12」 用來識別 WS-Print V1.2 的支援。 新的作業 「SetPrinterElements」 可讓用戶端在印表機上設定架構元素的值。 例如,用戶端可以設定名為 「InkHeadAlignmentValue」 的自定義專案,列印機會用來重新對齊噴墨機頭。

為了方便起見,這些規格會在下載一節中提供,完整且獨立的表單,以及其相關聯的Web服務描述語言 (WSD) 和 XML 架構定義 (XSD)。 這四個裝置上的 Web 服務規格涵蓋於包含的技術檔許可協定中,該合約參考 Windows 驅動程式開發工具包 (WDK)。

下列各節提供 WS-Print 各層面的詳細資訊。

順序圖表

下列順序圖說明用戶端與印表機之間的互動,以判斷支援的WS-Print 命名空間版本,然後擷取擴充架構元素。

WS-Print v1.1 時序圖

以下是支援 WS-Print v1.1 之印表機的互動順序圖表:

顯示 ws-print v1.1 支援的用戶端列印機互動,以及列印機描述和設定的後續查詢的時序圖。

如果印表機支援 WS-Print v1.1,則為了回應來自用戶端的 GetPrinterElements(wprt:PrinterDescription) 查詢,列印機會傳回資訊以指出它確實如此。

印表機確認它支援 WS-Print v1.1 之後,用戶端會傳送 GetPrinterElements(wprt11:DriverConfiguration) 查詢,而列印機會以要求的驅動程式組態信息回應。

WS-Print v1.2 時序圖

以下是支援 WS-Print v1.2 之印表機的互動順序圖表:

顯示 ws-print v1.2 支援的用戶端列印機互動,以及後續的印表機描述和設定查詢的時序圖。

如果印表機支援 WS-Print v1.2,則為了回應來自用戶端的 GetPrinterElements(wprt:PrinterDescription) 查詢,列印機會傳回資訊以指出它確實如此。

此外,印表機應該傳回 wprt12:SupportsWSPrintV12,以回應 GetPrinterElements(wprt:PrinterDescription) 呼叫。 之後,用戶端可以呼叫 SetPrinterElements 作業,以在 WS-Print 裝置支援的架構中設定一或多個數據元素。

印表機確認它支援 WS-Print v1.2 之後,用戶端會傳送 GetPrinterElements(wprt12:DriverConfiguration) 查詢,而列印機會以要求的驅動程式組態信息回應。

命名空間

WS-Print v1.1 命名空間

Namespace:<https://schemas.microsoft.com/windows/2010/06/wdp/printv11>XML Namespace定義: xmlns:wprt12="<https://schemas.microsoft.com/windows/2012/10/wdp/printV12>"

WS-Print v1.2 命名空間

Namespace:<https://schemas.microsoft.com/windows/2012/10/wdp/printV12>XML Namespace定義: xmlns:wprt11="<https://schemas.microsoft.com/windows/2010/06/wdp/printv11>"

指定 WS-Print 1.1 支援

支援 WS-Print 1.1 元素的印表機必須更新其 PrinterDescription,以包含 wprt11:SupportsWSPrintv11。 如果未指定 wprt11:SupportsWSPrintv11 並設定為 true,則 WSDMon 將不會從印表機要求任何 WS-Print 1.1 元素。

支援 WS-Print v1.1 的列印裝置必須在其 PrinterDescription 中包含下列內容,Windows 才能查詢該命名空間中的任何其他元素。

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

下列 XML 代碼段衍生自 WSD 列印服務規格 v1.0,並顯示上一節內容的適當使用方式。

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

下列 XML 代碼段顯示支援 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"/>

指定 WS-Print 1.2 支援

支援 WS-Print 1.2 元素的印表機必須更新其 PrinterDescription,以包含 wprtV12:SupportsWSPrintV12。 如果未指定 wprtV12:SupportsWSPrintV12,並將 設定為 true,則 WSDMon 將不會從印表機要求任何 WS-Print 1.2 元素。

支援 WS-Print v1.2 的列印裝置必須在其 PrinterDescription 中包含下列內容,Windows 才能查詢該命名空間中的任何其他元素。

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

下列 XML 代碼段衍生自 WSD 列印服務規格 v1.2,並顯示上一節內容的適當使用方式。

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

下列三節中的架構範例示範如何使用 WS-Print V1.1 引進的一些新元素。 如需 WS-Print V1.1 命名空間引進之所有元素的詳細資訊,請參閱下方下載一節所列 WS-Print v1.0 – v1.2 的支援檔案。

增強的驅動程式組態

此架構提供此裝置的裝置特定 GPD 或 PPD 組態檔。

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

裝置型號標識碼

下列架構描述裝置的 ModelID,並用於裝置元數據擷取。 如需 ModelID 的詳細資訊,請參閱 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>

筆跡/Toner 色彩表示值

下列架構會擷取 RGB 三重,代表特定筆跡或色調類型的色彩。 應該針對任何筆跡或色調消費性產品指定此值,以便讓應用程式 UI 中顯示較佳的色彩表示法。

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

如本主題稍早所述,在 WS-Print v1.2 一節中,WS-Print V1.2 命名空間引進了下列新作業。

SetPrinterElements

SetPrinterElements 作業是新的,可讓用戶端在印表機上設定架構元素的值。 SetPrinterElements 作業有八個要求元素和四個響應元素。 要求和回應元素可讓用戶端精確控制與 WS-Print 裝置架構連線的數據插入和擷取。

例如,ElementPath 數據元素(SetPrinterElements 作業的一部分),是 XPath 字串,代表要設定之 Data Element 的 Printer 架構內的位置。

如需 SetPrinterElements 作業的詳細資訊,請參閱下列下載一節所列 WS-Print v1.0 – v1.2 的支援檔案。

下載

WS-Print v1.0 – v1.2 的規格和支持檔案

檔案:列印裝置定義 V1.0 for Web Services on DevicesDescription: 2.64 MB zip 檔案,其中包含 Microsoft Word 文件和支援檔案;2013年9月16日

規格和支援檔案

檔案:針對裝置上的 Web 服務列印裝置定義 V1.0 描述:76 KB 的自我擷取檔案,其中包含Microsoft Word 檔和支援檔案;2007年1月29日

檔案:掃描裝置上 Web 服務的服務定義 V1.0 描述:(1.5 MB zip 檔案,包含Microsoft Word 檔及支援檔案:2012 年 2 月 9 日)

檔案:掃描裝置定義 V1.0 上的裝置服務描述:(76 KB 自我解壓縮檔案,包含 Microsoft Word 檔及支援檔案;2007 年 1 月 29 日)

V4 印表機驅動程式連線能力