AprilJune 84, 20132

Working Draft /

The Printer Working Group

Mapping Related Standards to/from PWG PJT v1.0Mapping of MSPS, PPD, and JDF to/from
PWG Print Job Ticket (CLOUDMAP)

Status: Interim Draft

Abstract: This document defines a normative mapping of elements in the Microsoft Print Schema (MSPS), Adobe PostScript Printer Description (PPD), and CIP4 Job Definition Format (JDF) to and from elements in the PWG Job Ticket and Associated Capabilities.

This is a PWG Working Draft. For a definition of a "PWG Working Draft", see:

ftp://ftp.pwg.org/pub/pwg/general/pwg-process30.pdf

This document is available electronically at:

ftp://ftp.pwg.org/pub/pwg/mfd/wd/wd-cloudmap10-20130408.pdf

Copyright © 2013 The Printer Working Group. All rights reserved.

Working Draft – Mapping Related Standards to/from PWG PJT v1.0 (CLOUDMAP)Mapping of MSPS, PPD and JDF to/from PWG PJT

AprilJune 84, 20132

Copyright © 2012 The Printer Working Group. All rights reserved.

This document may be copied and furnished to others, and derivative works that comment on, or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice, this paragraph and the title of the Document as referenced below are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the IEEE-ISTO and the Printer Working Group, a program of the IEEE-ISTO.

Title: Mapping Related Standards to/from PWG PJT v1.0( Mapping of MSPS, PPD, and JDF to/from PWG Print Job Ticket (CLOUDMAP)

The IEEE-ISTO and the Printer Working Group DISCLAIM ANY AND ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED INCLUDING (WITHOUT LIMITATION) ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

The Printer Working Group, a program of the IEEE-ISTO, reserves the right to make changes to the document without further notice. The document may be updated, replaced or made obsolete by other documents at any time.

The IEEE-ISTO takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights.

The IEEE-ISTO invites any interested party to bring to its attention any copyrights, patents, or patent applications, or other proprietary rights which may cover technology that may be required to implement the contents of this document. The IEEE-ISTO and its programs shall not be responsible for identifying patents for which a license may be required by a document and/or IEEE-ISTO Industry Group Standard or for conducting inquiries into the legal validity or scope of those patents that are brought to its attention. Inquiries may be submitted to the IEEE-ISTO by e-mail at: .

The Printer Working Group acknowledges that the IEEE-ISTO (acting itself or through its designees) is, and shall at all times, be the sole entity that may authorize the use of certification marks, trademarks, or other special designations to indicate compliance with these materials.

Use of this document is wholly voluntary. The existence of this document does not imply that there are no other ways to produce, test, measure, purchase, market, or provide other goods and services related to its scope.

About the IEEE-ISTO

The IEEE-ISTO is a not-for-profit corporation offering industry groups an innovative and flexible operational forum and support services. The IEEE-ISTO provides a forum not only to develop standards, but also to facilitate activities that support the implementation and acceptance of standards in the marketplace. The organization is affiliated with the IEEE (http://www.ieee.org/) and the IEEE Standards Association (http://standards.ieee.org/).

For additional information regarding the IEEE-ISTO and its industry programs visit:

http://www.ieee-isto.org.

About the IEEE-ISTO PWG

The Printer Working Group (or PWG) is a Program of the IEEE Industry Standards and Technology Organization (ISTO) with member organizations including printer manufacturers, print server developers, operating system providers, network operating systems providers, network connectivity vendors, and print management application developers. The group is chartered to make printers and the applications and operating systems supporting them work together better. All references to the PWG in this document implicitly mean “The Printer Working Group, a Program of the IEEE ISTO.” In order to meet this objective, the PWG will document the results of their work as open standards that define print related protocols, interfaces, procedures and conventions. Printer manufacturers and vendors of printer related software will benefit from the interoperability provided by voluntary conformance to these standards.

In general, a PWG standard is a specification that is stable, well understood, and is technically competent, has multiple, independent and interoperable implementations with substantial operational experience, and enjoys significant public support.

For additional information regarding the Printer Working Group visit:

http://www.pwg.org

Contact information:

The Printer Working Group

c/o The IEEE Industry Standards and Technology Organization

445 Hoes Lane

Piscataway, NJ 08854

USA

Table of Contents

1. Introduction 6

2. Terminology 6

2.1 Conformance Terminology 6

2.2 Printing Terminology 6

3. Requirements 7

3.1 Rationale for Cloud Print Model and Requirements 7

3.2 Use Cases 8

3.2.1 Print Service Designer 8

3.2.2 Print Device Designer 8

3.3 Out-of-Scope 8

3.4 Design Requirements 9

4. Microsoft Print Schema (MSPS) 10

4.1 Mapping MSPS Attributes to PWG Print Job Ticket Elements 10

4.2 Mapping MSPS State Model to PWG State Model 10

5. Job Definition Format (JDF) 10

5.1 Mapping JDF Attributes to PWG Print Job Ticket Elements 10

5.1.1 Cover 16

5.1.2 CoverType 16

5.1.3 DocIndex 16

5.1.4 DocNames 17

5.1.5 DocumentCompression 17

5.1.6 FileSpec 17

5.1.7 Finishing (Stapling, Stitching, etc.) 17

5.1.8 JobPriority 18

5.1.9 Media 18

5.1.10 MimeType 18

5.1.11 MimeType (w/ Charset) 18

5.1.12 NumberUp 19

5.1.13 Password 19

5.1.14 RunList 19

5.1.15 RunList@Pages 19

5.1.16 RunList@PageCopies 19

5.2 Mapping JDF State Model to PWG Print State Model 20

6. PostScript Print Description (PPD) 21

6.1 Mapping PPD Keywords to PWG Print Job Ticket Elements 21

6.1.1 Job Ticket Keywords 22

6.1.2 Capability and Description Keywords 26

7. Conformance Requirements 29

8. References 29

8.1 Normative References 29

8.2 Informative References 29

9. Authors' Addresses 30

10. Change History 31

10.1 June 4, 2012 31

10.2 April 26, 2012 31

10.3 December 4, 2011 32

10.4 October 5, 2011 32

1. Introduction

This document defines a normative mapping of elements in the Microsoft Print Schema (MSPS), Adobe PostScript Printer Description (PPD), and CIP4 Job Definition Format (JDF) to and from elements in the PWG Print Job Ticket and Associated Capabilities.

2. Terminology

2.1 Conformance Terminology

Capitalized terms, such as MUST, MUST NOT, REQUIRED, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, have special meaning relating to conformance as defined in IETF Key words for use in RFCs to Indicate Requirement Levels[RFC2119].

The term CONDITIONALLY REQUIRED is additionally defined for a conformance requirement that applies to a particular capability or feature.

2.2 Printing Terminology

Normative definitions and semantics of printing terms are imported from IETF Printer MIB v2 [RFC3805], IETF Finisher MIB [RFC3806], and IETF IPP/1.1 [RFC2911].

3. Requirements

3.1 Rationale for Cloud Print Model and Requirements

When printing from a computer, it has always been necessary to understand the characteristics and capabilities of the target printer: accessibility, supported document formats, color capability, duplex capability, etc., and configured defaults. When submitting a print job, it has been necessary to specify (or accept default) values for each of these capabilities. When the connection to the printer was unidirectional and/or the protocol simple, printer capabilities were statically defined in specific drivers, PostScript Printer Description (PPD) [n] files and/or user-entered configuration information. Identification of capabilities to be used for a given job were embedded in the document description format such as Postscript and Printer Control Language (PCL)[i]. As interfaces and protocols improved, capabilities and job information were provided via separate commands using PostScript[i], Printer Job Language (PJL) [i] and now, the Internet Printing Protocol (IPP) [i].

The increased printer complexity and number of capabilities, and the increased use of unfamiliar and remote printers, particularly in mobile and cloud printing environments, has made these legacy approaches unwieldy.

·  Creating, managing, storing, and accessing printer-specific drivers and PPDs is a very large activity, both with regard to time and physical storage

·  Determining printer capabilities when there are a large number of potential targets, when these printers are remote, and/or where there is no direct communication with each printer is not feasible.

·  There are circumstances when embedding the capabilities value selection best implementing user intent in the job description is undesirable, and when a separate command stream to specify job configuration is not possible.

To address these items, two types of data groups have evolved:

1.  a set of elements with value ranges defining printer capabilities (printer capabilities)

2.  a set of element values specifying the capabilities values to be used for a specific job (submitted job ticket.)

Element groups used in this way include PPDs (capabilities definitions also used as job tickets), MSPS conventions (using XML to describe the capabilities of a print device and its configuration for a particular print job.) and JDF Print Tickets (presumably also used as capabilities definition structures).

There are differences in the elements addressed by these different methods and in how they are addressed. To allow a more consistent rendering of information about printer capabilities and about how these capabilities are to be applied to a given job, it is desirable to relate the elements in each method to a common model. The model chosen is the PWG Semantic Model [i], with the Job Ticket and Printer Capabilities elements as described in PWG Print Job Ticket and Associated Capabilities (PWG JT) [n].

Although it would be desirable that the elements groups in the PWG JT be eventually used as the Printer Capabilities Description and Print Job Ticket structures, particularly in Cloud-based printing, it is understood that traditional and popular methods will continue to be used. It is believed that by correlating the various methods being used to a common model, it will enhance the consistency of the information provided by these various methods.

3.2 Use Cases

This document does not define any new elements, structure or protocol; it correlates different sets of elements defined elsewhere. Therefore, end-user scenarios are not applicable. Rather, users of this information will be print service designers and clients that interface with print services seeking to better provide and use the Printer Capabilities and Submitted Job Ticket information.

3.2.1 Print Service Designer

A printer service designer is responsible for interfacing printer devices from several vendors with several remote print services requiring Printer Capabilities and submitting Print Job tickets in various standard but different methods. All of the printers support IPP, and as such can be considered to offer interface fairly compliant with the PWG Semantic Model. The designer needs some consistent guide in mapping the capabilities elements accessible from the printers via IPP to the Printer Capabilities structures needed by MSPS, PPD and JDF methods. Similarly, he needs some guide in translating the Job Ticket information provided via these various methods into IPP attributes.

3.2.2 Print Device Designer

A printer designer has a new, highly capable product that marking wants to advertize as out-of-the box compatible with systems using various structure for Print Capabilities and Job Tickets. The printer does support IPP, and the designer wants to be able to support IPP and the data structures required/supplied by these various other methods from a common internal data base. He needs to be able to correlate elements from the data base used to support IPP with those necessary for the other methods.

3.3 Out-of-Scope

The following is out of scope for this specification.

1.  Creation of any new element not in either the PWG model or the method to which it is being cross mapped

2.  Definition of a specific structure of how the Printer Characteristics and/or Job Ticket elements are to be presented

3.4 Design Requirements

The design requirements for this specification are:

1.  Faithful adherence to the definitive specification documents for each of the Printer Characteristic and each of the Print Ticket methods addressed, wherevel possible.

2.  When the definition of an element is unclear, its interpretation is inconsistent, or it may have changed over time or with circumstances, to acknowledge the possible discrepancy and provide a best case fit to the mose prevalent interpretation.

3.  Wherever possible and consistent with the element definitions and usage by each method, providing a 1:1 correlation of elements.

4.  When 1:1 correlation is not possible, providing the most effective mapping between and element and groups of elements, or among groups of elements.

4. Microsoft Print Schema (MSPS)

4.1 Mapping MSPS Attributes to PWG Print Job Ticket Elements

The Microsoft Print Schema uses an XML element convention much like the PWG Print Job Ticket (PJT). One of the differences between the two print ticket formats is that Microsoft has added a third layer to their specification tree (Job, Document, Page) and rules for merging print ticket elements from the three levels together when processing a print request.

Table 1 - Microsoft Print Schema Element to PWG Print Job Ticket Element Mapping

Microsoft Print Schema Element Name / PWG Print Job Ticket Element Name /
N/A / CompressionSupplied
PageCopies / Copies
DocumentPrimaryCoverBack
NoCover
BlankCover
PrintFront
PrintBack
PrintBoth / CoverBack
CoverType
Media
MediaType
MediaCol
DocumentPrimaryCoverFront
NoCover
BlankCover
PrintFront
PrintBack
PrintBoth / CoverFront
CoverType
Media
MediaType
MediaCol
CoverType
DocumentCharsetSupplied
DocumentCopiesAllPages / DocumentCopies
DocumentDigitalSignatureSupplied
DocumentFormat
DocumentFormatDetailsSupplied
DocumentSourceApplicationName
DocumentSourceApplicationVersion
DocumentSourceOsName
DocumentSourceOsVersion
DocumentFormat
DocumentFormatDeviceId
DocumentFormatVersion
DocumentNaturalLanguage
DocumentFormatDeviceId
DocumentFormatSupplied
DocumentFormatVersion
DocumentFormatVersionSupplied
DocumentMessageSupplied
DocumentNameSupplied
DocumentNaturalLanguage
DocumentNumbers
DocumentSourceApplicationName
DocumentSourceApplicationVersion
DocumentSourceOsName
DocumentSourceOsVersion
FeedOrientation
Finishings
DocumentHolePunch
None
LeftEdge
RightEdge
TopEdge
BottomEdge / FinishingsCol
FinishingTemplate
Other
DocumentStaple
StapleTopLeft
StapleTopRight
StapleBottomLeft
StapleBottomRight
StapleDualLeft
StapleDualRight
StapleDualTop
SaddleStitch
Angle
SheetCapacity / FinishingsCol
FinishingTemplate
Stitching
StitchingReferenceEdge
StitchingOffset
StitchingLocations
FinishingTemplate
FontNameRequested
FontSizeRequested
PageForceFrontSide
ForceFrontSize?
None / ForceFrontSide
ImpositionTemplate
Impressions
InsertAfterPageNumber
InsertCount
InsertSheet
ISheet
InsertAfterPage
InsertCount
Media
MediaType
MediaCol
JobAccountingID
JobAccountingOutputBin
JobAccountingSheet
None
Standard / JobAccountingSheets
JobAccountingSheetsType
Media
MediaType
MediaCol
JobAccountingOutputBin
JobInputBin
AutoSelect
Manual
Cassette
Tractor
AutoSheetFeeder / JobAccountingSheetsType
MediaCol
MediaSource
JobAccountingUserID
JobCopiesAllDocuments / JobCopies
JobCoverBack
CoverType
Media
MediaType
MediaCol
JobCoverFront
CoverType
Media
MediaType
MediaCol
JobDelayOutputUntil
JobDelayOutputUntilTime
JobErrorSheet
None
Standard
Custom
ErrorSheetSource / JobErrorSheet
JobErrorSheetType
JobErrorSheetWhen
Media
MediaType
MediaCol
JobErrorSheetType
ErrorSheetWhen
Always
OnError / JobErrorSheetWhen
JobFinishings
JobHolePunch
None
LeftEdge
RightEdge
TopEdge
BottomEdge / JobFinishingsCol
FinishingTemplate
Other
RollCutAtEndOfJob
CutSheetAtImageEdge
CutSheetAtStandardMediaSize
None / JobFinishingsCol
FinishingTemplate
Other
JobStapleAllDocuments
StapleTopLeft
StapleTopRight
StapleBottomLeft
StapleBottomRight
StapleDualLeft
StapleDualRight
StapleDualTop
StapleDualBottom
SaddleStitch / JobFinishingsCol
FinishingTemplate
Stitching
StitchingReferenceEdge
StitchingOffset
StitchingLocations
JobHoldUntil
JobHoldUntilTime
JobMandatoryElements
JobMessageFromOperator
JobMessageToOperator
JobMoreInfo
JobName
JobOriginatingUserName
JobOriginatingUserUri
JobOutputOptimization
ArchiveFormat
OptimizeForPortability
OptimizeForQuality
OptimizeForSpeed
None / N/A
JobPassword
JobPasswordEncryption
JobPhoneNumber
JobPriority
JobRecipientName
JobSaveDisposition
SaveDisposition
SaveInfo
SaveDocumentFormat
SaveLocation
SaveName
JobSheetMessage
JobSheets
JobPrimaryBannerSheet
None
Standard
Custom
BannerSheetSource / JobSheetsCol
JobSheets
Media
MediaType
MediaCol
KOctets
Media
MediaCol
MediaBackCoating
MediaColor
MediaFrontCoating
MediaGrain
MediaHoleCount
MediaInfo
MediaKey
MediaOrderCount
MediaPreprinted
MediaRecycled
MediaSize
XDimension
YDimension
MediaSizeName
MediaThickness
MediaTooth
MediaType
MediaWeightMetric
MediaBottomMargin
MediaLeftMargin
MediaRightMargin
MediaTopMargin
MediaSource
MediaBackCoating
PageMediaColor / MediaColor
MediaFrontCoating
MediaGrain
MediaHoleCount
MediaInfo
MediaInputTrayCheck
MediaKey
MediaOrderCount
MediaPreprinted
MediaRecycled
MediaSheets
PageMediaSize / MediaSize
MediaSizeName
MediaThickness
MediaTooth
PageMediaType / MediaType
MediaWeightMetric
MultipleDocumentsHandling
DocumentInputBin
AutoSelect
Manual
Cassette
Tractor
AutoSheetFeeder / MediaSource
NumberUp
OrientationRequested
DocumentOutputBin / OutputBin
OutputDevice
Overrides
Override
Pages
PageRange
Lowerbound
Upperbound
DocumentNumbers
NumberRange
Lowerbound
Upperbound
DocumentCopies
PCopiesRange
Lowerbound
Upperbound
OverridingElements
PageDelivery
PageOrderReceived
DocumentPageRanges / PageRanges
PageRange
Lowerbound
Upperbound
Pages
PagesPerSubset
Pages
PdlInitFiles
PdlInitFile
PdlInitFileLocation
PdlInitFileName
PdlInitFileEntry
PdlInitFileEntry
PdlInitFileName
PdlInitFileEntry
PresentationDirectionNumberUp
PageOutputColor / PrintColorMode
PrintContentOptimize
PrintRenderingIntent
ProofPrint
Copies
Media
MediaCol
PageOutputQuality / Quality
PageResolution / Resolution
SaveDisposition
SaveDocumentFormat
SaveInfo
SaveLocation
SaveName
DocumentSeparatorSheet
None
StartSheet
EndSheet
BothSheets / SeparatorSheets
SeparatorSheetsType
Media
MediaType
MediaCol
DocumentBannerSheet
None
Standard
Custom
BannerSheetSource / SeparatorSheetsType
DocumentCollate / SheetCollate
JobDuplexAllDocumentsContiguously
OneSided
TwoSidedLongEdge
TwoSidedShortEdge / Sides
JobDuplexAllDocumentsContiguously
DuplexMode
Automatic
Manual / N/A
StitchingLocations
StitchingOffset
StitchingReferenceEdge
TemplateCreatorUserName
TemplateId
TemplateInfo
TemplateName
TemplateType
XDimension
XImagePosition
XImageShift
XSide1ImageShift
XSide2ImageShift
YDimension
YImagePosition
YImageShift
YSide1ImageShift
YSide2ImageShift

4.2 Mapping MSPS State Model to PWG State Model