Веб-службы на устройствах для печати (WS-Print)
Внимание
Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.
Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.
Веб-службы на устройствах для печати (WS-Print) были представлены для предоставления протокола подключения для печати и сканирования периферийных устройств.
Обзор
Технология веб-служб предоставляет общую платформу для описания и предоставления общего доступа к информации. В результате Windows поставляется с набором протоколов для использования и управления службами на подключенных к сети устройствах.
Четыре спецификации веб-служб существуют для печати и сканирования, чтобы помочь производителям устройств воспользоваться улучшенным взаимодействием с клиентами при подключении, установке и использовании устройств с Windows.
WS-Print версии 1.1
Для Windows 8 схема печати веб-служб на устройствах (WSD) была обновлена до версии 1.1. Эта версия схемы (с именем WS-Print версии 1.1) была обновлена для поддержки расширенной конфигурации драйвера, улучшения цветового представления для рукописного и тонера и идентификаторов моделей устройств.
WS-Print версии 1.2
Для Windows 8.1 WS-Print включает все операции и элементы схемы, используемые в WS-Print версии 1.1, но определение службы печати для веб-служб на устройствах обновлено. И результирующий новый веб-службы на устройствах для печати — WS-Print версии 1.2.
В WS-Print версии 1.2 добавлена поддержка нового элемента схемы и добавлена новая операция. Новый элемент схемы "SupportWSPrintV12" используется для идентификации поддержки WS-Print версии 1.2. Новая операция SetPrinterElements позволяет клиенту задать значение элемента схемы на принтере. Например, клиент может задать пользовательский элемент с именем InkHeadAlignmentValue, который принтер будет использовать для перестроения головки струйной струи.
Для удобства спецификации приведены здесь в разделе "Загрузки" в полной автономной форме вместе со связанными языками описания веб-служб (WSDLs) и определениями схемы XML (XSD). Эти четыре веб-службы на устройствах охватываются включенным лицензионным соглашением технической документации, который ссылается на комплект средств разработки драйверов Windows (WDK).
В следующих разделах приведены более подробные сведения о различных аспектах WS-Print.
Схемы последовательностей
На следующих схемах последовательности показано взаимодействие между клиентом и принтером, чтобы определить версию поддерживаемого пространства имен WS-Print, а затем получить расширенные элементы схемы.
Схема последовательности WS-Print версии 1.1
Ниже приведена схема последовательности взаимодействия для принтера, поддерживающего WS-Print версии 1.1:
Если принтер поддерживает WS-Print версии 1.1, то в ответ на запрос GetPrinterElements(wprt:PrinterDescription) от клиента принтер отправляет обратную информацию, чтобы указать, что это делает.
После подтверждения того, что принтер поддерживает WS-Print версии 1.1, клиент отправляет запрос GetPrinterElements(wprt11:DriverConfiguration), а принтер отвечает с запрошенными сведениями о конфигурации драйвера.
Схема последовательности WS-Print версии 1.2
Ниже приведена схема последовательности взаимодействия для принтера, поддерживающего WS-Print версии 1.2:
Если принтер поддерживает WS-Print версии 1.2, то в ответ на запрос GetPrinterElements(wprt:PrinterDescription) от клиента принтер отправляет обратную информацию, чтобы указать, что это делает.
Кроме того, принтер должен возвращать wprt12:SupportsWSPrintV12 в ответ на вызов GetPrinterElements(wprt:PrinterDescription). После этого клиент может вызвать операцию SetPrinterElements, чтобы задать один или несколько элементов данных в схеме, поддерживаемой устройством WS-Print.
После подтверждения того, что принтер поддерживает WS-Print версии 1.2, клиент отправляет запрос GetPrinterElements(wprt12:DriverConfiguration), а принтер отвечает с запрошенными сведениями о конфигурации драйвера.
Пространства имен
Пространство имен WS-Print версии 1.1
Пространство имен: определение пространства имен XML: <https://schemas.microsoft.com/windows/2010/06/wdp/printv11>
xmlns:wprt12="<https://schemas.microsoft.com/windows/2012/10/wdp/printV12>"
Пространство имен WS-Print версии 1.2
Пространство имен: определение пространства имен XML: <https://schemas.microsoft.com/windows/2012/10/wdp/printV12>
xmlns:wprt11="<https://schemas.microsoft.com/windows/2010/06/wdp/printv11>"
Указание поддержки WS-Print 1.1
Принтеры, поддерживающие элементы WS-Print 1.1, должны обновить принтерDescription, чтобы включить wprt11:SupportWSPrintv11. Если wprt11:SupportsWSPrintv11 не указан и задано значение true, WSDMon не будет запрашивать какие-либо элементы WS-Print 1.1 на принтере.
Устройства печати, поддерживающие WS-Print версии 1.1, должны включать в него следующее содержимое, чтобы Windows запрашивала другие элементы в этом пространстве имен.
<soap:Envelope
...
xmlns:wprt11="https://schemas.microsoft.com/windows/2010/06/wdp/printv11">"
...
<wprt11:SupportsWSPrintv11>true</wprt11:SupportsWSPrintv11>
...
Следующий фрагмент XML-кода является производным от спецификации службы печати WSD версии 1.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 версии 1.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, должны обновить принтерDescription, чтобы включить wprtV12:SupportWSPrintV12. Если wprtV12:SupportsWSPrintV12 не указан и задано значение true, WSDMon не будет запрашивать какие-либо элементы WS-Print 1.2 на принтере.
Устройства печати, поддерживающие WS-Print версии 1.2, должны включать в него следующее содержимое, чтобы Windows запрашивала любые другие элементы в этом пространстве имен.
<soap:Envelope
…
xmlns:wprtV12="https://schemas.microsoft.com/windows/2012/10/wdp/printV12">
…
<wprtV12:SupportsWSPrintV12>true</wprtV12:SupportsWSPrintV12>
…
</soap:Envelope>
Следующий фрагмент XML-кода является производным от спецификации службы печати WSD версии 1.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 версии 1.1. Дополнительные сведения обо всех элементах, появившихся в пространстве имен WS-Print версии 1.1, см. в вспомогательных файлах для WS-Print версии 1.0 – версии 1.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>
Значение представления цвета ink/Toner
Следующая схема извлекает rgb-тройник, представляющий цвет для определенного типа рукописного ввода или тонера. Это значение следует указать для любых рукописных или тонерных расходных материалов, чтобы обеспечить лучшее представление цвета, отображаемого в пользовательском интерфейсе приложения.
<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 версии 1.2 впервые появилась следующая новая операция с пространством имен WS-Print V1.2.
SetPrinterElements
Операция SetPrinterElements является новой и позволяет клиенту задать значение элемента схемы на принтере. Операция SetPrinterElements содержит восемь элементов запроса и четыре элемента ответа. Элементы запроса и ответа обеспечивают клиенту точное управление вставкой и извлечением данных в связи с схемой устройства WS-Print.
Например, элемент данных ElementPath (часть операции SetPrinterElements), представляет собой строку XPath, представляющую расположение в схеме принтера элемента data, который нужно задать.
Дополнительные сведения об операции SetPrinterElements см. в вспомогательных файлах для WS-Print версии 1.0 – версии 1.2, перечисленных в разделе "Загрузки" ниже.
Скачиваемые файлы
Спецификации и вспомогательные файлы для WS-Print версии 1.0 — v1.2
Файл: печать определения устройства версии 1.0 для веб-служб на устройствахОписание: zip-файл 2,64 МБ, содержащий документ Microsoft Word и вспомогательные файлы; 16 сентября 2013 г.
Спецификации и вспомогательные файлы
Файл: печать определения устройства версии 1.0 для веб-служб на устройствахОписание: 76 КБ самораспаковывая файл, содержащий документ Microsoft Word и вспомогательный файл; 29 января 2007 г.
Файл: Сканирование определения службы версии 1.0 для веб-служб на устройствахDescription: (zip-файл размером 1,5 МБ, содержащий документ Microsoft Word и вспомогательные файлы; 9 февраля 2012 г.)
Файл: сканирование определения устройства версии 1.0 для веб-служб на устройствахDescription: (76 КБ самораспаковывая файл, содержащий документ Microsoft Word и вспомогательный файл; 29 января 2007 г.)