Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices...

31
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

Transcript of Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices...

Page 1: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 2: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 3: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 4: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 5: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 6: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 7: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 8: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 9: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 10: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 11: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 12: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 13: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 14: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 15: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 16: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 17: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 18: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 19: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 20: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 21: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 22: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 23: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 24: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 25: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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

Page 26: Introductiondownload.microsoft.com/download/6/0/D/60DBFBC8-E2A8-4F41... · Web viewFor devices where the mechanics of the duplexer require that the back side of a duplexed sheet of

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