Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices...
Transcript of Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices...
Windows 10 Mobile Insider Preview Printing Implementation Guide
Developing printers that support Windows 10
Mobile Insider Preview
April 2015
© 2015 Microsoft. All rights reserved. 1
Windows 10 Mobile Insider Preview Printing Implementation Guide
Copyright
This document is provided "as-is." Information and views expressed in this document, including URL and other Internet Web site references, may change without notice.
Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred.
This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes.
© 2015 Microsoft. All rights reserved.
Please refer to Microsoft Trademarks for a list of trademarked products.
Portions of this software may be based on NCSA Mosaic. NCSA Mosaic was developed by the National Center for Supercomputing Applications at the University of Illinois at Urbana-Champaign. Distributed under a licensing agreement with Spyglass, Inc.
May contain security software licensed from RSA Data Security, Inc.
UPnP™ is a certification mark of the UPnP™ Implementers Corporation.
© 2015 Microsoft. All rights reserved. 2
Windows 10 Mobile Insider Preview Printing Implementation Guide
Bluetooth® is a trademark owned by Bluetooth SIG, Inc., USA and licensed to Microsoft Corporation.
Intel is a registered trademark of Intel Corporation.
Itanium is a registered trademark of Intel Corporation.
All other trademarks are property of their respective owners.
© 2015 Microsoft. All rights reserved. 3
Windows 10 Mobile Insider Preview Printing Implementation Guide
Contents1 Introduction..........................................................................................................52 Page Description Language..................................................................................5
2.1 PWG Raster....................................................................................................52.1.1 Page Header Values.................................................................................52.1.2 Host Feature Processing........................................................................14
2.2 OpenXPS......................................................................................................162.3 MS XPS.........................................................................................................162.4 PCLm............................................................................................................17
3 Device Communication Protocol........................................................................173.1 Device Profile for Web Services...................................................................173.2 WS-Discovery...............................................................................................173.3 WS-Print v1.x...............................................................................................18
3.3.1 Print Job Configuration...........................................................................183.3.2 Status, Events and Cancellation............................................................18
3.4 WS-Print v2.0...............................................................................................193.4.1 Behavior changes for WS-Print v2.0 devices.........................................19
4 Configuration Formats........................................................................................194.1 PrintSchema.................................................................................................194.2 PrintDeviceCapabilities................................................................................194.3 PrintCapabilities...........................................................................................194.4 PrintTicket....................................................................................................204.5 Localized Resources.....................................................................................20
5 Conformance Requirements...............................................................................205.1 Windows 10 Mobile compatibility table printers..........................................205.2 Windows 10 Mobile compatible printers......................................................21
5.2.1 Discovery...............................................................................................215.2.2 WS-Print requirements...........................................................................215.2.3 PWG Raster............................................................................................215.2.4 OpenXPS or MS XPS...............................................................................215.2.5 PCLm.....................................................................................................22
5.3 Windows 10 Mobile printers.........................................................................225.3.1 Discovery...............................................................................................225.3.2 WS-Print requirements...........................................................................22
© 2015 Microsoft. All rights reserved. 4
Windows 10 Mobile Insider Preview Printing Implementation Guide
5.3.3 PWG Raster............................................................................................235.3.4 OpenXPS or MS XPS...............................................................................245.3.5 PCLm.....................................................................................................245.3.6 PrintDeviceCapabilities..........................................................................24
5.4 V4 Print Drivers............................................................................................256 Implementation Notes........................................................................................25Appendix: MIME Type Reference..............................................................................25
© 2015 Microsoft. All rights reserved. 5
Windows 10 Mobile Insider Preview Printing Implementation Guide
1 IntroductionThis specification describes the page description Language, protocol, and configuration formats which will be used to support printing on Windows Phone.
2 Page Description LanguagePrinters which are designed for Windows Phone must implement one of either the PWG Raster [PWG 5102.4-2012] or OpenXPS [ECMA-388] page description languages (PDLs). As OpenXPS is a vector based format, printers which have sufficient memory to consume OpenXPS SHOULD do so.
2.1 PWG RasterThis section discusses how PWG Raster will be implemented in Windows Phone. If not specified, the implementation is to be determined. 2.1.1 Page Header Values2.1.1.1 MediaColorThis value will be initialized to the empty string, indicating that the default media color is to be used.2.1.1.2 MediaTypeThis value will be initialized using the mapping table below. For vendor-defined values, the non-namespaced keyword name will be used directly. For example: “ns0000:MyMediaType” will be listed as “MyMediaType”.
PrintSchema PWG Media Type
psk:AutoSelect auto
psk:Archival stationery-archival
psk:BackPrintFilm back-print-film
psk:Bond stationery-bond
psk:CardStock cardstock
psk:Continuous continuous
psk:EnvelopePlain envelope-plain
psk:EnvelopeWindow envelope-window
psk:Fabric fabric
psk:HighResolution photographic
psk:Label labels
psk:MultiLayerForm multi-layer
© 2015 Microsoft. All rights reserved. 6
Windows 10 Mobile Insider Preview Printing Implementation Guide
psk:MultiPartForm multi-part-form
psk:Photographic photographic
psk:PhotographicFilm photographic-film
psk:PhotographicGlossy photographic-glossy
psk:PhotographicHighGloss
photographic-high-gloss
psk:PhotographicMatte photographic-matte
psk:PhotographicSatin photographic-satin
psk:PhotographicSemiGloss
photographic-semi-gloss
psk:Plain stationery
psk:Screen screen
psk:ScreenPaged screen-paged
psk:Stationery stationery-preprinted
psk:TabStockFull tab-stock
psk:TabStockPreCut tab-stock
psk:Transparency transparency
psk:TShirtTransfer transfer
psk:None none
2.1.1.3 PrintContentOptimizeThis value will be specified as “text-and-graphics”.2.1.1.4 CutMediaThis value will be set to 0, indicating that media should never be cut. 2.1.1.5 DuplexThis field will be set to the following values, depending on the user's intent.
Value Corresponding PrintTicket value
0 psk:OneSided
1 psk:TwoSidedShortEdge or psk:TwoSidedLongEdge
© 2015 Microsoft. All rights reserved. 7
Windows 10 Mobile Insider Preview Printing Implementation Guide
2.1.1.6 HwResolutionThis field will be set according to the PWG Raster specification, depending on the user intent, and supported resolutions of the printer. 2.1.1.7 InsertSheetInsertSheet will be set according to the PWG Raster specification, depending on the user intent. In general, this will be used to force front side on a multiple copy duplex job. Printers which support duplex MUST support this field. 2.1.1.8 JogThis field will be set to 0, indicating that we will not jog content in the output bin. 2.1.1.9 LeadingEdgeThis field will be set according to the PWG Raster specification, depending on the configuration of the user’s selected input bin.
Value Direction
0 Short-edge first
1 Long-edge first
2.1.1.10 MediaPositionThis field will be set according to the PWG Raster specification, depending on the identity of the user’s selected input bin. If the selected input bin is not shown in the mapping below, this value will be set to 0.
Value Name PrintSchemaKeyword
0 Auto psk:AutoSelect
1 Main psk:AutoSheetFeederpsk12:Main
2 Alternate psk:Cassettepsk12:Alternate
3 LargeCapacity psk12:LargeCapacity
4 Manual psk:Manual
5 Envelope psk12:Envelope
6 Disc psk12:Disc
7 Photo psk12:Photo
8 Hagaki psk12:Hagaki
© 2015 Microsoft. All rights reserved. 8
Windows 10 Mobile Insider Preview Printing Implementation Guide
9 MainRoll psk12:MainRoll
10 AlternateRoll psk12:AlternateRoll
11 Top psk12:Top
12 Middle psk12:Middle
13 Bottom psk12:Bottom
14 Side psk12:Side
15 Left psk12:Left
16 Right psk12:Right
17 Center psk12:Center
18 Rear psk12:Rear
19 ByPassTray psk12:ByPassTray
20 Tray1 psk12:Tray1
21 Tray2 psk12:Tray2
22 Tray3 psk12:Tray3
23 Tray4 psk12:Tray4
24 Tray5 psk12:Tray5
25 Tray6 psk12:Tray6
26 Tray7 psk12:Tray7
27 Tray8 psk12:Tray8
28 Tray9 psk12:Tray9
29 Tray10 psk12:Tray10
30 Tray11 psk12:Tray11
31 Tray12 psk12:Tray12
32 Tray13 psk12:Tray13
33 Tray14 psk12:Tray14
34 Tray15 psk12:Tray15
35 Tray16 psk12:Tray16
36 Tray17 psk12:Tray17
© 2015 Microsoft. All rights reserved. 9
Windows 10 Mobile Insider Preview Printing Implementation Guide
37 Tray18 psk12:Tray18
38 Tray19 psk12:Tray19
39 Tray20 psk12:Tray20
40 Roll1 psk12:Roll1
41 Roll2 psk12:Roll2
42 Roll3 psk12:Roll3
43 Roll4 psk12:Roll4
44 Roll5 psk12:Roll5
45 Roll6 psk12:Roll6
46 Roll7 psk12:Roll7
47 Roll8 psk12:Roll8
48 Roll9 psk12:Roll9
49 Roll10 psk12:Roll10
2.1.1.11 MediaWeightMetricThis field will be set to 0, indicating the default media weight. 2.1.1.12 NumCopiesThis field is always set to 0 on Windows. For software copies, Windows will send a copy of the page each time it is required. For hardware copies, Windows will send the pages in order, but the device will need to determine whether the job should be collated/uncollated and the number of copies based on the contents of the PrintTicket. 2.1.1.13 OrientationThis field will be set according to the PWG Raster specification, depending on the user’s selected job orientation.
Value Name PrintSchema keyword
0 Portrait psk:Portrait
1 Landscape psk:Landscape
2 ReversePortrait psk:ReversePortrait
3 ReverseLandscape psk:ReverseLandscape
2.1.1.14 PageSizeThis field will be specified according to the PWG Raster specification.
© 2015 Microsoft. All rights reserved. 10
Windows 10 Mobile Insider Preview Printing Implementation Guide
2.1.1.15 TumbleThis field will be specified according to the PWG Raster specification, depending on the user’s selected duplex type. 2.1.1.16 WidthThis field will be specified according to the PWG Raster specification.2.1.1.17 HeightThis field will be specified according to the PWG Raster specification. 2.1.1.18 BitsPerColorThis field will be specified according to the PWG Raster specification. 2.1.1.19 BitsPerPixelThis field will be specified according to the PWG Raster specification. 2.1.1.20 BytesPerLineThis field will be specified according to the PWG Raster specification. 2.1.1.21 ColorOrderThis field will be specified according to the PWG Raster specification. 2.1.1.22 ColorSpaceThis field will be specified according to the PWG Raster specification. 2.1.1.23 NumColorsThis field will be specified according to the PWG Raster specification. 2.1.1.24 TotalPageCountThis field will be set to 0, per the PWG Raster specification, indicating that the total page count is unknown. 2.1.1.25 CrossFeedTransformCrossFeedTransform will always be set to 1. 2.1.1.26 FeedTransformFeedTransform will always be set to 1. 2.1.1.27 ImageBoxLeftThis field will be set to 0, indicating that the image box starts at the left-most place on the page. 2.1.1.28 ImageBoxTopThis field will be set to 0, indicating that the image box starts at the top-most place on the page. 2.1.1.29 ImageBoxRightThis field will be set to the max width of the media type which was specified, indicating that the image provided is full bleed. 2.1.1.30 ImageBoxBottomThis field will be set to the max height of the media type which was specified, indicating that the image provided is full bleed.
© 2015 Microsoft. All rights reserved. 11
Windows 10 Mobile Insider Preview Printing Implementation Guide
2.1.1.31 AlternatePrimaryThis field will be set to the appropriate color value for black, indicating that no alternate primary color is supported. 2.1.1.32 PrintQualityThis field will be set to 0, indicating the default print quality. 2.1.1.33 VendorIdentifierDepending on the configuration of the device, this field will be set to one of the following:
Value Description
0 Used if the device does not indicate that it supports any EmbeddedConfigurationFormatEntry values, or it indicates only application/vnd.ms-pwg-raster-empty in the PrintDeviceCapabilities file.
0x045E
Used if the device indicates that it supports application/vnd.ms-pwg-raster-1 in the EmbeddedConfigurationFormatEntry values of the PrintDeviceCapabilities file.
2.1.1.34 VendorLengthThis field will be specified according to the PWG Raster specification. If the device does not indicate support for application/vnd.ms-pwg-raster-1, then the VendorLength will be 0, indicating that the VendorData section is empty. 2.1.1.35 VendorDataIf the device indicates that it supports application/vnd.ms-pwg-raster-1, then the VendorData section will follow the following layout. All numbers are encoded in Big Endian (network byte order). Otherwise, it will be empty.
Name Type Length in bytes
VendorDataType String 40
VendorDataVersion PositiveInteger 4
Flags Byte[] 4
2.1.1.35.1 VendorDataTypeVendorDataType will be set to "application/vnd.ms-pwg-raster-1". Consumers should always check to ensure this is the expected value before parsing further. 2.1.1.35.2 VendorDataVersionVendorDataVersion will be set to 1. 2.1.1.35.3 FlagsThe flags field is defined as a bitmask of 4 bytes.
Name Description Offset (in bits from most significant bit)
© 2015 Microsoft. All rights reserved. 12
Windows 10 Mobile Insider Preview Printing Implementation Guide
LastPage This indicates that the current page will be the last one in the job.
0
NextPageIsNewCopy This indicates that the next page will be part of a new copy of the job. Finishing features like stapling should be applied prior to the next page.
1
NextPageIsNewConfig This indicates that the next page has a new orientation, paper size, media type, or paper source.
2
OriginalPageOrientationWasPortrait This indicates that the page was originally in Portrait orientation.
3
OriginalPageOrientationWasLandscape This indicates that the page was originally in the Landscape orientation.
4
OriginalDuplexTypeTwoSidedShortEdge This indicates that the job was duplexed using TwoSidedShortEdge.
5
OriginalDuplexTypeTwoSidedLongEdge This indicates that the job was duplexed using TwoSidedLongEdge.
6
Reserved These bits are reserved for later use.
7-31
2.1.1.36 RenderingIntentThis field will be specified as “auto”.2.1.1.37 PageSizeNameThis field will be specified using the PWG 5101.1 standard for Media Standardized Names. Unless otherwise specified, all media names will be based on PWG 5101.1 Section 5 Media Size Self-Describing Names.
© 2015 Microsoft. All rights reserved. 13
Windows 10 Mobile Insider Preview Printing Implementation Guide
2.1.2 Host Feature ProcessingWindows will support host feature processing of many features when printing to PWG Raster printers. This section describes the default behaviors for these features. 2.1.2.1 Color SpaceWindows will support the following PWG Raster Document Types, as specified in Table 12 of PWG 5102.4.
Keyword BitsPerColor BitsPerPixel ColorSpace NumColors
Sgray_1 1 1 18 1
Sgray_8 8 8 18 1
Srgb_8 8 24 19 3
Cmyk_8 8 32 6 4
Sgray_16 16 16 18 1
Srgb_16 16 48 19 3
Cmyk_16 16 64 6 4
2.1.2.2 Multiple CopiesBy default, Windows will support host processing of the psk:JobCopiesAllDocuments, and psk:DocumentCopiesAllPages Parameters. The psk:PageCopies option is not supported. Printers can opt out of host processing of these Parameters by marking the ParameterDef in their PrintDeviceCapabilities file with the attribute psf2:deviceProcessed=”true”. Windows will process each of these exclusively on the client, by adding additional pages to the document. If the job’s PrintTicket has set the either the psk:JobCollateAllDocuments or psk:DocumentCollate feature to psk:Collated, then the copies will be generated as a collated document, with the pages following the order 1, 2, 3, N, 1, 2, 3, N…. Otherwise, Windows will generate the copies as 1, 1, 2, 2, 3, 3, N, N…. On the last page of a copy, if the device supports the Microsoft PWG Raster VendorData section, Windows will set the NextPageIsNewCopy flag. 2.1.2.3 OrientationBy default, Windows will support host processing of the psk:PageOrientation feature and rotate all content which is set as psk:Landscape to psk:Portrait. After rotating this content, the PWG Raster page header’s Orientation field will be set to Portrait. Additionally, Windows will orient all PWG Raster content according to the psk:FeedDirection of the selected JobInputBin, DocumentInputBin or PageInputBin, unless the selected psk:PageMediaSize specifies the psf2:feedDirectionOverride parameter.
© 2015 Microsoft. All rights reserved. 14
Windows 10 Mobile Insider Preview Printing Implementation Guide
Additionally, if the device supports the Microsoft PWG Raster VendorData section, Windows will set the OriginalPageOrientationWasPortrait and the OriginalPageOrientationWasLandscape flags appropriately. Devices can opt-out of host processing of psk:PageOrientation behavior by marking the Options of the psk:PageOrientation Feature in their PrintDeviceCapabilities file with the attribute psf2:deviceProcessed=”true”.2.1.2.4 DuplexWindows will support both psk:TwoSidedShortEdge and psk:TwoSidedLongEdge duplexing modes. While the duplex operation must be handled by the printer (and manual duplexing is not supported), Windows will transform the content so that the device does not need to do so. For devices which support the Microsoft PWG Raster VendorData section, Windows will set the OriginalDuplexTypeTwoSidedShortEdge or OriginalDuplexTypeTwoSidedLongEdge flags appropriately.2.1.2.4.1Force front sideOn multiple copy, duplexed jobs which have an odd number of logical sheets, Windows will use the PWG Raster page header’s InsertSheet value to ensure that the job is output on the front side of a new sheet. Devices MUST support the InsertSheet command. 2.1.2.4.2Tumble back sideFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of paper is tumbled in order to ensure the proper orientation, Windows will perform the tumble operation. Devices must opt-in to receive tumble behavior using the PrintDeviceCapabilities keyword psf2:PwgRasterBacksideTumble. 2.1.2.5 Page orderFor devices where the PrintTicket indicates that the selected psk:JobOutputBin, psk:DocumentOutputBin or psk:PageOutputBin has set a psk:FeedFace of psk:FaceUp, Windows will automatically reverse the page order of the device. If no output bin is specified, then Windows will use the standard page order. If the PrintTicket additionally indicates that the job is to be duplexed (psk:JobDuplexAllDocumentsContiguously or psk:DocumentDuplex set to psk:TwoSidedShortEdge or psk:TwoSidedLongEdge), the page order will be set according to the psf2:DuplexPageOrder element in the psf2:DocumentFormatOptions element, regardless of the value of the Output bin's psk:FeedFace. The table below illustrates the page order depending on the various options which affect it on an example 3 page document with 2 software copies being generated. Note, only collated copies are currently supported.
Collate
Duplex
OutputBin FeedFace
DuplexPageOrder
PwgRasterBacksideTumble
T indicates tumbled pageIS indicates InsertSheet flag specified, meaning insert sheet
© 2015 Microsoft. All rights reserved. 15
Windows 10 Mobile Insider Preview Printing Implementation Guide
before printing
On On - Standard True 1 2T 3 1IS 2T 3
- False 1 2 3 1IS 2 3
- Reverse True 3IS 2T 1 3IS 2T 1
- False 3IS 2 1 3IS 2 3
- ReverseOddFirst True 3 1IS 2T 3 1IS 2T
- False 3 1IS 2 3 1IS 2
Off FaceUp - - 3 2 1 3 2 1
FaceDown - - 1 2 3 1 2 3
2.2 OpenXPSOpenXPS content will be produced according to ECMA-388. Additionally, the producer MAY embed a PrintSchema PrintTicket file at the Job, Document, and Page levels. Windows will not perform any host side processing of features like orientation or multiple copies for OpenXPS printers.
2.3 MS XPSMS XPS content will be produced according to the Microsoft XML Paper Specification 1.0. Devices which have been described via the Windows 10 Mobile compatability table which indicate support for MS XPS should expect to receive MS XPS. Additionally, the producer MAY embed a PrintSchema PrintTicket file at the Job, Document, and Page levels. Windows will not perform any host side processing of features like orientation or multiple copies for MS XPS printers.
2.4 PCLmPCLm content will be produced according to the Wi-Fi Direct Services Print Technical Specification v1.0. Note:
As there is no embedded configuration information supported in the PCLm format, devices may be limited in some of the features they can support.
The Wi-Fi Alliance standard requires PCLm devices support 600DPI, but for performance reasons, Windows will produce 300DPI only.
Windows will perform host side processing of multiple copies for PCLm.
© 2015 Microsoft. All rights reserved. 16
Windows 10 Mobile Insider Preview Printing Implementation Guide
3 Device Communication ProtocolDevice communication for Windows Phone connected printers will take place using the WS-Print protocol.
3.1 Device Profile for Web ServicesDevices will continue to connect using the Device Profile for Web Services v.1x, however, devices SHOULD implement the Device Profile for Web Services Location Extension in order to improve discovery relevance.
3.2 WS-DiscoveryDevices which support Windows 10 Mobile Printing MUST add the "MobilePrinter" category to their WS-Discovery ThisModel response, as shown in the below sample.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsdisco="http://schemas.xmlsoap.org/ws/2005/04/discovery" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsd="http://schemas.xmlsoap.org/ws/2006/02/devprof" xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/10">
<soap:Header> <!-- Place SOAP header information here.--> </soap:Header>
<soap:Body> <wsx:Metadata> <wsx:MetadataSection Dialect="http://schemas.xmlsoap.org/ws/2005/05/devprof/ThisDevice"> <wsd:ThisDevice> <!-- Place ThisDevice metadata here.--> </wsd:ThisDevice> </wsx:MetadataSection>
<wsx:MetadataSection Dialect="http://schemas.xmlsoap.org/ws/2005/05/devprof/ThisModel"> <wsd:ThisModel> <!-- Place ThisModel metadata here.--> <pnpx:DeviceCategory> <!-- This device is in the Printers category --> Printers Scanners MobilePrinter </pnpx:DeviceCategory> </wsd:ThisModel> </wsx:MetadataSection>
<wsx:MetadataSection Dialect="http://schemas.xmlsoap.org/ws/2005/05/devprof/Relationship"> <wsd:Relationship Type="http://schemas.xmlsoap.org/ws/2005/05/devprof/host">
<wsd:Hosted> <!-- Place Hosted metadata for the first service here.--> <pnpx:HardwareId> <!-- Place the Hardware ID for the first service here.--> PnPX_SampleService1_HWID </pnpx:HardwareId> <pnpx:CompatibleId> <!-- Place the Compatible ID for the first service here.--> PnPX_SampleService1_CPID </pnpx:CompatibleId> </wsd:Hosted>
© 2015 Microsoft. All rights reserved. 17
Windows 10 Mobile Insider Preview Printing Implementation Guide
</wsd:Relationship> </wsx:MetadataSection>
</wsx:Metadata> </soap:Body></soap:Envelope>
The following table provides additional information about the MobilePrinter category keyword.
Constant/Value Description
PNPX_DEVICECATEGORY_PRINTER_MOBILEL"MobilePrinter"
MobilePrinter categoryKeywords: Printer
For more information on how to add the device category to the WS-Discovery metadata exchange, please see the PnP-X specification.
3.3 WS-Print v1.xDevices which have been described as part of the Windows 10 Mobile Printing Compatibility Table may connect using WS-Print v1.x. Devices connected by WS-Print v1.x should expect the following. 3.3.1 Print Job ConfigurationUsers will be presented with a minimal set of options including paper size and number of copies when connected using a WS-Print v1.x protocol. Finishing options will not be available. Selected options will be embedded into the PDL; OXPS and MS-XPS documents will have a PrintSchema PrintTicket embedded at the Job-level and PWG Raster documents will use the per-page header only for configuration. PCLm will not have any configuration information available in the PDL. 3.3.2 Status, Events and CancellationStatus, events and print job cancellation will work normally using the existing operations.
3.4 WS-Print v2.0WS-Print v2.0 devices will support additional configuration options and scenarios. More information on WS-Print v2.0 is available in the Print Service Definition Version 2.0 for Web Services on Devices specification. 3.4.1 Behavior changes for WS-Print v2.0 devices3.4.1.1 wprt:Format in SendDocument or AddDocument operationsWindows will set the wprt:Format field according to the following mapping table:
PDL wprt:Format MIME type sent
PWG Raster image/pwg-raster
OpenXPS application/oxps
© 2015 Microsoft. All rights reserved. 18
Windows 10 Mobile Insider Preview Printing Implementation Guide
MS XPS application/vnd.ms-xpsdocument
PCLm application/pclm
Other PDL – defined DriverRender OutputFormat in v4 print driver
Will include value from OutputFormat directive in driver's manifest file
Other PDL application/octet-stream
4 Configuration FormatsThis section defines the configuration formats that will be used with Windows Phone printing.
4.1 PrintSchemaWindows will continue to use the Print Schema Framework to handle configuration. The Print Schema Specification v2.0 describes the extended keyword set that is available, including the new PrintDeviceCapabilities document format which is used as a data file for the printer. For more information on PrintSchema v2.0, including PrintDeviceCapabilities, please see Print Schema Specification v2.0.
4.2 PrintDeviceCapabilitiesPrintDeviceCapabilities is a new format we are investigating which uses the PrintSchema keywords, but also allows us to describe constraints, and static options which affect PDL generation. Windows will use this file, plus a language-specific resource file to generate a PrintSchema PrintCapabilities document on the client, and to validate constraints. This will be the only configuration format we consume on Windows Phone.
4.3 PrintCapabilitiesThe operating system will produce PrintCapabilities out of the PrintDeviceCapabilities document.
4.4 PrintTicketThe operating system will produce PrintTicket documents based on the information in the PrintCapabilities document. Merge, validate and DEVMODE conversion operations will be handled on the client.
4.5 Localized Resources PrintSchema-specified keywords are localized by the operating system. All vendor-specified keywords MUST provide a display name in a per-locale *.resx file. Localized strings are defined using a derivative of the fully qualified keyword name from the PrintDeviceCapabilities file. The name attribute of every name element is defined as the namespace url, without the protocol (eg “http://”), followed by a forward slash “/” and then the keyword name.
<?xml version="1.0" encoding="utf-8"?>
© 2015 Microsoft. All rights reserved. 19
Windows 10 Mobile Insider Preview Printing Implementation Guide
<root xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <data name="schemas.contoso.com/windows/2014/01/printing/printschemakeywords/Main"> <value>Main paper tray</value> </data> <data name="schemas.contoso.com/windows/2014/01/printing/printschemakeywords/ResOption1"> <value>600 x 600 dots per inch</value> </data> <data name="schemas.contoso.com/windows/2014/01/printing/printschemakeywords/ResOption2"> <value>1200 x 1200 dots per inch</value> </data> <data name="schemas.contoso.com/windows/2014/01/printing/printschemakeywords/Secondary"> <value>Secondary paper tray</value> </data> <data name="schemas.contoso.com/windows/2014/01/printing/printschemakeywords/SuperPaper"> <value>Contoso GoodPaper</value></data></root>
5 Conformance RequirementsPrinters are supported on Windows 10 Mobile only when one of the following sets of requirements are met.
5.1 Windows 10 Mobile compatibility table printersRequirement
Printer describes a HardwareID or a CompatibleID which is on the Compatibility table.
Printer supports one or more of the following PDLs and accepts this PDL over WS-Print v1.x. OpenXPS MS XPS PWG Raster PCLm
Printer has a network interface and implements WS-Print v1.x as described by the Windows Hardware Lab Kit guidelines.
Printer accepts PDL formatted for either Letter or A4 media sizes.
Printer supports 300dpi x 300dpi.
© 2015 Microsoft. All rights reserved. 20
Windows 10 Mobile Insider Preview Printing Implementation Guide
5.2 Windows 10 Mobile compatible printersThis set of requirements describes the behavior that is necessary for printers which support Windows 10 Mobile, but are not described in the Windows 10 Mobile Compatibility Table, and do not support WS-Print v2.0.
Requirement
5.2.1 DiscoveryPrinters must implement the "MobilePrinter" category definition in their WS-Discovery message's PnP-X DeviceCategory element.
5.2.2 WS-Print requirementsPrinter's WS-Print v1.x implementation describes one or more of the following MIME types in the wprt:PrinterCapabilities element's wprt:Format element.
application/oxps application/vnd.ms-xpsdocument image/pwg-raster application/pclm
5.2.3 PWG RasterIf the printer implements PWG Raster, it must support 300 DPI output.
If the printer supports PWG Raster, it must support receiving data encoded in either Letter or A4 formats.
If the printer supports PWG Raster, it must support srgb_8 encoded color.
5.2.4 OpenXPS or MS XPSIf the printer implements OpenXPS or MS XPS support, it must process PrintTickets in the following order of precedence (most authoritative -> least authoritative):
1. Page-level PrintTicket embedded in document2. Document-level PrintTicket embedded in document3. Job-level PrintTicket embedded in document
If the printer implements OpenXPS support, it must follow all rules described in ECMA-388.
If the printer implements MS XPS support, it must follow all rules described in the Microsoft XML Paper Specification 1.0.
5.2.5 PCLmIf the printer implements PCLm, it must support the default settings defined in section 4.2.9 of the Wi-Fi Direct Services Print Technical Specification v1.0:
Attribute Default settingStripHeight 16Media LetterResolution 600
© 2015 Microsoft. All rights reserved. 21
Windows 10 Mobile Insider Preview Printing Implementation Guide
Duplex SimplexColorSpace sRGBCopies 1Finishings NoneFit-to-page FalseOrientation PortraitPrintQuality Normal
If the printer implements PCLm, it must support receiving content at 300DPI.
If the printer implements PCLm, it must support receiving content compressed using flate, run-length encoding or DCTDecode.
5.3 Windows 10 Mobile printersThis category describes printers which support WS-Print v2.0 in addition to supporting the MobilePrinter category and a supported PDL.
Requirement
5.3.1 DiscoveryPrinters must implement the "MobilePrinter" category definition in their WS-Discovery message's PnP-X DeviceCategory element.
5.3.2 WS-Print requirementsPrinters that implement WS-Print v2.0 must implement WS-Print v2.0 (or newer) according to the guidance in the WDK.
Printer's WS-Print v2.0 implementation describes one or more of the following MIME types in the wprt:PrinterCapabilities element's wprt:Format element.
application/oxps application/vnd.ms-xpsdocument image/pwg-raster application/pclm
Printer's WS-Print v2.0 implementation describes the following MIME type in the wprt:PrinterCapabilities element's wprt20:PrintDeviceCapabilitiesFormats element and supports retrieval of PrintDeviceCapabilities documents in the following format using the GetPrintDeviceCapabilities operation.
application/vnd.ms-PrintDeviceCapabilities+xml
Printer's WS-Print v2.0 implementation describes the following MIME type in the wprt:PrinterCapabilities element's wprt20:PrintJobTicketFormats element and supports CreatePrintJob2 operation using PrintJobTickets in this format.
application/vnd.ms-PrintSchemaTicket+xml
Printer's WS-Print v2.0 implementation describes the following MIME type in the wprt:PrinterCapabilities element's wprt20:PrintDeviceResourceFormats element and supports retrieval of resource files in the following format using the GetPrintDeviceResources operation, or returns the NoLocalizedResources SOAP fault.
© 2015 Microsoft. All rights reserved. 22
Windows 10 Mobile Insider Preview Printing Implementation Guide
application/vnd.ms-resx+xml
Printer's WS-Print v2.0 implementation supports all new Operations described in the WS-Print v2.0 specification:
CreatePrintJob2 PrepareToPrint GetBidiSchemaExtensions GetPrintDeviceResources GetPrintDeviceCapabilities
Printers must process the PrintJobTicket element which is included in the CreatePrintJob2 request.
Printers must describe the PrintDeviceCapabilitiesChangeID element in the wprt:PrinterConfiguration element and create an event if the current PrintDeviceCapabilitiesChangeID changes.
The PrintDeviceCapabilitiesChangeID must be consistent across power cycles of the device unless the state of the printer changes (eg, an installable option is added or removed).
5.3.3 PWG RasterIf the printer implements PWG Raster and duplex, it must support the InsertSheet directive.
If the printer implements PWG Raster, it must consume all color formats and resolutions that it advertises support for in its PrintDeviceCapabilities file.
If the printer supports PWG Raster, it must support all advertised psk:PageMediaSizes from the PrintDeviceCapabilities file when encoded in to the PWG Raster Page Header according to PWG 5101.1's definition of self-describing media names.
If the printer implements PWG Raster, it must support one of the following color formats: Srgb_8 Cmyk_8 Sgray_8
5.3.4 OpenXPS or MS XPSIf the printer implements OpenXPS or MS XPS support, it must process PrintTickets in the following order of precedence (most authoritative -> least authoritative):
4. Page-level PrintTicket embedded in document5. Document-level PrintTicket embedded in document6. CreatePrintJob2 Job-level PrintTicket7. Job-level PrintTicket embedded in document
If the printer implements OpenXPS support, it must follow all rules described in ECMA-388.
If the printer implements MS XPS support, it must follow all rules described in the Microsoft XML Paper Specification 1.0.
5.3.5 PCLmIf the printer implements PCLm, it must support the default settings defined in section 4.2.9 of the Wi-Fi Direct Services Print Technical Specification v1.0:
Attribute Default settingStripHeight 16
© 2015 Microsoft. All rights reserved. 23
Windows 10 Mobile Insider Preview Printing Implementation Guide
Media LetterResolution 600Duplex SimplexColorSpace sRGBCopies 1Finishings NoneFit-to-page FalseOrientation PortraitPrintQuality Normal
If the printer implements PCLm, it must support receiving content at 300DPI.
If the printer implements PCLm, it must support receiving content compressed using flate, run-length encoding or DCTDecode.
5.3.6 PrintDeviceCapabilitiesPrinters must describe their currently available Features, Options, and Parameters in a PrintDeviceCapabilities file.
If any Features, Options or Parameters are conditionally available, depending on the state of an installable option such as a finisher, then these items must only be exposed in the PrintDeviceCapabilities file if the pre-requisite installable option is currently installed.
Printers must describe all supported paper sizes using the psk:PageMediaSize feature in a PrintDeviceCapabilities file.
Printers must describe their supported device resolutions using the psk:PageResolution feature in a PrintDeviceCapabilities file.
Printers must describe at least one input bin using either the psk:JobInputBin, psk:DocumentInputBin, or psk:PageInputBin features.
Printers which support PWG Raster must describe supported color formats using the PwgRasterDocumentTypesSupported elements in their PrintDeviceCapabilities file.
If the printer indicates that is processes an Option or Parameter in hardware using the deviceProcessed="true" attribute, then it MUST handle that Option or Parameter without the participation of the host.
5.4 V4 Print DriversRequirement
If a v4 print driver includes the PWG Raster standard rendering filter, it must use a PrintDeviceCapabilities DataFile.
IF a v4 print driver includes a PrintDeviceCapabilities DataFile, it must be properly defined.
© 2015 Microsoft. All rights reserved. 24
Windows 10 Mobile Insider Preview Printing Implementation Guide
6 Implementation NotesThis section describes a number of known behaviors in the current implementation of mobile printing on Windows client. These behaviors may be changed in subsequent releases.
Windows does not yet consume resource strings from ResX files from WSD or print drivers. This will be addressed in a future release.
PrintDeviceCapabilities files support only the JobPasscodeString, or JobCopiesAllDocuments parameter definitions.
Windows will remap certain standard keywords automatically to a different keyword scope based on the logic defined at http://msdn.microsoft.com/en-us/library/windows/hardware/ff562697(v=vs.85).aspx.
PrintDeviceCapabilities does not support generation of nested features. PrintDeviceCapabilities keyword names must be defined in using characters present in the
ANSI character set. Custom Properties and ScoredProperties will not round-trip to/from DEVMODE PrintDeviceCapabilites requires that all Feature names begin with either “Job”, “Document” or
“Page”. PrintDeviceCapabilities must specify the psk:ResolutionX and psk:ResolutionY ScoredProperties
for each supported resolution. PrintDeviceCapabilities only supports the psk:Landscape and psk:Portrait orientations. PageMediaSize Option names strings are limited to 58 characters or less.
Appendix: MIME Type Reference
Type Description
application/vnd.ms-PrintDeviceCapabilities+xml
Refers to the PrintDeviceCapabilities document format, which is defined in the Print Schema Specification v2.0.
application/vnd.ms-PrintSchemaTicket+xml
Refers to the PrintTicket document format, which is defined in the Print Schema Specifications 1.x and 2.0.
application/vnd.ms-PrintSchemaCapabilities+xml
Refers to the PrintCapabilities document format, which is defined in the Print Schema Specifications 1.x and 2.0.
application/vnd.ms-resx+xml Refers to the resx format which is defined here: http://go.microsoft.com/fwlink/?LinkId=397567.
application/vnd.ms-pwg-raster-1 Refers to the Microsoft defined PWG Raster VendorData section.
application/vnd.ms-pwg-raster-empty
Refers to a PWG Raster VendorData section which is uninitialized.
image/pwg-raster Refers to the PWG Raster format, as defined in PWG 5102.4
application/oxps Refers to the OpenXPS format, as defined in ECMA 388.
application/vnd.ms-xpsdocument Refers to the Microsoft XPS format, as defined in the Microsoft XML Paper Specification 1.0.
application/vnd.ms-gpd Refers to the Generic Printer Description or GPD file format defined here: http://msdn.microsoft.com/en-us/library/windows/hardware/ff551750(v=vs.85).aspx
© 2015 Microsoft. All rights reserved. 25
Windows 10 Mobile Insider Preview Printing Implementation Guide
application/vnd.ms-ppd Refers to the Postscript Printer Description file as by the Adobe PostScript Printer Description File Format specification v4.3. http://partners.adobe.com/public/developer/en/ps/5003.PPD_Spec_v4.3.pdf
application/pclm Refers to the PCLm format, as defined by the Wi-Fi Alliance’s WiFi Direct Services Print Technical Spec.
© 2015 Microsoft. All rights reserved. 26