Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
®The Printer Working Group
July 10, 2019Working Draft
IPP Job and Printer Extensions Set 3 v1.1(JPS3)
Status: InitialInterim
Abstract: Printing on new operating systems, distributed computing systems, and mobile devices emphasizes the challenges of generating document data, discovering available Printers, and communicating that document data to a Printer. This specification adds additional attributes and operations to IPP to better support generic, vendor-neutral implementations of printing in these environments.
This is a PWG Working Draft. For a definition of a "PWG Working Draft", see:
https://ftp.pwg.org/pub/pwg/general/pwg-process30.pdfhttps://ftp.pwg.org/pub/pwg/general/pwg-process30.pdf
This specification is available electronically at:
https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippjobprinterext3v11-20190710-5100.13.docxhttps://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippjobprinterext3v11-20190710-5100.13.pdf
Copyright © 2012-2019 The Printer Working Group. All rights reserved.
12345678910
11
12
13
14
15
1617181920
21
2223
24
2526
®The Printer Working Group
July 1024, 2019Working Draft
https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippjobprinterext3v11-20190724.docxhttps://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippjobprinterext3v11-20190724.pdf
Copyright © 2012-2019 The Printer Working Group. All rights reserved.
272829
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Copyright © 2012-2019 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: IPP Job and Printer Extensions Set 3 v1.1 (JPS3)
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: [email protected].
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.
Page 3 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
12
30
31323334353637
38
394041
424344
4546474849
50515253545556
57585960
61626364
3
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
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/ http://www.ieee.org/ ) and the IEEE Standards Association (http://standards.ieee.org/) http://standards.ieee.org/) .
For additional information regarding the IEEE-ISTO and its industry programs visit:
http://www.ieee-isto.org
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 system providers, network connectivity vendors, and print management application developers. The PWG 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.”
To meet this objective, the PWG documents the results of their work as open standards that define print related protocols, interfaces, procedures, and conventions. A PWG standard is a stable, well understood, and technically competent specification that is widely used with multiple independent and interoperable implementations. Printer manufacturers and vendors of printer related software benefit from the interoperability provided by voluntary conformance to these standards.
For additional information regarding the Printer Working Group visit:
http://www.pwg.org
Contact information:
The Printer Working Groupc/o The IEEE Industry Standards and Technology Organization445 Hoes LanePiscataway, NJ 08854USA
Page 4 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
45
65
666768697071
72
73
74
75
76777879808182
838485868788
89
90
91
929394959697
6
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Table of Contents1. Introduction .......................................................................................................................9
1.1 Limits ...........................................................................................................................91.2 Filtering .....................................................................................................................101.3 Constraints and "preferred-attributes" .......................................................................101.4 ICC Color Management ............................................................................................101.5 Localization ...............................................................................................................111.6 Device Information ....................................................................................................11
2. Terminology ....................................................................................................................122.1 Conformance Terminology ........................................................................................122.2 Printing Terminology .................................................................................................122.3 Protocol Role Terminology ........................................................................................122.4 Other Terminology ....................................................................................................132.5 Acronyms and Organizations ....................................................................................14
3. Requirements .................................................................................................................153.1 Rationale ...................................................................................................................153.2 Use Cases ................................................................................................................15
3.2.1 Select Printer Using Geo-Location .....................................................................153.2.2 Select Printer with Confirmation .........................................................................163.2.3 Print Using Loaded Media ..................................................................................163.2.4 Print a Secure Form ...........................................................................................163.2.5 Print with Special Formatting ..............................................................................163.2.6 Print to a Service ................................................................................................173.2.7 Print a Document with Page Subsets .................................................................173.2.8 Print on a Roll .....................................................................................................173.2.9 Job or Document Processing Failures ................................................................173.2.10 Manual Duplex Printing ....................................................................................173.2.11 Continuous Printing ..........................................................................................183.2.12 Correlation of Multiple Printers .........................................................................18
3.3 Exceptions ................................................................................................................183.4 Out of Scope .............................................................................................................183.5 Design Requirements ...............................................................................................18
4. New Operations ..............................................................................................................194.1 Identify-Printer ...........................................................................................................19
4.1.1 Identify-Printer Request ......................................................................................194.1.2 Identify-Printer Response ...................................................................................20
4.2 Validate-Document ...................................................................................................214.2.1 Validate-Document Request ...............................................................................214.2.2 Validate-Document Response ............................................................................22
5. New Attributes ................................................................................................................225.1 Operation Attributes ..................................................................................................22
5.1.1 document-metadata (1setOf octetString(MAX)) .................................................225.1.2 document-password (octetString(1023)) ............................................................235.1.3 first-index (integer(1:MAX)) ................................................................................245.1.4 identify-actions (1setOf type2 keyword) .............................................................24
Page 5 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
78
9899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
9
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.1.5 preferred-attributes (collection) ...........................................................................245.1.6 requesting-user-uri (uri) ......................................................................................24
5.2 Job and Document Template Attributes ....................................................................255.2.1 job-error-action (type2 keyword) .........................................................................255.2.2 pages-per-subset (1setOf integer(1:MAX)) ........................................................255.2.3 print-color-mode (type2 keyword) .......................................................................265.2.4 print-rendering-intent (type2 keyword) ................................................................27
5.3 Job Description Attributes .........................................................................................285.3.1 job-uuid (uri(45)) .................................................................................................285.3.2 document-metadata (1setOf octetString(MAX)) .................................................285.3.3 job-originating-user-uri (uri) ................................................................................285.3.4 job-pages (integer(0:MAX)) ................................................................................285.3.5 job-pages-completed (integer(0:MAX)) ..............................................................285.3.6 job-pages-completed-current-copy (integer(0:MAX)) .........................................29
5.4 Subscription Description Attributes ...........................................................................295.4.1 notify-subscription-uuid (uri(45)) .........................................................................295.4.2 notify-subscriber-user-uri (uri) ............................................................................29
5.5 Document Description Attributes ...............................................................................295.5.1 document-uuid (uri(45)) ......................................................................................295.5.2 document-metadata (1setOf octetString(MAX)) .................................................305.5.3 pages (integer(0:MAX)) ......................................................................................305.5.4 pages-completed (integer(0:MAX)) ....................................................................305.5.5 pages-completed-current-copy (integer(0:MAX)) ...............................................30
5.6 Printer Description Attributes ....................................................................................305.6.1 printer-uuid (uri(45)) ...........................................................................................305.6.2 device-service-count (integer(1:MAX)) ...............................................................315.6.3 device-uuid (uri(45)) ...........................................................................................315.6.4 document-password-supported (integer(0:1023)) ..............................................315.6.5 identify-actions-default (1setOf type2 keyword) .................................................315.6.6 identify-actions-supported (1setOf type2 keyword) ............................................315.6.7 ipp-features-supported (1setOf type2 keyword) .................................................315.6.8 job-constraints-supported (1setOf collection) .....................................................325.6.9 job-error-action-default (type2 keyword) .............................................................335.6.10 job-error-action-supported (1setOf type2 keyword) ..........................................335.6.11 job-resolvers-supported (1setOf collection) ......................................................335.6.12 media-bottom-margin-supported (1setOf integer(0:MAX)) ...............................345.6.13 media-left-margin-supported (1setOf integer(0:MAX)) .....................................345.6.14 media-right-margin-supported (1setOf integer(0:MAX)) ...................................345.6.15 media-source-supported (1setOf (type3 keyword | name(MAX)) .....................345.6.16 media-top-margin-supported (1setOf integer(0:MAX)) .....................................345.6.17 multiple-operation-time-out-action (type2 keyword) ..........................................345.6.18 pages-per-subset-supported (boolean) ............................................................355.6.19 preferred-attributes-supported (boolean) ..........................................................355.6.20 print-color-mode-default (type2 keyword) .........................................................355.6.21 print-color-mode-supported (1setOf type2 keyword) ........................................355.6.22 print-rendering-intent-default (type2 keyword) ..................................................35
Page 6 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1011143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
12
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.6.23 print-rendering-intent-supported (1setOf type2 keyword) .................................355.6.24 printer-charge-info (text(MAX)) .........................................................................365.6.25 printer-charge-info-uri (uri) ................................................................................365.6.26 printer-config-change-date-time (dateTime) .....................................................365.6.27 printer-config-change-time (integer(1:MAX)) ....................................................365.6.28 printer-geo-location (uri | unknown) ..................................................................375.6.29 printer-get-attributes-supported (1setOf type2 keyword) ..................................375.6.30 printer-icc-profiles (1setOf collection) ...............................................................375.6.31 printer-icons (1setOf uri) ...................................................................................375.6.32 printer-input-tray (1setOf octetString(MAX)) .....................................................385.6.33 printer-mandatory-job-attributes (1setOf type2 keyword) .................................525.6.34 printer-organization (1setOf text(MAX)) ............................................................525.6.35 printer-organizational-unit (1setOf text(MAX)) ..................................................525.6.36 printer-output-tray (1setOf octetString(MAX)) ...................................................535.6.37 printer-strings-languages-supported (1setOf naturalLanguage) .......................565.6.38 printer-strings-uri (uri | no-value) ......................................................................565.6.39 printer-supply (1setOf octetString(MAX)) .........................................................565.6.40 printer-supply-description (1setOf text(MAX)) ..................................................615.6.41 printer-supply-info-uri (uri) ................................................................................625.6.42 requesting-user-uri-supported (boolean) ..........................................................62
6. Additional Semantics for Existing Operations .................................................................626.1 All Operations: "requesting-user-uri" .........................................................................626.2 Get-Printer-Attributes Operation: "first-index" and "limit" ..........................................636.3 Get-Subscriptions Operation: "first-index" and "limit" ................................................636.4 Get-Jobs Operation: "first-index" and "limit" ..............................................................636.5 Get-Documents Operation: "first-index" and "limit" ...................................................636.6 Print-Job, Print-URI, Send-Document, and Send-URI Operations: "document-metadata" ........................................................................................................................636.7 Print-Job, Print-URI, Send-Document, and Send-URI Operations: "document-password" .......................................................................................................................646.8 Validate-Job Operation: "document-password" ........................................................646.9 Create-Job, Print-Job, and Print-URI Operations: "job-password" and "job-password-encryption" ......................................................................................................................646.10 Create-Job, Print-Job, and Print-URI Operations: "ipp-attribute-fidelity", "printer-mandatory-attributes", and "media-col" ...........................................................................656.11 Validate-Job Operation: "job-password" and "job-password-encryption" ................656.12 Validate-Job Operation: "preferred-attributes" ........................................................65
7. Additional Values and Semantics for Existing Attributes ................................................667.1 document-state-reasons (1setOf type2 keyword) and job-state-reasons (1setOf type2 keyword) ................................................................................................................667.2 finishings (1setOf type2 enum) .................................................................................677.3 orientation-requested (type2 enum) ..........................................................................677.4 print-content-optimize (type2 keyword) .....................................................................677.5 printer-state-reasons (1setOf type2 keyword) ...........................................................677.6 media-col Member Attributes ....................................................................................68
7.6.1 media-bottom-margin (integer(0:MAX)) ..............................................................68
Page 7 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1314189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
15
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
7.6.2 media-left-margin (integer(0:MAX)) ....................................................................687.6.3 media-right-margin (integer(0:MAX)) ..................................................................687.6.4 media-size-name (type3 keyword | name(MAX)) ...............................................687.6.5 media-source (type3 keyword | name(MAX)) .....................................................687.6.6 media-source-properties (collection) ..................................................................707.6.7 media-top-margin (integer(0:MAX)) ....................................................................707.6.8 Media Selection and Full-Bleed Printing .............................................................70
7.7 media-col-database Values ......................................................................................717.8 uri-authentication-supported (1setOf type2 keyword) ...............................................71
8. Status Codes ..................................................................................................................728.1 client-error-document-password-error (0x418) .........................................................728.2 client-error-document-permission-error (0x419) .......................................................728.3 client-error-document-security-error (0x41A) ............................................................728.4 client-error-document-unprintable-error (0x41B) .......................................................72
9. Localization of Attributes and Values ..............................................................................739.1 Message Catalog File Format ...................................................................................73
10. Relationship of Impressions, Pages, and Sheets .........................................................7610.1 Examples for Impressions, Pages, and Sheets ......................................................76
10.1.1 Single Document Simplex Job Without Copies ................................................7610.1.2 Single Document Duplex Job Without Copies ..................................................7610.1.3 Two Document Duplex Job With Copies, Number-Up, and Page-Ranges .......76
11. Conformance Requirements .........................................................................................7911.1 Conformance Requirements for this Specification ..................................................7911.2 Conditional Conformance Requirements for Printer Objects ..................................7911.3 Conditional Conformance Requirements for Clients ...............................................8111.4 HTTP Recommendations ........................................................................................82
12. Internationalization Considerations ...............................................................................8213. Security Considerations ................................................................................................8314. IANA Considerations ....................................................................................................83
14.1 MIME Media Type Registration ...............................................................................8314.2 Attribute Registrations .............................................................................................8514.3 Type2 keyword Registrations ..................................................................................8714.4 Type2 enum Registrations ......................................................................................9014.5 Operation Registrations ..........................................................................................9014.6 Status Code Registrations ......................................................................................91
15. References ...................................................................................................................9115.1 Normative References ............................................................................................9115.2 Informative References ...........................................................................................94
16. Authors' Addresses .......................................................................................................9517. Change History .............................................................................................................95
17.1 July 10, 2019 ...........................................................................................................951. Introduction .......................................................................................................................92. Terminology ....................................................................................................................10
2.1 Conformance Terminology ........................................................................................102.2 Printing Terminology .................................................................................................102.3 Protocol Role Terminology ........................................................................................10
Page 8 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1617235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
18
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
2.4 Other Terminology ....................................................................................................112.5 Acronyms and Organizations ....................................................................................12
3. Requirements .................................................................................................................133.1 Rationale ...................................................................................................................133.2 Use Cases ................................................................................................................13
3.2.1 Select Printer Using Geo-Location .....................................................................133.2.2 Select Printer with Confirmation .........................................................................143.2.3 Print Using Loaded Media ..................................................................................143.2.4 Print a Secure Form ...........................................................................................143.2.5 Print with Special Formatting ..............................................................................143.2.6 Print to a Service ................................................................................................153.2.7 Print a Document with Page Subsets .................................................................153.2.8 Print on a Roll .....................................................................................................153.2.9 Job or Document Processing Failures ................................................................153.2.10 Manual Duplex Printing ....................................................................................153.2.11 Continuous Printing ..........................................................................................163.2.12 Correlation of Multiple Printers .........................................................................163.2.13 Manufacturer-Deployed Print Quality Mode .....................................................163.2.14 Administrator-Deployed Print Quality Mode .....................................................163.2.15 Manufacturer-Deployed Color Transformation Preferences .............................173.2.16 Administrator-Deployed Color Transformation Preference ...............................173.2.17 Print Quality Hints to Influence Printer Color Processing .................................18
3.3 Exceptions ................................................................................................................183.4 Out of Scope .............................................................................................................183.5 Design Requirements ...............................................................................................18
4. Model ..............................................................................................................................194.1 Limits .........................................................................................................................194.2 Filtering .....................................................................................................................204.3 Constraints and "preferred-attributes" .......................................................................204.4 ICC Color Management and Color Mode Previews ..................................................214.5 Localization ...............................................................................................................214.6 Device Information ....................................................................................................21
5. New Operations ..............................................................................................................225.1 Identify-Printer ...........................................................................................................22
5.1.1 Identify-Printer Request ......................................................................................225.1.2 Identify-Printer Response ...................................................................................23
5.2 Validate-Document ...................................................................................................235.2.1 Validate-Document Request ...............................................................................235.2.2 Validate-Document Response ............................................................................24
6. New Attributes ................................................................................................................256.1 Operation Attributes ..................................................................................................25
6.1.1 document-metadata (1setOf octetString(MAX)) .................................................256.1.2 document-password (octetString(1023)) ............................................................266.1.3 first-index (integer(1:MAX)) ................................................................................266.1.4 identify-actions (1setOf type2 keyword) .............................................................266.1.5 preferred-attributes (collection) ...........................................................................27
Page 9 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1920281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
21
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
6.1.6 requesting-user-uri (uri) ......................................................................................276.2 Job and Document Template Attributes ....................................................................27
6.2.1 job-error-action (type2 keyword) .........................................................................276.2.2 pages-per-subset (1setOf integer(1:MAX)) ........................................................286.2.3 print-color-mode (type2 keyword) .......................................................................296.2.4 print-rendering-intent (type2 keyword) ................................................................30
6.3 Job Description Attributes .........................................................................................316.3.1 document-metadata (1setOf octetString(MAX)) .................................................31
6.4 Job Status Attributes .................................................................................................316.4.1 job-originating-user-uri (uri) ................................................................................316.4.2 job-pages (integer(0:MAX)) ................................................................................316.4.3 job-pages-completed (integer(0:MAX)) ..............................................................316.4.4 job-pages-completed-current-copy (integer(0:MAX)) .........................................326.4.5 job-uuid (uri(45)) .................................................................................................32
6.5 Subscription Status Attributes ...................................................................................326.5.1 notify-subscription-uuid (uri(45)) .........................................................................326.5.2 notify-subscriber-user-uri (uri) ............................................................................32
6.6 Document Description Attributes ...............................................................................336.6.1 document-metadata (1setOf octetString(MAX)) .................................................336.6.2 pages (integer(0:MAX)) ......................................................................................33
6.7 Document Status Attributes ......................................................................................336.7.1 document-uuid (uri(45)) ......................................................................................336.7.2 pages-completed (integer(0:MAX)) ....................................................................336.7.3 pages-completed-current-copy (integer(0:MAX)) ...............................................34
6.8 Printer Description Attributes ....................................................................................346.8.1 document-password-supported (integer(0:1023)) ..............................................346.8.2 identify-actions-default (1setOf type2 keyword) .................................................346.8.3 identify-actions-supported (1setOf type2 keyword) ............................................346.8.4 ipp-features-supported (1setOf type2 keyword) .................................................346.8.5 job-constraints-supported (1setOf collection) .....................................................356.8.6 job-error-action-default (type2 keyword) .............................................................366.8.7 job-error-action-supported (1setOf type2 keyword) ............................................366.8.8 job-resolvers-supported (1setOf collection) ........................................................366.8.9 multiple-operation-time-out-action (type2 keyword) ...........................................376.8.10 pages-per-subset-supported (boolean) ............................................................376.8.11 preferred-attributes-supported (boolean) ..........................................................376.8.12 print-color-mode-default (type2 keyword) .........................................................386.8.13 print-color-mode-supported (1setOf type2 keyword) ........................................386.8.14 print-rendering-intent-default (type2 keyword) ..................................................396.8.15 print-rendering-intent-supported (1setOf type2 keyword) .................................396.8.16 printer-charge-info (text(MAX)) .........................................................................396.8.17 printer-charge-info-uri (uri) ................................................................................396.8.18 printer-geo-location (uri | unknown) ..................................................................396.8.19 printer-get-attributes-supported (1setOf keyword) ............................................396.8.20 printer-icc-profiles (1setOf collection) ...............................................................396.8.21 printer-icons (1setOf uri) ...................................................................................40
Page 10 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
2223327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
24
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
6.8.22 printer-input-tray (1setOf octetString(MAX)) .....................................................406.8.23 printer-mandatory-job-attributes (1setOf keyword) ...........................................456.8.24 printer-organization (1setOf text(MAX)) ............................................................456.8.25 printer-organizational-unit (1setOf text(MAX)) ..................................................456.8.26 printer-output-tray (1setOf octetString(MAX)) ...................................................466.8.27 printer-strings-languages-supported (1setOf naturalLanguage) .......................496.8.28 printer-strings-uri (uri | no-value) ......................................................................496.8.29 requesting-user-uri-supported (boolean) ..........................................................506.8.30 soft-proof-icc-profiles (1setOf collection) ..........................................................50
6.9 Printer Status Attributes ............................................................................................506.9.1 device-service-count (integer(1:MAX)) ...............................................................506.9.2 device-uuid (uri(45)) ...........................................................................................516.9.3 printer-config-change-date-time (dateTime) .......................................................516.9.4 printer-config-change-time (integer(1:MAX)) ......................................................516.9.5 printer-supply (1setOf octetString(MAX)) ...........................................................516.9.6 printer-supply-description (1setOf text(MAX)) ....................................................556.9.7 printer-supply-info-uri (uri) ..................................................................................566.9.8 printer-uuid (uri(45)) ...........................................................................................57
7. Additional Semantics for Existing Operations .................................................................577.1 All Operations: "requesting-user-uri" .........................................................................577.2 Get-Printer-Attributes Operation: "first-index" and "limit" ..........................................577.3 Get-Subscriptions Operation: "first-index" and "limit" ................................................577.4 Get-Jobs Operation: "first-index" and "limit" ..............................................................587.5 Get-Documents Operation: "first-index" and "limit" ...................................................587.6 Print-Job, Print-URI, Send-Document, and Send-URI Operations: "document-metadata" ........................................................................................................................587.7 Print-Job, Print-URI, Send-Document, and Send-URI Operations: "document-password" .......................................................................................................................587.8 Validate-Job Operation: "document-password" ........................................................597.9 Create-Job, Print-Job, and Print-URI Operations: "job-password" and "job-password-encryption" ......................................................................................................................597.10 Validate-Job Operation: "job-password" and "job-password-encryption" ................597.11 Validate-Job Operation: "preferred-attributes" ........................................................59
8. Additional Values and Semantics for Existing Attributes ................................................598.1 document-state-reasons (1setOf type2 keyword) and job-state-reasons (1setOf type2 keyword) ................................................................................................................598.2 finishings (1setOf type2 enum) .................................................................................608.3 orientation-requested (type2 enum) ..........................................................................618.4 print-content-optimize (type2 keyword) .....................................................................618.5 print-quality (type2 enum) .........................................................................................618.6 printer-state-reasons (1setOf type2 keyword) ...........................................................628.7 uri-authentication-supported (1setOf type2 keyword) ...............................................63
9. Status Codes ..................................................................................................................639.1 client-error-document-password-error (0x418) .........................................................639.2 client-error-document-permission-error (0x419) .......................................................639.3 client-error-document-security-error (0x41A) ............................................................63
Page 11 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
2526373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418
27
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
9.4 client-error-document-unprintable-error (0x41B) .......................................................6310. Localization of Attributes and Values ............................................................................63
10.1 Message Catalog File Format .................................................................................6310.2 Message Catalog Help Resources ..........................................................................6410.3 Message Catalog Example .....................................................................................6510.4 Message Catalog ABNF ..........................................................................................66
11. Relationship of Impressions, Pages, and Sheets .........................................................6711.1 Examples for Impressions, Pages, and Sheets ......................................................67
11.1.1 Single Document Simplex Job Without Copies ................................................6711.1.2 Single Document Duplex Job Without Copies ..................................................6711.1.3 Two Document Duplex Job With Copies, Number-Up, and Page-Ranges .......67
12. Obsolete Attributes .......................................................................................................6913. Obsolete Values ...........................................................................................................7014. Conformance Requirements .........................................................................................70
14.1 Conformance Requirements for this Specification ..................................................7014.2 Conditional Conformance Requirements for Printer Objects ..................................7114.3 Conditional Conformance Requirements for Clients ...............................................7314.4 HTTP Recommendations ........................................................................................73
15. Internationalization Considerations ...............................................................................7416. Security Considerations ................................................................................................7517. IANA Considerations ....................................................................................................75
17.1 MIME Media Type Registration ...............................................................................7517.2 Attribute Registrations .............................................................................................7617.3 Type2 keyword Registrations ..................................................................................7817.4 Type2 enum Registrations ......................................................................................8017.5 Operation Registrations ..........................................................................................8017.6 Status Code Registrations ......................................................................................81
18. Overview of Changes ...................................................................................................8118.1 IPP Job and Printer Extensions Set 3 v.1.1 ............................................................81
19. References ...................................................................................................................8219.1 Normative References ............................................................................................8219.2 Informative References ...........................................................................................85
20. Authors' Addresses .......................................................................................................8621. Change History .............................................................................................................87
21.1 July 24, 2019 ...........................................................................................................8721.2 July 10, 2019 ...........................................................................................................89
List of FiguresFigure 1 - ABNF for "document-metadata" Values.............................................................25Figure 2 - Verbose "job-constraints-supported" and "job-resolvers-supported" Example ...35Figure 3 - Concise "job-constraints-supported" and "job-resolvers-supported" Example . . .36Figure 4 - ABNF for "printer-input-tray" Values...................................................................42Figure 35 - ABNF for "printer-output-tray" Values..............................................................47Figure 46 - ABNF for "printer-supply" Values.....................................................................53Figure 57 - Example values for "printer-supply" Printer Status attribute ............................55
Page 12 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
2829419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456
457458459460461462463464
30
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Figure 8 - Example of "printer-supply-description" .............................................................56Figure 9 - ABNF for the "text/strings" MIME Media Type....................................................66Figure 610 - Two Document Duplex Job With Copies, Number-Up, and Page-Ranges 7768
List of TablesTable 1 - "identify-actions" Keyword Values.......................................................................26Table 2 - "job-error-action" Keyword Values.......................................................................28Table 3 - "print-color-mode" Keyword Values.....................................................................30Table 4 - "print-rendering-intent" Keyword Values..............................................................30Table 5 - "ipp-features-supported" Keyword Values...........................................................34Table 6 - "multiple-document-timeouttime-out-action" Keyword Values.............................37Table 7 - Keywords for "printer-input-tray"..........................................................................41Table 8 - Keywords for "printer-output-tray".......................................................................46Table 9 - Keywords for "printer-supply"..............................................................................52Table 10 - Standard Colorant Names for "printer-supply"...................................................54Table 11 - New "document-state-reasons" and "job-state-reasons" Keyword Values........60Table 12 - New "finishings" Enum Values..........................................................................60Table 13 - New "printer-state-reasons" Keyword Values....................................................62Table 14 - "media-source" Keyword Values .......................................................................69Table 15 - Job Template Attributes That Affect Impressions and Sheets...........................69Table 15 - Obsolete Attributes ............................................................................................70Table 16 - Obsolete Values ................................................................................................70
Page 13 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
3132465466467
468469
470471472473474475476477478479480481482483484485486487488
33
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
1. IntroductionPrinting on new operating systems, distributed computing systems, and mobile devices emphasizes the challenges of generating document data, discovering available Printers, and communicating that document data to a Printer. This specification adds additional attributes and operations to IPP/1.1 [STD92] and IPP/2.0, IPP/2.1 and IPP/2.2 [PWG5100.12] to better support generic, vendor-neutral implementations of printing in these environments.
This specification extends the IPP Model and Semantics [STD92] by defining:
1. A general method for limits and filtering for objects and attributes;2. Constraint handling mechanisms for clients and printers;3. ICC-based color management, and4. Localization of attribute names and values.
Page 14 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
3435
489
490491492493494495
496
497498499500
501
36
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
1.1 Limits
The IPP/1.1 Model and Semantics [STD92] defines support for limits in the Get-Jobs operation to allow a Client to efficiently collect a large list of Job objects in groups of N objects. Similarly, the IPP Event Notifications and Subscriptions [RFC3995] defines support for limits in the Get-Subscriptions operation but without support for selecting the first Subscription object to return.
This specification extends the notion of limits to include any operation that might return large lists of objects or attributes with large amounts of data such as "media-col-database" and defines new attributes to allow a Client to discover which operations support limits and specify which object or attribute value to return first using a "first-index" operation attribute.
The new "first-index" operation attribute is an integer value representing an attribute value index in a 1setOf attribute value. The notion of an attribute value index requires that a Printer use a consistent ordering of 1setOf values that can be limited, i.e., the order of "media-col-database" values must be defined by the printer and consistent between Get-Printer-Attribute requests.
The existing "limit" operation attribute is an integer value representing the maximum number of values to return to the Client. Combined with "first-index", it allows a Client to query a subset of the Printer's values.
Because existing conforming Printer implementations will return the successful-ok-ignored-or-substituted-attributes status code when they do not support the "first-index" or "limit" operation attributes for a given request, a Client may be safely written to ask for a subset of values but handle receiving the complete set of values.
Printers that support the "first-index" and "limit" operation attributes must provide the values or objects in a consistent order such that a Client may retrieve all of those objects or values using a sequence of requests with increasing values for "first-index".
[1.1] Filtering
The Get-Printer-Attributes operation in the IPP/1.1 Model and Semantics [STD92] supports attribute "filtering" using the "document-format" operation attribute. This specification extends this filtering mechanism to include arbitrary Job Creation attributes such as "sides" so that Clients may determine which attribute values are supported for a particular type of Job.
Similarly, the IPP/1.1 Model and Semantics and IPP Event Notifications and Subscriptions [RFC3995] allow for attribute "filtering" based on the "requesting-user-name" or authenticated user for Job and Subscription operations.
Page 15 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
3738
502
503504505506507
508509510511
512513514515516
517518519
520521522523
524525526
527
528529530531532
533534535
39
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
[1.2] Constraints and "preferred-attributes"
Printers can impose constraints between Job Creation attributes for practical (e.g., duplexing on transparency media), physical (e.g., label printing from a paper tray), and policy (e.g., no color printing for students) reasons. This specification defines two mechanisms on the Client and Printer that allow a Client to discover what those constraints are prior to creating a print job.
Client constraint resolution uses two new Printer attributes that list the constraints and a list of changes used by the printer for resolving them automatically. These attributes allow the Client user interface to present a simple choice to the user when a selection triggers a constraint: revert to the previous settings or make the following additional changes.
Printer constraint resolution uses the Validate-Document and Validate-Job operations. Clients submit a Validate-Document or Validate-Job request with Template attributes that will be used in the actual document or job creation request. If conflicts are present in the supplied Template attributes, the Printer returns a "preferred-attributes" collection attribute indicating which substitute values will be used to resolve those conflicts.
There is no Validate-Subscription operation because subscriptions always enforce attribute fidelity.
[1.3] ICC Color Management
This specification adds new Job Template and Printer attributes to support a managed color workflow using ICC color profiles. Clients may specify output rendering intent for a Job or Document and can query and download ICC color profiles listed by the Printer for color proofing or Client-side color rendering, especially when the Printer does not support a desired output rendering intent.
[1.4] Localization
This specification defines and registers an existing plain text message catalog file format (MIME media type "text/strings") used on Mac OS X and NeXTSTEP that allows a Client to present localized strings for attribute names and their associated values. For example, a Printer might provide localizations for vendor media sizes and "printer-state-reasons" keywords. A Printer attribute allows the Client to discover the location of message catalogs for the language specified by the "attributes-natural-language" attribute in the Client request. Clients can also use the HTTP If-Modified-Since header to detect whether the referenced message catalog has been updated.
[1.5] Device Information
IPP has long exposed device information that was necessary for printing. As IPP expands to cover all of the Multi-Function Device (MFD) services defined by the PWG Semantic
Page 16 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
4041
536
537538539540541
542543544545
546547548549550
551552
553
554555556557558
559
560561562563564565566567
568
569570
42
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Model working group, additional device information will be needed. In the context of existing IPP-based printing, these new attributes are most applicable to print server implementations such as CUPS and high duty cycle print systems that support multiple independent IPP Printers.
This specification defines two new device attributes for IPP: the device unique identifier as a UUID and a count of services provided by the device. The device unique identifier allows a Client to correlate multiple IPP-based services to a single device or server. The count of services tells the client whether a particular device or server provides more than one IPP-based service, regardless of the type of service offered.
Page 17 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
4344571572573574
575576577578579580
45
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
[2.] Terminology
1.2[2.1] Conformance Terminology
Capitalized terms, such as MUST, MUST NOT, RECOMMENDED, REQUIRED, SHOULD, SHOULD NOT, MAY, and OPTIONAL, have special meaning relating to conformance as defined in Key words for use in RFCs to Indicate Requirement Levels [BCP14]. The term CONDITIONALLY REQUIRED is additionally defined for a conformance requirement that applies when a specified condition is true.
The term DEPRECATED is used for previously defined and approved protocol elements that SHOULD NOT be used or implemented. The term OBSOLETE is used for previously defined and approved protocol elements that MUST NOT be used or implemented.
1.3[2.2] Printing Terminology
Normative definitions and semantics of printing terms are imported from the Internet Printing Protocol/1.1 [STD92].[STD92].
Document: An object created and managed by a Printer that contains the description, processing, and status information. A Document object may have attached data and is bound to a single Job.
Job: An object created and managed by a Printer that contains description, processing, and status information. The Job also contains zero or more Document objects.
Logical Device: a print server, software service, or gateway that processes jobs and either forwards or stores the processed job or uses one or more Physical Devices to render output.
Output Device: a single Logical or Physical Device
Physical Device: a hardware implementation of a endpoint device, e.g., a marking engine, a fax modem, etc.
1.4[2.3] Protocol Role Terminology
The following protocol roles are defined to specify unambiguous conformance requirements:
Client: Initiator of outgoing connections and sender of outgoing operation requests (Hypertext Transfer Protocol -- HTTP/1.1 [RFC7230][RFC7230] User Agent).
Page 18 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
4647
581
582
583584585586587
588589590
591
592593
594595596
597598
599600601
602
603604
605
606607
608609
48
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Printer: Listener for incoming connections and receiver of incoming operation requests (Hypertext Transfer Protocol -- HTTP/1.1 [RFC7230][RFC7230] Server) that represents one or more Physical Devices or a Logical Device.
1.5[2.4] Other Terminology
Capitalized Term In Italics: definition of the term with any references as appropriate.
Black Point Compensation; the mapping of the darkest color in a source Color Space to the darkest color in a destination Color Space, generally to improve the reproduction of dark colors and shadows.
Color Space; the interpretation of color in a document, for example “RGB”, “Grayscale”, “CMYK”, and so forth.
Coloring; filtering or otherwise limiting the return of information such as limiting reported values to those supported for a given file format or hiding private information from unauthorized users.
Content; document data such as photos, web pages, email messages, reports and presentations, and books or other longer documents.
Gamut; the range of colors that can be reproduced by a Printer or Color Space.
Image Box; the "content area" within a digital document.
Input-Document; the entire sequence of bytes transmitted as the Document Content in the Print-Job and Send-Document operations or referenced by the "document-uri" operation attribute in the Print-URI and Send-URI operations. This sequence of bytes consists of one or more Input-Pages.
Input-Page; a sequence of bytes that describe how to mark a single Output-Page. IPP 1.1 [STD92] uses the term “print-stream-pages” to refer to both Input-Pages and Output-Pages. There is a one to one relationship between Input-Pages and Output-Pages and they are in the same order. Both Input-Pages and Output-Pages are numbered sequentially starting from 1 at the beginning of each Input-Document or Output-Document, respectively. When the first Input-Page of an Input-Document coincides with the first Output-Page of an Output-Document, the numbering of Input-Pages and Output-Pages coincides; otherwise it doesn’t.
ith; referring to a specific 1setOf value - the first value, the second value, and so forth.
Kerberized Printing; authenticated printing based on SPNEGO-based Kerberos and NTLM HTTP Authentication in Microsoft Windows [RFC4559],[RFC4559], Transport Layer Security/1.2 [RFC5246],[RFC5246], and Upgrading to TLS Within HTTP/1.1 [RFC2817].[RFC2817].
Page 19 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
4950610611612
613
614
615616617
618619
620621622
623624
625
626
627628629630
631632633634635636637638
639
640641642643
51
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Output-Document; a set of one or more Sheets which either are permanently bound into a single unit, e.g., with a staple, or are intended to be treated by an end-user as a single unit, e.g., for a loose-leaf binder. If an Output-Document is bound, it is uniformly bound; if it is not bound, no subset of sheets within it are bound. The Output-Pages that comprise an Output-Document may come from, all the Input-Pages of an Input-Document, a proper subset of the Input-Pages of the Input-Document, or all the Input-Pages of several Input-Documents. An Output-Document is not a set of sheets that are bound temporarily for shipping, e.g., with banding.
Output-Page; the set of all markings that the author intended to be placed on one side of a Sheet, including, but not limited to, text, drawings, images, footers and headers.
Paid Imaging Services; Printing, facsimile, and scanning performed for a fee. The means of collecting payment is outside the scope of this specification.
Secure Transport; encryption of the HTTP connection using Transport Layer Security [RFC5246].[RFC5246]. The security session may be negotiated at the initiation of the connection ("HTTPS") or by Upgrading to TLS Within HTTP/1.1 [RFC2817].[RFC2817].
Sheet; the unit of media that a printer puts marks on. It is the most basic unit of output from a printer. A printer may mark on one side or on both sides of a sheet.
1.6[2.5] Acronyms and Organizations
IANA: Internet Assigned Numbers Authority, http://www.iana.org/ http://www.iana.org/
IETF: Internet Engineering Task Force, http://www.ietf.org/ http://www.ietf.org/
ISO: International Organization for Standardization, http://www.iso.org/ http://www.iso.org/
PWG: Printer Working Group, https://www.pwg.org/ https://www.pwg.org/
Page 20 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
5253644645646647648649650651
652653
654655
656657658
659660
661
662
663
664
665
666
667
54
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
2.[3.] Requirements
2.1[3.1] Rationale
The Internet Printing Protocol Version 2.0 Second Edition [PWG5100.12] defines:
1. A collection of existing IPP specifications that form the basis for IPP/2.02. Standard job template attributes for document format, media size, print quality,
and so forth3. Specific interoperability requirements, such as HTTP/1.1 support with chunking
and IPP collection attribute support4. New version number and operation requirements for different classes of devices
Printing from mobile devices and to distributed print services involves several new use cases that are not addressed by existing IPP standards.
Therefore, this IPP Job and Printer Extensions Set 3 v1.1 specification should
1. Support identification of the Printer;2. Support determination of the proximity of the Client to the Printer;3. Support job ticket constraint resolution;4. Support job ticket-based Printer capability queries;5. Support controls for the color rendition of a document and for Client-managed
color workflows;6. Support Paid Imaging Services (specifically printing);7. Support supply monitoring and control;8. Support globally-unique identifiers for all objects;9. Support Client localization of Printer attributes and values;10.Encourage adoption of modern IPP-based printing infrastructures; and11.Discourage the proliferation of vendor proprietary IPP operations and attributes
that damage IPP interoperability by duplicating IETF or PWG IPP standard operations and attributes.
2.2[3.2] Use Cases
Provide use cases for the document in subsections using the casual use case format.
2.2.1[3.2.1] Select Printer Using Geo-Location
The Client initiates a proximity detection of nearby Printers using Services and/or Discovery Protocols, hiding duplicate Printers that are reported by multiple Service and/or Discovery Protocols. The Client User Interface asks the User to select one of the nearby Printers. Finally, the User selects a nearby Printer.
Page 21 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
5556
668
669
670
671672673674675676
677678
679
680681682683684685686687688689690691692693
694
695
696
697698699700
57
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Preconditions: Both the Client and Printer have access to out-of-band geo-location information to allow for proximity detection, and both support common Discovery Protocol(s). Geo-location information can be obtained via manual configuration by the User, Operator, or Administrator, or through location sensing technologies such as the Global Positioning System or radio signal triangulation.
2.2.2[3.2.2] Select Printer with Confirmation
After selecting a Printer using any of several methods, the Client sends an identification request to the Printer to provide a visual and/or auditory alert on the Printer to allow the User to confirm that the correct Printer has been selected.
2.2.3[3.2.3] Print Using Loaded Media
User is viewing a photo and would like to print the photo on the largest borderless photographic media loaded on her Printer.
After the User initiates a print from the phone and selects a Printer, the Client automatically selects the largest borderless photographic media loaded on the Selected Printer and the highest print quality. The User selects additional processing intent for the Job and confirms the print action. The Client sends a print job request to the Printer with the Job Ticket and local photo. The Printer validates the Job Ticket and document data and then prints the photo.
Preconditions: Printer can report loaded media information such as size, type, coating, and weight. This may be detected automatically or manually entered by the User or Operation when loading the media.
2.2.4[3.2.4] Print a Secure Form
The treasurer of a small training company that is holding a meeting and seminar at a resort needs to print out 20 checks for training personnel. He uses an accounting program to enter the hours worked, bonuses, reimbursable expenses, and so forth and prints the checks on a printer provided by the resort using check blanks he brought to the meeting.
The User loads check blanks into the Printer and configured the loaded media as necessary at the Printer. After the User initiates a print from his accounting program, selects a Printer for printing, and selects checks to be printed, the Client User Interface displays a preview of the printed checks and the User confirms that checks amounts, payees and signature are correct. The Client automatically selects the check blank media. The User selects additional processing intent for the Job and confirms the print action. The Client sends a print job request to the Printer with the Job Ticket and document data containing the checks, correctly oriented for the check blank media. The User waits for the checks to be printed and removes any excess media from the Printer.
Page 22 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
5859701702703704705
706
707708709
710
711712
713714715716717718
719720721
722
723724725726
727728729730731732733734735
60
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
2.2.5[3.2.5] Print with Special Formatting
At a seminar located at a country resort, a factotum and general gofer has been asked to provide 80 sets of ten keywords/phrases, clearly printed on 2-inch by 1-inch paper slips for use in a get acquainted exercise. Costs are to be minimized. Gofer has a laptop with a word processer program. Resort has a Wi-Fi network available to users and a networked MFD at the business center. Attendant at business center will charge for any printed sheets removed from premises.
After the User initiates a print from his word processor and selects a Printer, the User selects the processing intent for the Job and confirms the print action. The Client produces document data using the media information (size and margins) in the Job Ticket so that 2-inch by 1-inch slips are spread evenly over each page and sends a print job request to the Printer with the Job Ticket and document. The Printer validates the Job Ticket and document data and then prints the document.
2.2.6[3.2.6] Print to a Service
John is flying to New York for a presentation and doesn't want to carry the presentations. John arrives in New York and goes online from his mobile phone. He selects a local print provider after reviewing the provider web pages and submits his document for printing. He specifies that he needs 10 color copies, printed duplex and stapled on the left side. He also specifies the covers to be 80lb. stock, and the internal pages to be 24lb. stock. John arrives at the provider and picks up his presentations, paying with his corporate credit card using an out-of-band method such as making a telephone call and providing the job identification and credit card numbers.
2.2.7[3.2.7] Print a Document with Page Subsets
Jim has 20 insurance policies to print, each consisting of 4 pages that must be stapled together. Jim submits an 80-page report document for printing and specifies that he wants every 4 pages stapled together.
2.2.8[3.2.8] Print on a Roll
Mike has a series of photos to print on a roll of photo media. Mike submits a multi-document job for printing and specifies that the roll be cut between each document in the job.
2.2.9[3.2.9] Job or Document Processing Failures
While processing a job, the Printer reports job or document processing issues to the Client, which displays an error message as needed and asks the User or Operator to confirm the disposition of the Job. Processing failures include out-of-memory, missing resource, missing or incorrect password, and other conditions that prevent a particular Job or document from printing.
Page 23 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
6162736
737738739740741742
743744745746747748
749
750751752753754755756757
758
759760761
762
763764765
766
767768769770771
63
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
2.2.10[3.2.10] Manual Duplex Printing
Larry has a long whitepaper he would like to print 2-sided on an entry-level laser printer without an automatic duplexer accessory. Larry submits the document for printing and specifies 2-sided printing. The Client software queries the Printer to determine the page stacking order and delivery order for both the input and output trays and then sends the even numbered pages in the correct order to the Printer. When those pages have been printed, the Client software instructs Larry to insert the pages back in the input tray in the correct orientation. Once the pages are loaded in the input tray, the Client software sends the odd numbered pages to the Printer.
2.2.11[3.2.11] Continuous Printing
A scientist wants to continuously print graphs of seismometer readings on a roll of paper loaded in a Printer with a roll cutter. The Client software collects data from the seismometers and sends one-inch print documents to the Printer at regular intervals. Every hour the Client Software instructs the Printer to trim the roll at the end of a document.
2.2.12[3.2.12] Correlation of Multiple Printers
An operator monitors and maintains multiple printers managed by several print servers. The Client software correlates Printers registered with a directory service or dynamic discovery protocol in order to provide a hierarchical display of the available servers, printers, jobs, and current state.
2.2.13[3.2.13] Manufacturer-Deployed Print Quality Mode
X Printers, a printer manufacturer, has developed a new technology that provides significant customer benefit above and beyond that of the existing print quality modes available. It is exposed to the user as a new "X Magic" print quality mode. The "X Magic" print quality mode depends on the printer having a print engine mechanism that implements the requisite imaging technology.
The new print quality mode does not fit well in the context of the existing print quality modes, and the vendor does not want to cause customer confusion by remapping the use of existing print quality modes on devices that support the technology, and not on those that do not. Doing so would also prevent product differentiation.
In this case, the existing basic print quality modes (Draft, Normal, High) are preserved and the new print quality mode is added as a custom mode. A tooltip explains to the user the value provided by the “X Magic” print quality mode. The client drivers are unaware of the mode’s meaning. Since the custom PQ mode is defined on the device, the mode will only be shown when connected to a device supporting that mode.
Page 24 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
6465772
773774775776777778779780
781
782783784785786
787
788789790791
792
793794795796797
798799800801
802803804805806
66
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
2.2.14 Administrator-Deployed Print Quality Mode
A customer has agreed with its print service provider to pay for an additional print quality mode called "Eco-Draft", that is enabled through the service contract. This additional print quality mode will only be made available on select printers, facilitated by the print service provider's IT administration and deployment system.
This "Eco-Draft" print mode differs from the standard "Draft", "Normal" and "High" modes in that, when selected and indicated to the Printer, the Printer employs a unique combination of rendering selections to produce output generally comparable to "Draft" but with a significantly reduced ink or toner usage, and a corresponding reduction in per-page cost. In order to preserve the conventional definition and user perception of "Draft", the “Eco-Draft” is offered as a new print quality setting unique to this deployment. A unique name and quality value are important for two reasons: making it clear to end users they are using a different print quality, so they can make an informed choice; and for job accounting reasons so that the billing system can bill pages using this quality level differently than the other familiar quality levels.
The IT administrators have a print policy defined so that users from different departments or role families are given different print capabilities. Those in the Finance department will only be offered the “Eco-Draft” print quality option, while executives and those in the Marketing department will be offered "Eco-Draft" in addition to the standard “Draft”, “Normal” and “High” options. The different quality levels factor into the billing cost the IT administrators and their print service providers have negotiated.
2.2.15 Manufacturer-Deployed Color Transformation Preferences
X Printers, a printer manufacturer, has produced printers for many years. Its customers have asked X Printers to provide a “color output mode” control with a “legacy color compatibility mode” choice. X Printers implements this feature in its newer printers that have more accurate color output, to cause them to produce output that appears as though it was printed on an older printer whose output exhibited a different particular set of color output characteristics. The customers want to be able to select this “color output preference” on a per-job and/or per-Client basis, because some users have a need for this, but only in certain applications, while others do not.
The customers have also asked for a "print preview" to show them what the color would look like before printing. The printers that implement this new "legacy color compatibility mode" also provide a special "soft proofing" ICC profile so that the client can present this accurately to the user.
2.2.16 Administrator-Deployed Color Transformation Preference
Fred is a print administrator at an architecture firm. He has been tasked with finding a way to provide a “blueprint output mode” to the architects in the office, that can be selected as an option in the print dialog. When this option is selected, the submitted job will be output as though it was printed from a blueprinting machine. To produce this, the document color
Page 25 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
6768807
808809810811
812813814815816817818819820821
822823824825826827
828
829830831832833834835836
837838839840
841
842843844845
69
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
depth is flattened to a 1-bit monochrome, and then transformed so that the white background is rendered in Prussian blue (Web color #003153 or sRGB 0,49,83), and the "black" lines are rendered in white. Fred provisions the printer with settings and resources to describe the desired color transformation to its users' systems using an administrative interface to add this feature.
Lisa works in the office, and her laptop discovers this “Blueprint” color transformation option when it interrogates the printer for its capabilities. Her client device presents the “Blueprint” color transformation option in the print dialog. Lisa positions her mouse pointer over the option and sees a “tool tip” (snippet of descriptive text) over the “Blueprint” option, that describes what that will do. Lisa likes what the tool tip describes for the “Blueprint” option and selects it. The print preview in the print dialog shows her what the output will look like. She likes it more, so she clicks “Print”, and the job is printed as per the preview. Lisa is happy, and thanks Fred.
2.2.17 Print Quality Hints to Influence Printer Color Processing
Juan is a graphic artist, and his team has a high-performance color printer. It has produced high quality output for all of the applications from which he and his team are printing. But then Juan encounters a problem. He is viewing a document in a particular application, prints the document, and realizes that the output is not meeting his needs. He is unable to find settings in the application that will allow it to produce satisfactory printed output without either changing the document in unacceptable ways or affecting other users of the printer. He looks in the print dialog and finds a set of "print quality hints", and through a process of trial-and-error, is able to produce output that meets his needs.
Knowing he will need these settings in the future, and also knowing that his computer supports IPP Presets, he saves these settings as a Preset for future quick access.
2.3 Exceptions
Provide exceptions for the use cases using the casual use case format.
2.4[3.3] Out of Scope
The following are considered out of scope for this specification:
1. Methods for geo-location and proximity detection for the Select Printer Using Geo-Location (section 3.2.1) use case
2. The actual method of payment for the Print to a Service (section 3.2.6) use case3. Constraining choice of document formats suitable for the Print use cases4. Discovery protocols used to locate Printers
2.5[3.4] Design Requirements
The design requirements for this specification are:
Page 26 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
7071846847848849850
851852853854855856857858
859
860861862863864865866867
868869
870
871
872
873
874875876877878
879
880
72
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
1. Follow the naming conventions defined in the IPP/1.1 Model and Semantics [STD92], including keyword value (lowercase) and hyphenation requirements;
2. Optimize compatibility with existing IETF and PWG IPP operations when making design decisions in defining new operations and attributes;
3. Define new device attributes that allow a Client to correlate multiple Printers to a single device or server supporting the Printers;
4. Define new Printer identification attributes and an identification operation;5. Define new geo-location attributes;6. Define new attributes for Paid Imaging Services (specifically printing);7. Define new Printer discovery and selection attributes;8. Define new job ticket constraint resolution attributes;9. Define new secure printing, identification, and metadata attributes and values;10.Define new media capability attributes;11.Define new input and output tray attributes;12.Define new limit and filtering attributes;13.Define new subset printing attributes;14.Define new color printing attributes15.Define new ICC color management attributes;16.Define new roll-fed printing attributes and values;17.Define new supply level and status monitoring attributes;18.Define new localization attributes and a message catalog file format; and19.Define new globally-unique identifier attributes for all objects.
The design recommendations for this specification are:
1. Recommend the use of Printer-resident resources in order to support color proofing, identification, localization, and management.
3.[4.] Model
3.1 Limits
The IPP/1.1 Model and Semantics [STD92] defines support for limits in the Get-Jobs operation to allow a Client to efficiently collect a large list of Job objects in groups of N objects. Similarly, the IPP Event Notifications and Subscriptions [RFC3995] defines support for limits in the Get-Subscriptions operation but without support for selecting the first Subscription object to return.
This specification extends the notion of limits to include any operation that might return large lists of objects or attributes with large amounts of data such as "media-col-database" and defines new attributes to allow a Client to discover which operations support limits and specify which object or attribute value to return first using a "first-index" operation attribute.
The new "first-index" operation attribute is an integer value representing an attribute value index in a 1setOf attribute value. The notion of an attribute value index requires that a
Page 27 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
7374881882883884885886887888889890891892893894895896897898899900901902
903
904905
906
907
908909910911912
913914915916
917918
75
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Printer use a consistent ordering of 1setOf values that can be limited, i.e., the order of "media-col-database" values must be defined by the printer and consistent between Get-Printer-Attribute requests.
The existing "limit" operation attribute is an integer value representing the maximum number of values to return to the Client. Combined with "first-index", it allows a Client to query a subset of the Printer's values.
Because existing conforming Printer implementations will return the successful-ok-ignored-or-substituted-attributes status code when they do not support the "first-index" or "limit" operation attributes for a given request, a Client may be safely written to ask for a subset of values but handle receiving the complete set of values.
Printers that support the "first-index" and "limit" operation attributes must provide the values or objects in a consistent order such that a Client may retrieve all of those objects or values using a sequence of requests with increasing values for "first-index".
3.2 Filtering
The Get-Printer-Attributes operation in the IPP/1.1 Model and Semantics [STD92] supports attribute "filtering" using the "document-format" operation attribute. This specification extends this filtering mechanism to include arbitrary Job Creation attributes such as "sides" so that Clients may determine which attribute values are supported for a particular type of Job.
Similarly, the IPP/1.1 Model and Semantics and IPP Event Notifications and Subscriptions [RFC3995] allow for attribute "filtering" based on the "requesting-user-name" or authenticated user for Job and Subscription operations.
3.3 Constraints and "preferred-attributes"
Printers can impose constraints between Job Creation attributes for practical (e.g., duplexing on transparency media), physical (e.g., label printing from a paper tray), and policy (e.g., no color printing for students) reasons. This specification defines two mechanisms on the Client and Printer that allow a Client to discover what those constraints are prior to creating a print job.
Client constraint resolution uses two new Printer attributes that list the constraints and a list of changes used by the printer for resolving them automatically. These attributes allow the Client user interface to present a simple choice to the user when a selection triggers a constraint: revert to the previous settings or make the following additional changes.
Printer constraint resolution uses the Validate-Document and Validate-Job operations. Clients submit a Validate-Document or Validate-Job request with Template attributes that will be used in the actual document or job creation request. If conflicts are present in the
Page 28 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
7677919920921
922923924
925926927928
929930931
932
933934935936937
938939940
941
942943944945946
947948949950
951952953
78
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
supplied Template attributes, the Printer returns a "preferred-attributes" collection attribute indicating which substitute values will be used to resolve those conflicts.
There is no Validate-Subscription operation because subscriptions always enforce attribute fidelity.
3.4 ICC Color Management and Color Mode Previews
This specification adds new Printer Description attributes to support a managed color workflow using ICC color profiles. Clients may specify output rendering intent for a Job or Document and can query and download ICC color profiles listed by the Printer for color proofing or Client-side color rendering, especially when the Printer does not support a desired output rendering intent. This specification also adds new Printer Description attributes that specify URIs to ICC profiles to allow a Client to present a preview of a color mode transformation.
3.5 Localization
This specification defines and registers an existing plain text message catalog file format (MIME media type "text/strings") used on macOS and NeXTSTEP that allows a Client to present localized strings for attribute names and their associated values. For example, a Printer might provide localizations for vendor media sizes and "printer-state-reasons" keywords. A Printer attribute allows the Client to discover the location of message catalogs for the language specified by the "attributes-natural-language" attribute in the Client request. Clients can also use the HTTP If-Modified-Since header to detect whether the referenced message catalog has been updated. The message catalogs can also include inline help content that is associated with a particular attribute or attribute keyword / enum value.
3.6 Device Information
IPP has long exposed device information that was necessary for printing. As IPP expands to cover all of the Multi-Function Device (MFD) services defined by the PWG Semantic Model working group, additional device information will be needed. In the context of existing IPP-based printing, these new attributes are most applicable to print server implementations such as CUPS and high duty cycle print systems that support multiple independent IPP Printers.
This specification defines two new device attributes for IPP: the device unique identifier as a UUID and a count of services provided by the device. The device unique identifier allows a Client to correlate multiple IPP-based services to a single device or server. The count of services tells the client whether a particular device or server provides more than one IPP-based service, regardless of the type of service offered.
Page 29 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
7980954955
956957
958
959960961962963964965
966
967968969970971972973974975976
977
978979980981982983
984985986987988989
81
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
4. New OperationsProvide detailed data model and semantic information starting in section 4. Definition of data elements/attributes and operations happen in later sections.
4.1 Identify-Printer
The RECOMMENDED Identify-Printer operation allows a Client to request the Printer to physically identify itself by flashing lights, making sounds, or displaying something on the control panel.
The Printer SHOULD require an authenticated user (see [STD92] section 9.3) to perform this operation or provide other safeguards to prevent abuse of this operation. When the operation is not allowed for a security reason, the IPP object MUST reject the operation and return: 'client-error-forbidden', 'client-error-not-authenticated', or 'client-error-not-authorized' as appropriate.
4.1.1 Identify-Printer Request
The following groups of attributes are supplied as part of the Identify-Printer Request:
Group 1: Operation Attributes
Natural Language and Character Set:
The "attributes-charset" and "attributes-natural-language" attributes as described in [STD92] section 4.1.4.1.
Target:
The "printer-uri" (uri) operation attribute which is the target for this operation as described in [STD92] section 4.1.5.
Requesting User:
The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the Client as described in [STD92] section 9.3.. In addition, the "requesting-user-uri" (section 6.1.6) attribute SHOULD be supplied by the Client as well.
"message" (text(127)):
The Client OPTIONALLY supplies this attribute. The Printer object OPTIONALLY supports this attribute. It is a message to the user for purposes of identifying the Printer to the user.
"identify-actions" (1setOf type2 keyword) [section 6.1.4]:
Page 30 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
8283
990
991992
993
994995996
99799899910001001
1002
1003
1004
1005
10061007
1008
10091010
1011
101210131014
1015
101610171018
1019
84
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
The Client OPTIONALLY supplies this attribute. The Printer object MUST support this attribute. The value(s) specify how the Printer will identify itself to the Client.
4.1.2 Identify-Printer Response
The following attributes are part of the Identify-Printer Response:
Group 1: Operation Attributes
Status Message:
In addition to the REQUIRED status code returned in every response, the response OPTIONALLY includes a "status-message" (text(255)) and/or a "detailed-status-message" (text(MAX)) operation attribute as described in [STD92] section 4.1.6 and Appendix B.
Natural Language and Character Set:
The "attributes-charset" and "attributes-natural-language" attributes as described in [STD92] section 4.1.4.2..
Group 2: Unsupported Attributes
See [STD92] section 4.1.7 for details on returning Unsupported Attributes.
4.2 Validate-Document
The CONDITIONALLY REQUIRED Validate-Document operation allows a Client to verify operation and Document Template attributes to be used in a subsequent Send-Document or Send-URI request. This operation MUST be supported by Printers that conform to the IPP Document Object [PWG5100.5].[PWG5100.5].
This operation is similar to the Validate-Job operation except that it validates attributes used for the Send-Document or Send-URI operations. Like Validate-Job, Validate-Document allocates no Printer resources (i.e., job objects) and does not allow a "document-password" or "document-uri" operation attribute.
Clients MUST NOT send the "document-password" operation attribute (section 6.1.2) in a Validate-Document request. Printers MUST reject a Validate-Document request containing a "document-password" operation attribute and return the client-error-bad-request status code.
4.2.1 Validate-Document Request
The following groups of attributes are supplied as part of the Validate-Document Request:
Page 31 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
8586
102010211022
1023
1024
1025
1026
1027102810291030
1031
10321033
1034
1035
1036
1037103810391040
1041104210431044
1045104610471048
1049
1050
87
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Group 1: Operation Attributes
Natural Language and Character Set:
The "attributes-charset" and "attributes-natural-language" attributes as described in [STD92] section 4.1.4.1..
Target:
The "printer-uri" (uri) operation attribute which is the target for this operation as described in [STD92] section 4.1.5..
Requesting User:
The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the Client as described in [STD92] section 9.3.. In addition, the "requesting-user-uri" (section 6.1.6) attribute SHOULD be supplied by the Client as well.
"document-format" (mimeMediaType)
"document-name" (name(MAX))
Group 2: Document Template Attributes
The client OPTIONALLY supplies a set of Document Template attributes and SHOULD omit Group 2 rather than sending an empty group. However, a Printer MUST be able to accept an empty group.
4.2.2 Validate-Document Response
The following attributes are part of the Validate-Document Response:
Group 1: Operation Attributes
Status Message:
In addition to the REQUIRED status code returned in every response, the response OPTIONALLY includes a "status-message" (text(255)) and/or a "detailed-status-message" (text(MAX)) operation attribute as described in [STD92] 4.1.6 and Appendix B.
Natural Language and Character Set:
The "attributes-charset" and "attributes-natural-language" attributes as described in [STD92] section 4.1.4.2..
"preferred-attributes" (collection):
Page 32 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
8889
1051
1052
10531054
1055
10561057
1058
105910601061
1062
1063
1064
106510661067
1068
1069
1070
1071
1072107310741075
1076
10771078
1079
90
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
This attribute (defined in section 6.1.5) MAY be returned when conflicts are detected in the supplied Operation and Document Template attributes.
Group 2: Unsupported Attributes
See [STD92] section 4.1.7 for details on returning Unsupported Attributes.
5. New AttributesOr new elements (Semantic Model) or properties (SNMP), etc.
5.1 Operation Attributes
5.1.1 document-metadata (1setOf octetString(MAX))
The REQUIRED "document-metadata" operation attribute specifies one or more keyword/value pairs describing the document being supplied. Each element in the set consists of a keyword followed by "=" and a UTF-8 value string. Standard keywords are defined in The Dublin Core Metadata Element Set [RFC5013][RFC5013] and DCMI Metadata Terms [DCMITERMS]. Vendor or customer-defined keywords MUST use the prefix string "x-" to avoid future keyword name conflicts, for example "x-vendor-foo" or "x-customer-bar". The complete ABNF definition is provided in Error: Reference source notfound.Figure 1.
Printers MUST copy this attribute to the corresponding Job Description (section 6.3.2) or Document Description (section 6.6.2) attribute of the same name when processing Print-Job, Print-URI, Send-Document, or Send-URI requests (section 7.6).
Figure 1 - ABNF for "document-metadata" Values
document-metadata = dc-elements "=" *utf8-char / dc-terms "=" *utf8-char / x-keyword "=" *utf8-char
dc-elements = "contributor" / "coverage" / "creator" / "date" / "description" / "format" / "identifier" / "language" / "publisher" / "relation" / "rights" / "source" / "subject" / "title" / "type"
dc-terms = "abstract" / "accessRights" / "accrualMethod" / "accrualPeriodicity" / "accrualPolicy" / "alternative" / "audience" / "available" / "bibliographicCitation" / "conformsTo" / "created" / "dateAccepted" / "dateCopyrighted" / "dateSubmitted" / "educationLevel" / "extent" / "hasFormat" / "hasPart" / "hasVersion" / "instructionalMethod" / "isFormatOf" / "isPartOf" / "isReferencedBy" / "isReplacedBy" / "isRequiredBy" / "issued" / "isVersionOf" / "license" / "mediator" / "medium" / "modified" / "provenance" / "references" /
Page 33 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
9192
10801081
1082
1083
1084
1085
1086
1087
10881089109010911092109310941095
109610971098
1099
11001101110211031104110511061107110811091110111111121113111411151116111711181119
93
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
"replaces" / "requires" / "rightsHolder" / "spatial" / "tableOfContents" / "temporal" / "valid"
x-keyword = "x-" 1*(ALPHA / DIGIT / "." / "-" / "_")
utf8-char = %x20-7E / %xC0-DF.80-BF / %xE0-EF.80-BF.80-BF / %xF0-F7.80-BF.80-BF.80-BF
5.1.2 document-password (octetString(1023))
The "document-password" operation attribute specifies an unencrypted passphrase, OAuth token, or other string to be used to access the document content provided with the Print-Job, Print-URI, Send-Document, or Send-URI operations (section 7.6). Typically, the "document-password" value is an alphanumeric passphrase used to "unlock" a protected PDF [ISO32000] or OpenXPS [ECMA388] document. The maximum length of the "document-password" value is specified by the "document-password-supported" (section ) Printer attribute.
While the "document-password" value is necessarily associated with the document content, this attribute is not part of the Job or Document object and MUST NOT be reported by the Printer as part of a Job or Document object's description or template attributes. The value supplied MUST be retained by the Printer as long as the corresponding Document is retained.
This attribute MUST be supported if the Printer also supports the "document-password-supported" (section ) attribute.
Printers and Clients that support this attribute MUST support Secure Transport. Printers MUST negotiate a TLS session prior to accepting a request containing this attribute. Clients MUST negotiate a TLS session prior to sending a request containing this attribute.
5.1.3 first-index (integer(1:MAX))
The REQUIRED "first-index" operation attribute specifies the first object or element, starting at 1, to be returned in a response.
5.1.4 identify-actions (1setOf type2 keyword)
The "identify-actions" operation attribute specifies the action(s) that are taken to identify the printer in an Identify-Printer request as defined in section 5.1, "Identify-Printer Operation". The standard keyword values are listed in Table 1 - "identify-actions" KeywordValues.
This attribute MUST be supported if the Printer supports the Identify-Printer operation.
Table 1 - "identify-actions" Keyword Values
Page 34 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
9495
112011211122112311241125112611271128
1129
1130113111321133113411351136
11371138113911401141
11421143
114411451146
1147
11481149
1150
1151115211531154
1155
1156
96
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Keyword Descriptiondisplay Displays the default or Client-provided message on the
printer control panel.flash Flashes lights or the display on the printer.sound Makes a sound.speak Speaks the default or Client-provided message.
The default value of this operation attribute is defined by the "identify-actions-default" (section 6.8.5) Printer attribute and the supported values are defined by the "identify-actions-supported (section 6.8.6) Printer attribute.
Note: This specification does not define a "print" action due to security and accounting issues.
5.1.5 preferred-attributes (collection)
The RECOMMENDED "preferred-attributes" attribute specifies the attributes and values that will be substituted in a job or document creation request and is returned by the Printer in the Validate-Document response as defined in section 5.2 and the Validate-Job response as defined in section 7.12. Each member attribute in the collection represents an operation, Document Template, or Job Template attribute in the Validate-Document or Validate-Job request with the corresponding replacement value(s).
5.1.6 requesting-user-uri (uri)
The REQUIRED "requesting-user-uri" operation attribute contains the URI of the end user that is submitting the request. The value is typically a UUID encoded as defined in A Universally Unique IDentifier (UUID) URN Namespace [RFC4122][RFC4122] or an email address encoded as defined in Thethe "mailto:" URI scheme [RFC6068],[RFC6068], although any valid URI may be supplied.
The intent of this attribute is to provide an unambiguous user identifier since the "requesting-user-name" operation attribute is often not unique, e.g., "John Doe". However, because both of the attributes can be supplied by the Client, the Printer object may modify the values supplied based on information obtained from an authentication service (see IPP/1.1 Model and Semantics [STD92] sections 5.4.2, 5.4.3, and 9)..
The "requesting-user-uri-supported" (section 6.8.40) Printer attribute specifies whether the "requesting-user-uri" operation attribute is supported.
5.2 Job and Document Template Attributes
5.2.1 job-error-action (type2 keyword)
The "job-error-action" Job Template attribute specifies the action a Printer takes when an error is encountered in a document during processing of the job. Standard keyword values are shown in Table 2.
Page 35 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
9798
115711581159
11601161
1162
116311641165116611671168
1169
11701171117211731174
11751176117711781179
11801181
1182
1183
118411851186
99
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Note: When a Printer stops processing a job, it MAY temporarily add the 'processing-to-stop-point' keyword to the "job-state-reasons" Job Description attribute. See rule 1 in [STD92] section 4.3.3 for more information.
Table 2 - "job-error-action" Keyword Values
Keyword Descriptionabort-job Stop processing the job and move it to the 'aborted' state.
The 'aborted-by-system' keyword MUST be present in the "job-state-reasons" Job Description attribute.
cancel-job Stop processing the job as if the Printer had accepted a Cancel-Job request ([STD92] section 4.3.3) from the user. The 'job-canceled-by-user' keyword MUST be present in the "job-state-reasons" Job Description attribute.
continue-job Continue processing the next document in the job or, if this is the last document in the job, move the job to the 'completed' state.
suspend-job Stop processing the job and move it to the 'processing-stopped' state as if the Printer had accepted a Suspend-Current-Job request (section 4.3.1 [RFC3998]).[RFC3998]). The 'job-suspended-by-user' keyword MUST be present in the "job-state-reasons" Job Description attribute.
5.2.2 pages-per-subset (1setOf integer(1:MAX))
The OBSOLETE "pages-per-subset" Job Template attribute partitions one or more Input-Documents into contiguous subsets of Input-Pages. Each subset is defined to be an Output-Document and finishing options such as stapling are applied as if the Client had submitted the document as multiple jobs.
The value of the attribute is a set of one or more integers, where each integer specifies the number of Input-Pages in a subset, and the set is treated as a repeating sequence of integers. Thus, when the attribute contains a single integer, the integer specifies the number of Input-Pages in each subset, as a repeating sequence of the single integer. When the number of integers in this attribute exceeds 1, the first integer specifies the number of Input-Pages in the first subset, the second integer specifies the number of Input-Pages in the second subset and so on. If numbers in this attribute are exhausted before partitioning all of the Input-Pages, the Printer starts at the beginning of the sequence again and continues until all Input-Pages are partitioned.
If the job contains more than one Input-Document, the Input-Pages are treated as a single stream of Input-Pages which are partitioned into contiguous subsets with some subsets possibly belonging to more than one Input-Document. If the number of Input-Pages available for the last subset is less than the number specified by this attribute, the Printer MUST treat the last subset as an Output-Document.
Page 36 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
100101118711881189
1190
1191
1192119311941195
119611971198119912001201120212031204
12051206120712081209
102
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
If the “multiple-document-handling” attribute is present, the Printer MUST ignore the "pages-per-subset" attribute if the "multiple-document-handling" attribute has any value other than 'separate-documents-collated-copies' or 'separate-documents-uncollated-copies' and MUST return the "pages-per-subset" attribute in the unsupported attributes group of a Create-Job, Print-Job, Print-URI, or Validate-Job response with the successful-ok-ignored-or-substituted-attributes status code.
Printers that support this attribute MUST also support the "pages-per-subset-supported" Printer attribute (section 6.8.18).
There is no “pages-per-subset-default” attribute because there is no mechanism for a Client to specify that there are no Input-Page subsets except to omit this attribute, which would cause the Printer to use the “pages-per-subset-default” attribute and create the default subsets.
5.2.3 print-color-mode (type2 keyword)
The REQUIRED "print-color-mode" Job and Document Template attribute specifies the color mode to use when printing a job. If supported, the Printer MUST print the job using the requested color mode. Standard keyword values are shown in Table 3.
Vendor-defined keywords SHOULD have the distinguishing prefix 'smiNNN-' [STD92] where NNN is an SMI Private Enterprise Number (PEN) [IANA-PEN]. Vendor-defined keywords SHOULD have either the '-monochrome' or '-color' suffixes to assist clients. For example, if the company Example Corp. had obtained the SMI PEN 32473, has a vendor-unique color mode "magic" that pertains to color, the Printer could specify the 'smi32473-magic-color'.
Page 37 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
103104121012111212121312141215
12161217
1218121912201221
1222
122312241225
1226122712281229123012311232
105
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Table 3 - "print-color-mode" Keyword Values
Keyword Description Conformanceauto Automatic based on document REQUIREDauto-monochrome Printer chooses monochrome
or process-monochrome based on document
RECOMMENDED
bi-level 1-colorant (typically black) threshold output
OPTIONAL (note 1)
color Full-color output CONDITIONALLY REQUIRED (note 2)
highlight 1-colorant + black output OPTIONALmonochrome 1-colorant (typically black)
shaded/grayscale outputREQUIRED
process-bi-level Process (2 or more colorants) threshold output
OPTIONAL
process-monochrome Process (2 or more colorants) shaded/grayscale output
OPTIONAL (note 3)
Notes:
1 - Optional because the actual appearance is implementation-specific.
2 - Required for color Printers.
3 - Optional because process black on laser printers can be problematic.
5.2.4 print-rendering-intent (type2 keyword)
The RECOMMENDED "print-rendering-intent" Job and Document Template attribute specifies how out-of-gamut colors (or shades of gray) are mapped to device colors when printing. Printers MUST support this attribute if they support the "printer-icc-profiles" attribute (section 6.8.31). If supported, the Printer MUST print the job using the requested rendering intent. Standard keyword values are shown in Table 4.
Table 4 - "print-rendering-intent" Keyword Values
Keyword Description Conformanceabsolute Clip out-of-gamut colors to preserve in-gamut
accuracy without adjusting the white point.OPTIONAL
auto Automatically determine the rendering intent based on the document and job ticket.
REQUIRED
perceptual Map out-of-gamut colors at the expense of in-gamut accuracy.
OPTIONAL
relative Clip out-of-gamut colors to preserve in-gamut accuracy, adjusting the white point as necessary.
REQUIRED
Page 38 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
106107
1233
1234
1235
1236
1237
1238
12391240124112421243
1244
108
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
relative-bpc Clip out-of-gamut colors to preserve in-gamut accuracy, adjusting both the white and black points as necessary.(bpc = Black Point Compensation)
REQUIRED
saturation Preserve saturated colors. OPTIONAL
5.3 Job Description Attributes
[5.3.1] job-uuid (uri(45))
The REQUIRED "job-uuid" READ-ONLY Job attribute specifies a globally-unique identifier that MUST be a 45-octet "urn:uuid" URI [RFC4122]. The Printer generates the globally-unique identifier when it creates a new Job object in response to a job creation request.
The "job-uuid" attribute MUST NOT be used as a Job identifier in IPP job operations but MAY be used as a Job identifier for other protocol bindings and SHOULD be used for accounting and auditing of Jobs.
[5.3.2] document-metadata (1setOf octetString(MAX))
The CONDITIONALLY REQUIRED "document-metadata" Job attribute specifies one or more keyword/value pairs describing the document being supplied. This attribute MUST be supported when the IPP Document Object [PWG5100.5][PWG5100.5] is not supported. The format of each element in the set is defined in section 6.1.1. The "document-metadata" Document attribute is copied from the operation attribute of the same name as defined in section 7.6.
5.4 Job Status Attributes
5.4.1 job-originating-user-uri (uri)
The REQUIRED "job-originating-user-uri" READ-ONLY Job attribute contains the most authenticated URI of the end user that submitted the job creation request as defined in section 7.1.
5.4.2[5.4.1] job-pages (integer(0:MAX))
The "job-pages" READ-ONLY Job attribute contains the total number of input pages for the documents in the Job. See section 11 for a description of the relationship of this attribute to the "job-impressions" and "job-media-sheets" attributes.
This attribute MUST be supported if the "job-pages-completed" Job attribute (section 6.4.3) is supported.
Page 39 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
109110
1245
1246
124712481249
125012511252
1253
125412551256125712581259
1260
1261
126212631264
1265
126612671268
12691270
111
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.4.3[5.4.2] job-pages-completed (integer(0:MAX))
The "job-pages-completed" READ-ONLY Job attribute specifies the total number of input pages of the documents in the Job that have been processed. See section 11 for a description of the relationship of this attribute to the "job-impressions-completed" and "job-media-sheets-completed" attributes.
This attribute MUST be supported if the "job-pages" Job attribute (section 6.4.2) is supported.
5.4.4[5.4.3] job-pages-completed-current-copy (integer(0:MAX))
The "job-pages-completed-current-copy" READ-ONLY Job attribute specifies the total number of input pages of the documents in the Job that have been processed for the current copy.
This attribute MUST be supported if the "job-pages" Job attribute (section 6.4.2) is supported.
5.4.5[5.4.4] job-uuid (uri(45))
The REQUIRED "job-uuid" READ-ONLY Job attribute specifies a globally-unique identifier that MUST be a 45-octet "urn:uuid" URI [RFC4122]. The Printer generates the globally-unique identifier when it creates a new Job object in response to a job creation request.
The "job-uuid" attribute MUST NOT be used as a Job identifier in IPP job operations but MAY be used as a Job identifier for other protocol bindings and SHOULD be used for accounting and auditing of Jobs.
5.5 Subscription DescriptionStatus Attributes
5.5.1[5.4.5] notify-subscription-uuid (uri(45))
The CONDITIONALLY REQUIRED "notify-subscription-uuid" READ-ONLY Subscription attribute specifies a globally-unique identifier that MUST be a 45-octet "urn:uuid" URI [RFC4122].[RFC4122]. This attribute is REQUIRED if IPP: Event Notifications and Subscriptions [RFC3995][RFC3995] are supported.
The Printer generates the globally-unique identifier when it creates a new Subscription object in response to a subscription creation request, which can be included as part of a job creation request.
The "notify-subscription-uuid" attribute MUST NOT be used as a Subscription identifier in IPP subscription operations but MAY be used as a Subscription identifier for other protocol bindings and SHOULD be used for accounting and auditing of Subscriptions.
Page 40 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1121131271
1272127312741275
12761277
1278
127912801281
12821283
1284
128512861287
128812891290
1291
1292
1293129412951296
129712981299
130013011302
114
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.5.2[5.4.6] notify-subscriber-user-uri (uri)
The CONDITIONALLY REQUIRED "notify-subscriber-user-uri" READ-ONLY Subscription attribute contains the most authenticated URI of the end user that submitted the subscription creation request as defined in section 7.1. This attribute is REQUIRED if IPP: Event Notifications and Subscriptions [RFC3995][RFC3995] are supported.
5.6[5.5] Document Description Attributes
[5.5.1] document-uuid (uri(45))
The CONDITIONALLY REQUIRED "document-uuid" READ-ONLY Document attribute specifies a globally-unique identifier that MUST be a 45-octet "urn:uuid" URI [RFC4122]. This attribute is REQUIRED if the IPP Document Object [PWG5100.5] is supported.
The Printer generates the globally-unique identifier when it creates a new Document object in response to a document creation operation, which can be part of a job creation request.
The "document-uuid" attribute MUST NOT be used as a Document identifier in IPP document operations but MAY be used as a Document identifier for other protocol bindings and SHOULD be used for accounting and auditing of Documents.
[5.5.2] document-metadata (1setOf octetString(MAX))
The CONDITIONALLY REQUIRED "document-metadata" Document attribute specifies one or more keyword/value pairs describing the document being supplied. This attribute MUST be supported when the IPP Document Object [PWG5100.5][PWG5100.5] is supported. The format of each element in the set is defined in section 6.1.1. The "document-metadata" Document attribute is copied from the operation attribute of the same name as defined in section 7.6.
5.6.1[5.5.3] pages (integer(0:MAX))
The "pages" READ-ONLY Document attribute contains the total number of input pages for the document. See section 11 for a description of the relationship of this attribute to the "impressions" and "media-sheets" attributes.
This attribute MUST be supported if the "pages-completed" Document attribute (section 6.7.2) and the IPP Document Object [PWG5100.5][PWG5100.5] are supported.
5.7[5.6] Document Status Attributes
5.7.1 document-uuid (uri(45))
The CONDITIONALLY REQUIRED "document-uuid" READ-ONLY Document attribute specifies a globally-unique identifier that MUST be a 45-octet "urn:uuid" URI [RFC4122]. This attribute is REQUIRED if the IPP Document Object [PWG5100.5] is supported.
Page 41 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1151161303
1304130513061307
1308
1309
131013111312
13131314
131513161317
1318
131913201321132213231324
1325
132613271328
13291330
1331
1332
133313341335
117
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
The Printer generates the globally-unique identifier when it creates a new Document object in response to a document creation operation, which can be part of a job creation request.
The "document-uuid" attribute MUST NOT be used as a Document identifier in IPP document operations but MAY be used as a Document identifier for other protocol bindings and SHOULD be used for accounting and auditing of Documents.
5.7.2 pages-completed (integer(0:MAX))
The "pages-completed" READ-ONLY Document attribute specifies the total number of input pages of the document that have been processed. See section 11 for a description of the relationship of this attribute to the "impressions-completed" and "media-sheets-completed" attributes.
This attribute MUST be supported if the "pages" Document attribute (section 6.6.3) and the IPP Document Object [PWG5100.5][PWG5100.5] are supported.
5.7.3[5.6.1] pages-completed-current-copy (integer(0:MAX))
The OBSOLETE "pages-completed-current-copy" READ-ONLY Document attribute specifies the total number of input pages of the document that have been processed for the current copy.
This attribute MUST be supported if the "pages" Document attribute (section 6.6.3) and the IPP Document Object [PWG5100.5][PWG5100.5] are supported.
5.8[5.7] Printer Description Attributes
[5.7.1] printer-uuid (uri(45))
The REQUIRED "printer-uuid" READ-ONLY Printer attribute specifies a globally-unique identifier for the Printer that MUST be a 45-octet "urn:uuid" URI [RFC4122].
The "printer-uuid" attribute MUST NOT be used as a Printer identifier in IPP Printer operations but MAY be used as a Printer identifier for other protocol bindings and SHOULD be used for accounting and auditing of Printers.
[5.7.2] device-service-count (integer(1:MAX))
The REQUIRED "device-service-count" READ-ONLY Printer attribute specifies the number of Printer instances supported by the Imaging Device.
[5.7.3] device-uuid (uri(45))
The REQUIRED "device-uuid" READ-ONLY Printer attribute specifies a globally-unique identifier for the Imaging Device that MUST be a 45-octet "urn:uuid:" URI [RFC4122].
Page 42 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
11811913361337
133813391340
1341
1342134313441345
13461347
1348
134913501351
13521353
1354
1355
13561357
135813591360
1361
13621363
1364
13651366
120
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
[5.7.4] document-password-supported (integer(0:1023))
The "document-password-supported" Printer attribute specifies the maximum number of octets for the "document-password" operation attribute (section 6.1.2).
Printers that support the "document-password" attribute MUST also support this attribute with a value of at least 255. The value 0 indicates that the attribute is not supported. The values 1 through 254 are not allowed.
5.8.1[5.7.5] identify-actions-default (1setOf type2 keyword)
The default value(s) supplied by the Printer if the Client omits the "identify-actions" operation attribute from the Identify-Printer request. This attribute MUST be supported if the Printer supports the Identify-Printer operation defined in section 5.1.
5.8.2[5.7.6] identify-actions-supported (1setOf type2 keyword)
The list of supported values for the "identify-actions" operation attribute. This attribute MUST be supported if the Printer supports the Identify-Printer operation defined in section 5.1.
5.8.3[5.7.7] ipp-features-supported (1setOf type2 keyword)
The REQUIRED "ipp-features-supported" Printer attribute lists the IPP extension features that are supported by the Printer. Standard keyword values are listed in Error: Referencesource not found.Table 5. The value 'none' MUST be reported if no extension features are supported and MUST NOT be reported otherwise.
Table 5 - "ipp-features-supported" Keyword Values
Keyword Descriptiondocument-object IPP Document Object [PWG5100.5][PWG5100.5]job-save (OBSOLETE)
Job save from IPP Job and Printer Extensions - Set 2 [PWG5100.11][PWG5100.11]
none No extension features are supported.page-overrides Page overrides from IPP Page Overrides [PWG5100.6]
[PWG5100.6]proof-print Proof print from IPP Job and Printer Extensions - Set 2
[PWG5100.11][PWG5100.11]subscription-object IPP Event Notifications and Subscriptions [RFC3995]
[RFC3995]
5.8.4[5.7.8] job-constraints-supported (1setOf collection)
The RECOMMENDED "job-constraints-supported" Printer attribute provides a set of collections that describe Job Template attributes that are not supported by the Printer, allowing a Client to pre-screen options selected by the user and resolve them prior to job
Page 43 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1211221367
13681369
137013711372
1373
137413751376
1377
137813791380
1381
1382138313841385
1386
1387
138813891390
123
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
submission or validation. This attribute is REQUIRED if the “job-resolvers-supported” attribute is supported.
Each collection consists of a “resolver-name (name(MAX))” member attribute plus any Job Template attributes and their list of unsupported values. The “resolver-name” member attribute MUST refer to a collection in the “job-resolvers-supported” attribute described below that specifies a matching "resolver-name" value. Multiple constraint collections can refer to the same “job-resolvers-supported” collection. Constraints for the "media-col" Job Template attribute can be incomplete; that is, the "media-col" collection values can contain only those member attributes that contribute to the constraint.
For example,Figure 2 illustrates how a constraint for duplex printing on transparency media could be specified like so:by the Printer.
Figure 2 - Verbose "job-constraints-supported" and "job-resolvers-supported" Example
job-constraints-supported={ resolver-name=“="A”" sides="two-sided-short-edge" media-col={ media-type="transparency" }},{ resolver-name=“="A”" sides="two-sided-long-edge" media-col=={ { media-type="transparency" }}
job-resolvers-supported={ resolver-name=“="A”" sides="one-sided" media-col=={ { media-type="stationery" }}
Job Template attributes can be specified as a "1setOf <type-def-for-job-template-attribute>" so that multiple values may be listed, to reduceTo minimize the number of collections in "job-constraints-supported". The simplified and more compact", multiple Job Template attribute value alternatives can be specified in a single collection using a "1setOf syntax" representation would be structured like so:. Figure 3 illustrates a concise representation of the constraints described in Figure 2.
Page 44 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
12412513911392
1393139413951396139713981399
14001401
1402
14031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428
142914301431143214331434
126
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Figure 3 - Concise "job-constraints-supported" and "job-resolvers-supported" Example
job-constraints-supported={ resolver-name=“A” sides="two-sided-long-edge","two-sided-short-edge" media-col={ media-type="transparency" }}
job-resolvers-supported={ resolver-name=“A” sides="one-sided" media-col={ media-type="stationery" }}
Both are syntactically and structurally correct, but the latter representation SHOULD be used, since it is more compactconcise and should be preferredminimizes encoding size.
5.8.5[5.7.9] job-error-action-default (type2 keyword)
The default value supplied by the Printer if the Client omits the "job-error-action" Job Template attribute.
5.8.6[5.7.10] job-error-action-supported (1setOf type2 keyword)
The list of supported "job-error-action" Job Template attribute values.
5.8.7[5.7.11] job-resolvers-supported (1setOf collection)
The RECOMMENDED "job-resolvers-supported" Printer attribute provides a set of collections that describe Job Template attribute changes to make for constrained values, allowing a Client to pre-screen options selected by the user and resolve them prior to job submission or validation. This attribute is REQUIRED if the “job-constraints-supported” attribute is supported.
Each collection consists of a “resolver-name (name(MAX))” member attribute plus any Job Template attributes and their alternate values. Clients MUST only change as many Job Template attributes as are needed to resolve the constraint and MUST try each value in the order they are provided in the collection. The resolver potentially changes all of the constrained attributes in order to avoid constraint/resolver loops.
Resolvers containing the "media-col" Job Template attribute may provide an incomplete value; that is, the "media-col" collection value can contain only those member attributes that need to be changed to resolve the constraint.
Page 45 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1271281435
14361437143814391440144114421443144414451446144714481449145014511452
14531454
1455
14561457
1458
1459
1460
14611462146314641465
14661467146814691470
147114721473
129
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
The “resolver-name” member attribute value MUST be used by at least one collection in the “job-constraints-supported” attribute described above. Constraint resolvers MUST NOT create loops, such that the resolver for constraint “A” causes constraint “B”, but the resolver for constraint “B” causes constraint “A”.
For example, a resolver for duplex printing on transparency media would be encoded as a collection containing “resolver-name”, “sides”, and “media-col” member attributes. The “sides” member attribute would have the value “one-sided” while the “media-col” member attribute would contain a "media-type" member attribute with the value “stationery”.
[5.7.12] media-bottom-margin-supported (1setOf integer(0:MAX))
The REQUIRED "media-bottom-margin-supported" Printer attribute lists the supported values for the "media-bottom-margin" member attribute (section 8.7.1) for the "media-col" Job Template attribute [PWG5100.3]. Each value is a non-negative integer in hundredths of millimeters or 1/2540th of an inch and specifies a hardware margin supported by the Printer.
[5.7.13] media-left-margin-supported (1setOf integer(0:MAX))
The REQUIRED "media-left-margin-supported" Printer attribute lists the supported values for the "media-left-margin" member attribute (section 8.7.2) for the "media-col" Job Template attribute [PWG5100.3]. Each value is a non-negative integer in hundredths of millimeters or 1/2540th of an inch and specifies a hardware margin supported by the Printer.
[5.7.14] media-right-margin-supported (1setOf integer(0:MAX))
The REQUIRED "media-right-margin-supported" Printer attribute lists the supported values for the "media-right-margin" member attribute (section 8.7.3) for the "media-col" Job Template attribute [PWG5100.3]. Each value is a non-negative integer in hundredths of millimeters or 1/2540th of an inch and specifies a hardware margin supported by the Printer.
[5.7.15] media-source-supported (1setOf (type3 keyword | name(MAX))
The RECOMMENDED "media-source-supported" Printer attribute lists the supported values for the "media-source" member attribute (section 8.7.5) for the "media-col" Job Template attribute [PWG5100.3]. Each value is standard or locally-defined tray, slot, roll, or other media source name.
This attribute MUST be supported if the "media-source" member attribute (section 8.7.5) is supported.
[5.7.16] media-top-margin-supported (1setOf integer(0:MAX))
The REQUIRED "media-top-margin-supported" Printer attribute lists the supported values for the "media-top-margin" member attribute (section 8.7.7) for the "media-col" Job
Page 46 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1301311474147514761477
1478147914801481
1482
14831484148514861487
1488
14891490149114921493
1494
14951496149714981499
1500
1501150215031504
15051506
1507
15081509
132
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Template attribute [PWG5100.3]. Each value is a non-negative integer in hundredths of millimeters or 1/2540th of an inch and specifies a hardware margin supported by the Printer.
[5.7.17] multiple-operation-time-out-action (type2 keyword)
The "multiple-operation-time-out-action" Printer attribute defines the action that is taken when open jobs time out and is REQUIRED if the Printer supports the Create-Job operation. Table 6 lists the available actions.
Table 6 - "multiple-document-timeouttime-out-action" Keyword Values
Keyword Descriptionabort-job The job is closed and moved to the 'aborted' state. The
'aborted-by-system' keyword MUST be present in the "job-state-reasons" Job Description attribute.
hold-job The job is closed and moved to the 'pending-held' state. The 'job-hold-until-specified' keyword MUST be present in the "job-state-reasons" Job Description attribute and the "job-hold-until" Job Template attribute MUST be set to 'indefinite'.
process-job The job is closed and moved to the 'pending' or 'processing' state.
5.8.8[5.7.18] pages-per-subset-supported (boolean)
The OBSOLETE "pages-per-subset-supported" Printer attribute specifies whether the "pages-per-subset" attribute (section 6.2) is supported. This attribute is REQUIRED when the Printer also supports the "pages-per-subset" attribute.
5.8.9[5.7.19] preferred-attributes-supported (boolean)
The RECOMMENDED "preferred-attributes-supported" Printer attribute specifies whether the "preferred-attributes" attribute (section 6.1.5) will be returned by the Validate-Document (section 5.2) or Validate-Job (section 7.12) operations.
5.8.10[5.7.20] print-color-mode-default (type2 keyword)
The default value supplied by the Printer if the Client omits the "print-color-mode" Job Template attribute.
5.8.11[5.7.21] print-color-mode-supported (1setOf type2 keyword)
The listThis attribute specifies the Printer's set of supported "print-color-mode" Job Template attribute values.
The Printer's message catalogs SHOULD provide localized user-presentable label strings for all non-standard "print-color-mode" keywords. The Printer's message catalogs
Page 47 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
133134151015111512
1513
151415151516
1517
1518
151915201521
1522
152315241525
1526
15271528
1529
15301531
15321533
135
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
SHOULD provide localized "tooltip" contextual help strings for all non-standard "print-color-mode" keywords.
If this attribute is supported and non-standard keywords are among the keywords listed by this attribute, the Printer SHOULD support the "soft-proof-icc-profiles" attribute (section 6.8.41) and SHOULD provide an ICC profile for all supported keywords, to allow a Client to present a soft proof preview for each supported print color mode. Figure 4 illustrates, in "ipptoolfile" syntax, a Printer's implementation of "print-color-mode-supported" that specifies two vendor-unique color modes, and Figure 5 describes the corresponding Message Catalog entries supporting the attributes and values specified in Figure 4.
Figure 4 - "print-color-mode-supported" Vendor Extension Example
ATTR keyword print-color-mode-supported auto,color,monochrome,smi32473-magic-color,smi32473-blueprint
ATTR uri printer-strings-uri https://myprinter.local.:631/strings/ipp-en.strings
ATTR uri soft-proof-icc-profiles { MEMBER name smi32473-magic-color MEMBER uri https://myprinter.local.:631/proofing/magic-color.icc},{ MEMBER name smi32473-blueprint MEMBER uri https://myprinter.local.:631/proofing/blueprint.icc}
Its message catalog at /strings/ipp-en.strings would include the following (for en-us):
Figure 5 - "print-color-mode" Vendor Extension Message Catalog Example
"print-color-mode" = "Print Color Mode";"print-color-mode.auto" = "Automatic";"print-color-mode.auto-monochrome" = "Auto Monochrome";"print-color-mode.bi-level" = "Text";"print-color-mode.color" = "Color";"print-color-mode.highlight" = "Highlight";"print-color-mode.monochrome" = "Monochrome";"print-color-mode.process-bi-level" = "Process Text";"print-color-mode.process-monochrome" = "Process Monochrome";"print-color-mode.smi32473-magic-color" = "Magic Color";"print-color-mode.smi32473-magic-color._tooltip" = "Makes the colors look
magical";"print-color-mode.smi32473-blueprint" = "Blueprint";"print-color-mode.smi32473-blueprint._tooltip" = "Blue background with white
foreground lines";
5.8.12 print-quality-hints-supported (1setOf keyword)
This OPTIONAL “print-quality-hints-supported” attribute specifies the supported set of print quality related Job Template attributes that specify "rendering hints" to influence implementation details relating to print quality. A Client that supports this attribute can present a collection of "advanced print settings" controls to the user, without having to be
Page 48 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
13613715341535
1536153715381539154015411542
1543
15441545154615471548154915501551155215531554
1555
1556
155715581559156015611562156315641565156615671568156915701571
1572
1573157415751576
138
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
aware of the semantics of their meaning or purpose. The specified attribute names could be vendor- or site-unique.
The supporting Client might present these member attributes using the following UI control types:
Table 7: Attribute syntax and controls for "print-quality-hints-supported"
Syntax Control
boolean Checkbox
integer Text box
type2 keyword Pop-up menu or list
name Pop-up menu or list
The attribute syntax for all Job Template attributes named in "print-quality-hints-supported" MUST use one of the following attribute syntaxes:
boolean
integer
type2 keyword
name
A Client encountering an attribute with some other syntax type SHOULD ignore that attribute. The Printer MUST support "xxx-supported" and "xxx-default" Printer Description attributes for every attribute whose name is specified in "print-quality-hints-supported".
Figure 6 illustrates how this attribute would be used, a printer could implement two vendor-unique print quality hint attributes "notpwg-clever-x" and "notpwg-magic-y", and specify those two as print quality hint attributes to supporting Clients.
Figure 6 - "print-quality-hints-supported" example
ATTR boolean notpwg-clever-x-supported trueATTR boolean notpwg-clever-x-default falseATTR keyword notpwg-magic-y-supported 'none','aguamenti','duro','episkey'ATTR keyword notpwg-magic-y-default 'episkey'ATTR keyword print-quality-hints-supported 'notpwg-clever-x','notpwg-magic-y'
A Client could present a checkbox for "notpwg-clever-x" and a pop-up menu or list for "notpwg-magic-y".
Page 49 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
13914015771578
15791580
1581
15821583
1584
1585
1586
1587
158815891590
159115921593
1594
15951596159715981599
16001601
141
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.8.13 print-rendering-intent-default (type2 keyword)
The default value supplied by the Printer if the Client omits the "print-rendering-intent" Job Template attribute.
5.8.14[5.7.22] print-rendering-intent-supported (1setOf type2 keyword)
The list of supported "print-rendering-intent" Job Template attribute values. If the "print-rendering-intent" Job Template attribute is supported, then the values "relative" and "relative-bpc" MUST be supported as well.
5.8.15[5.7.23] printer-charge-info (text(MAX))
The OPTIONAL "printer-charge-info" Printer attribute provides a human-readable description of paid printing services for the Printer. Typically, this description will provide a summary of cost information.
5.8.16[5.7.24] printer-charge-info-uri (uri)
The OPTIONAL "printer-charge-info-uri" Printer attribute provides a "http:" or "https:" URI referring to a human-readable web page for paid printing services for the Printer. Typically , this web page will provide cost information and allow the Client to obtain a "job-accounting-id" value for subsequent print jobs.
[5.7.25] printer-config-change-date-time (dateTime)
The RECOMMENDED "printer-config-change-date-time" READ-ONLY Printer attribute records the most recent time at which the 'printer-config-changed' Printer Event occurred whether or not any Subscription objects were listening for this event. This attribute helps a Client or operator to determine how recently any of the Printer description attributes has been changed.
This attribute MUST be READ-ONLY - the only way to change its value is to change a Printer description attribute.
If this attribute is supported, the Printer MUST populate this attribute with the value of its "printer-current-time" attribute on power-up so that it always has a value. Whenever the 'printer-config-changed' Printer Event occurs, the Printer MUST update this attribute with the value of the Printer's "printer-current-time" attribute.
[5.7.26] printer-config-change-time (integer(1:MAX))
The RECOMMENDED "printer-config-change-time" READ-ONLY Printer attribute records the most recent time at which the 'printer-config-changed' Printer Event occurred whether or not any Subscription objects were listening for this event. This attribute helps a Client or operator to determine how recently any of the Printer description attributes has been changed.
Page 50 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1421431602
16031604
1605
160616071608
1609
161016111612
1613
1614161516161617
1618
16191620162116221623
16241625
1626162716281629
1630
16311632163316341635
144
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
This attribute MUST be READ-ONLY - the only way to change its value is to change a Printer description attribute.
On power-up, the Printer MUST populate this attribute with the value of its "printer-up-time" attribute so that it always has a value. Whenever the 'printer-config-changed' Printer Event occurs, the Printer MUST update this attribute with the value of the Printer's "printer-up-time" attribute.
[5.7.27] printer-geo-location (uri | unknown)
The RECOMMENDED "printer-geo-location" Printer attribute identifies the location of the associated device using the World Geodetic System 1984 [WGS84]. The means for expressing the location information is a “geo:” URI scheme [RFC5870].[RFC5870]. When the information is unknown, Printers MUST return the "printer-geo-location" attribute using the unknown out-of-band value. Printers that support this attribute MUST allow the user to set the location manually.
[5.7.28] printer-get-attributes-supported (1setOf type2 keyword)
The REQUIRED "printer-get-attributes-supported" Printer attribute lists the operation and Job Template attributes that contribute to the content returned by the Get-Printer-Attributes operation. The "document-format" value is REQUIRED for all Printers to conform to IPP/1.1 [STD92]. All other values are OPTIONAL.
5.8.17[5.7.29] printer-icc-profiles (1setOf collection)
The RECOMMENDED "printer-icc-profiles" Printer attribute lists one or more ICC profiles that characterize the Printer or its rendering. Each collection value consists of "profile-name (name(MAX))" and "profile-uri (uri)" member attributes plus any Job Template attributes (as member attributes) that contribute to the selection of the profile.
ICC profiles are generally used for Client-side color proofing and/or color management and MAY be externally managed via IPP or other protocols.
5.8.17.1[5.7.29.1] profile-name (name(MAX))
The REQUIRED "profile-name" member attribute provides a unique name for a given ICC profile. A given "profile-name" value MAY appear in multiple collection values but MUST always be paired with the same "profile-uri" value. That is, a "profile-name" of "Glossy Paper, High Quality" might be listed multiple times but will always refer to the same "profile-uri", for example "http://example.com/glossy-high.icc".
The "profile-name" value SHOULD be localized by the Printer based on the value of the "attributes-natural-language" operation attribute.
Page 51 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
14514616361637
1638163916401641
1642
164316441645164616471648
1649
1650165116521653
1654
1655165616571658
16591660
1661
16621663166416651666
16671668
147
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.8.17.2[5.7.29.2] profile-uri (uri)
The REQUIRED "profile-uri" member attribute references an ICC color profile as a "http:" or "https:" URI. Standard vendor-supplied profiles SHOULD be Printer-resident so that Client printing does not require access to external networks.
5.8.18[5.7.30] printer-icons (1setOf uri)
The REQUIRED "printer-icons" Printer attribute lists one or more Printer-resident images using "http:" or "https:" URIs. The referenced images MUST be RGBA PNG [RFC2083][RFC2083] format, have square dimensions of 48x48, 128x128, or 512x512 pixels, represent the physical appearance of the Printer, and show the same perspective/view of the Printer. If only one image is provided, it MUST have dimensions of 128x128 pixels. Images MUST be listed from smallest to largest dimensions. Images MUST provide an alpha channel to mask the background surrounding the printer.
5.8.19[5.7.31] printer-input-tray (1setOf octetString(MAX))
The RECOMMENDED "printer-input-tray" Printer attribute provides current input tray details mapped from the SNMP prtInputTable defined in IETF Printer MIB v2 [RFC3805].[RFC3805]. This attribute MUST be supported if the "media-source" member attribute (section 8.7.5)8.7.5) or "media-source-properties" member attribute (section 8.7.6)8.7.6) are supported.
If supported, this attribute MUST have the same cardinality (contain the same number of values) as the "media-source-supported" attribute. The ith value in the "printer-input-tray" attribute corresponds to the ith value in the "media-source-supported" attribute.
Page 52 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1481491669
167016711672
1673
1674167516761677167816791680
1681
16821683168416851686
1687168816891690
150
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.8.19.1[5.7.31.1] Keywords for printer-input-tray
Table 8 defines the IPP datatypes and keywords for encoding "printer-input-tray" from all of the machine-readable (non-localized) columnar objects in prtInputTable [RFC3805].[RFC3805].
Table 8 - Keywords for "printer-input-tray"
Printer MIB Object
IPP Data-type
IPP Keyword
PWG SM Keyword Conformance
prtInput...Index (note 1) Integer index Id OPTIONALType String type InputTrayType REQUIREDDimUnit String dimunit [.01 mm] RECOMMENDEDMediaDimFeed-DirDeclared
Integer mediafeed InputTrayMedia-Size.XDimension
REQUIRED
MediaDimXFeed-DirDeclared
Integer mediaxfeed InputTrayMedia-Size.YDimension
REQUIRED
MediaDimFeed-DirChosen
--- --- ---
MediaDimXFeed-DirChosen
--- --- ---
CapacityUnit String unit InputTray-CapacityUnit
RECOMMENDED
MaxCapacity Integer maxcapacity InputTrayMax-Capacity
REQUIRED
CurrentLevel Integer level InputTrayCurrentLevel
REQUIRED
Status Integer status SubunitStates REQUIREDMediaName (note 2) String medianame InputTrayMedia-
SizeNameRECOMMENDED
Name String name InputTrayName REQUIREDVendorName --- --- InputTrayVendor
Name---
Model --- --- InputTrayModel ---Version --- --- InputTrayVersion ---SerialNumber --- --- InputTraySerial-
Number---
Security --- --- InputTraySecurity ---MediaWeight (note 3) Integer mediaweight InputTrayMedia-
WeightMetricOPTIONAL
MediaType (note 2) String mediatype InputTrayMedia-Type
RECOMMENDED
MediaColor (note 2) String mediacolor InputTrayMedia-Color
RECOMMENDED
MediaFormParts --- --- InputTrayMedia-FormParts
---
MediaLoadTimeout --- --- InputTrayMedia- ---
Page 53 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
151152
1691
169216931694
1695
153
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Printer MIB Object
IPP Data-type
IPP Keyword
PWG SM Keyword ConformanceLoadTimeout
NextIndex --- --- InputTrayNext-InputTrayId
---
Notes:
1. prtInputIndex is OPTIONAL in "printer-input-tray", because correlation with the original MIB order is considered unimportant.
2. prtInputMediaName, prtInputMediaType, and prtInputMediaColor are RECOMMENDED in "printer-input-tray", because they are important but often unknown to the printer (while loaded media dimensions are usually known).
3. prtInputMediaWeight is OPTIONAL in "printer-input-tray", because because most Printers can't sense loaded media weight.
4. Printer MIB objects without corresponding IPP keywords are *not* mapped, per DMTF CIM ranking activity in WIMS WG in 2006.
5.8.19.2[5.7.31.2] Encoding of printer-input-tray
Values of "printer-input-tray" MUST be encoded using a visible subset of the [US-ASCII] charset. Control codes (0x00 to 0x1F and 0x7F) MUST NOT be used. The ABNF [STD68] in Figure 7 defines the standard encoding in "printer-input-tray" for all the machine-readable (non-localized) columnar objects in prtInputTable [RFC3805].[RFC3805].
Figure 7 - ABNF for "printer-input-tray" Values
printer-input-tray = *input-required *[input-optional] ; set of input elements encoded into one value input-required = input-req ";"input-req = input-type / input-media-feed / input-media-xfeed / input-max-capacity / input-level / input-status / input-name input-optional = input-opt ";"input-opt = input-index / input-dim-unit / input-unit / input-media-name / input-media-weight / input-media-type / input-media-color / input-ext
Page 54 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
154155
1696
1697
169816991700170117021703170417051706
1707
1708170917101711
1712
171317141715171617171718171917201721172217231724172517261727172817291730173117321733
156
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
input-type = "type" "=" 1*ALPHA ; enumerated value as an alpha string (e.g., ; 'sheetFeedAutoRemovableTray') of prtInputType in [RFC3805] mapped ; indirectly from the *label* in PrtInputTypeTC in [IANAPRT]
input-media-feed = "mediafeed" "=" 1*[DIGIT / "-"] ; integer value as a numeric string mapped directly from ; prtInputMediaDimFeedDirDeclared in [RFC3805] input-media-xfeed = "mediaxfeed" "=" 1*[DIGIT / "-"] ; integer value as a numeric string mapped directly from ; prtInputMediaDimXFeedDirDeclared in [RFC3805] input-max-capacity = "maxcapacity" "=" 1*[DIGIT / "-"] ; integer value as a numeric string mapped directly from ; prtInputMaxCapacity in [RFC3805]
input-level = "level" "=" 1*[DIGIT / "-"] ; integer value as a numeric string mapped directly from ; prtInputCurrentLevel in [RFC3805] input-status = "status" "=" 1*DIGIT ; integer value as a numeric string mapped directly from ; prtInputStatus in [RFC3805] input-name = "name" "=" 1*ALPHA ; string value as an alpha string mapped directly from ; prtInputName in [RFC3805] input-index = "index" "=" 1*DIGIT ; integer value as a numeric string mapped directly from ; prtInputIndex in [RFC3805] input-dim-unit = "dimunit" "=" 1*ALPHA ; enumerated value as an alpha string (e.g., 'other') of ; prtInputDimUnit in [RFC3805] mapped indirectly from ; the *label* in PrtMediaUnitTC in [RFC3805] input-unit = "unit" "=" 1*ALPHA ; enumerated value as an alpha string (e.g., 'other') of ; prtInputCapacityUnit in [RFC3805] mapped indirectly from ; the *label* in PrtCapacityUnitTC in [RFC3805] input-media-name = "medianame" "=" 1*ALPHA ; string value as an alpha string mapped directly from ; prtInputMediaName in [RFC3805] input-media-weight = "mediaweight" "=" 1*[DIGIT / "-"] ; integer value as a numeric string mapped directly from ; prtInputMediaWeight in [RFC3805]
input-media-type = "mediatype" "=" 1*ALPHA ; string value as an alpha string mapped directly from ; prtInputMediaType in [RFC3805]
Page 55 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
15715817341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789
159
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
input-media-color = "mediacolor" "=" 1*ALPHA ; string value as an alpha string mapped directly from ; prtInputMediaColor in [RFC3805]
input-ext = input-extname "=" input-extvalueinput-extname = 1*[ALPHA / DIGIT / "-"]input-extvalue = 1*[ALPHA / DIGIT / "-" / "." / ","] ; extension point for other MIB values not mapped
Page 56 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
160161179017911792179317941795179617971798
162
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.8.19.3[5.7.31.3] Examples of printer-input-tray
The following example shows two rows of the machine-readable (non-localized) columnar objects from prtInputTable encoded into corresponding values of "printer-input-tray".
Note: Line breaks are shown below for readability of this example. Line breaks MUST NOT be encoded into actual values of "printer-input-tray".
printer-input-tray[1] = type=sheetFeedAutoRemovableTray; mediafeed=110000;mediaxfeed=85000; maxcapacity=500;level=100;status=8;name=Tray1; index=1;dimunit=tenThousandthsOfInches;unit=sheets; medianame=na-letter;mediaweight=-2; mediatype=stationery;mediacolor=blue; printer-input-tray[2] = type=sheetFeedAutoRemovableTray; mediafeed=110000;mediaxfeed=85000; maxcapacity=100;level=20;status=8;name=Tray2; index=2;dimunit=tenThousandthsOfInches;unit=sheets; medianame=na-letter;mediaweight=-2; mediatype=photographic;mediacolor=white;
[5.7.32] printer-mandatory-job-attributes (1setOf type2 keyword)
The OPTIONAL "printer-mandatory-job-attributes" Printer attribute lists the minimum Job Template and operation attributes that are required for a successful job creation operation.
5.8.20[5.7.33] printer-organization (1setOf text(MAX))
The REQUIRED "printer-organization" Printer attribute specifies the name of the organization (e.g., company, university, social club, etc.) that is administratively associated with this Printer.
See: Section section 5.4.1 'OrganizationName' in ITU-T [X.520] and the derived section 2.19 'o' in IETF LDAP User Schema [RFC4519].[RFC4519] for more information.
5.8.21[5.7.34] printer-organizational-unit (1setOf text(MAX))
The REQUIRED "printer-organizational-unit" Printer attribute specifies the name of the organizational unit (e.g., 'Human Resources', 'Finance', etc.) that is functionally associated with this Printer.
See: Section section 5.4.2 'OrganizationalUnitName' in ITU-T [X.520][X.520] and the derived section 2.20 'ou' in LDAP User Schema [RFC4519].[RFC4519] for more information.
Page 57 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
163164
1799
18001801
18021803
180418051806180718081809181018111812181318141815181618171818
1819
18201821
1822
182318241825
18261827
1828
182918301831
183218331834
165
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.8.22[5.7.35] printer-output-tray (1setOf octetString(MAX))
The CONDITIONALLY REQUIRED "printer-output-tray" Printer attribute provides current output tray details mapped from the SNMP prtOutputTable defined in IETF Printer MIB v2 [RFC3805].[RFC3805]. This attribute MUST be supported if the "output-bin" attribute [PWG5100.2][PWG5100.2] is supported.
If supported, this attribute MUST have the same cardinality (contain the same number of values) as the "output-bin-supported" attribute. The ith value in the "printer-output-tray" attribute corresponds to the ith value in the "output-bin-supported" attribute.
5.8.22.1[5.7.35.1] Keywords for printer-output-tray
Table 9 defines the IPP datatypes and keywords for encoding "printer-output-tray" from all of the machine-readable (non-localized) columnar objects in prtOutputTable [RFC3805].[RFC3805].
Table 9 - Keywords for "printer-output-tray"
Printer MIB Object
IPP Data-type IPP Keyword PWG SM Keyword Conformance
prtOutput...Index (note 1) Integer index Id OPTIONALType String type OutputTrayType REQUIREDCapacityUnit String unit OutputTrayCapacity-
UnitRECOMMENDED
MaxCapacity Integer maxcapacity OutputTrayMax-Capacity
REQUIRED
RemainingCapacity Integer remaining OutputTrayRemainingCapacity
REQUIRED
Status Integer status SubunitStates REQUIREDName String name OutputTrayName REQUIREDVendorName --- --- OutputTrayVendor-
Name---
Model --- --- OutputTrayModel ---Version --- --- OutputTrayVersion ---SerialNumber --- --- OutputTraySerial-
Number---
Security --- --- OutputTraySecurity ---DimUnit (note 2) --- --- ---MaxDimFeedDir (note 2)
--- --- OutputTrayMax-MediaSizeName
---
MaxDimXFeedDir (note 2)
--- --- OutputTrayMax-MediaSizeName
---
MinDimFeedDir (note 2)
--- --- OutputTrayMin-MediaSizeName
---
MinDimXFeedDir (note 2)
--- --- OutputTrayMin-MediaSizeName
---
Page 58 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1661671835
1836183718381839
184018411842
1843
184418451846
1847
168
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Printer MIB Object
IPP Data-type IPP Keyword PWG SM Keyword Conformance
StackingOrder (note 3)
String stackingorder OutputTrayStacking-Order
REQUIRED
PageDelivery-Orientation (note 3)
String pagedelivery OutputTrayPage-DeliveryOrientation
REQUIRED
Bursting --- --- OutputTrayBursting ---Decollating --- --- OutputTrayDecollating ---PageCollated --- --- OutputTrayPageCollat
ed---
OffsetStacking (note 4)
String offsetstacking OutputTrayOffsetStacking
OPTIONAL
Notes:
1. prtOutputIndex is OPTIONAL in "printer-output-tray", because correlation with the original MIB order is considered unimportant.
2. prtOutputDimUnit, prtOutputMaxDimFeedDir, prtOutputMaxDimXFeedDir, prtOutputMinDimFeedDir, and prtOutputMinDimXFeedDir are *not* mapped, because they were rated "C" (low priority) in the DMTF CIM ranking activity in WIMS WG in 2006.
3. prtOutputStackingOrder and prtOututPageDeliveryOrientation are REQUIRED in "printer-output-tray" in order to enable a Client to provide media load instructions for manual duplexing, envelope, and form printing.
4. prtOutputOffsetStacking is OPTIONAL because it was rated "B" (medium priority) in the DMTF CIM ranking activity in WIMS WG in 2006.
5. Printer MIB objects without corresponding IPP keywords are *not* mapped, per DMTF CIM ranking activity in WIMS WG in 2006.
5.8.22.2[5.7.35.2] Encoding of printer-output-tray
Values of "printer-output-tray" MUST be encoded using a visible subset of the [US-ASCII] charset. Control codes (0x00 to 0x1F and 0x7F) MUST NOT be used. The ABNF [STD68][STD68] in Figure 8 defines the standard encoding in "printer-output-tray" for all the machine-readable (non-localized) columnar objects in prtOutputTable [RFC3805].[RFC3805].
Figure 8 - ABNF for "printer-output-tray" Values
printer-output-tray = *output-required *[output-optional] ; set of output elements encoded into one value output-required = output-req ";"output-req = output-type / output-max-capacity / output-page-delivery /
Page 59 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
169170
1848
1849
1850185118521853185418551856185718581859186018611862
1863
18641865186618671868
1869
1870187118721873187418751876
171
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
output-remaining / output-stacking-order / output-status / output-name
output-optional = output-opt ";"Figure 3 - ABNF for "printer-output-tray" Values (con't)output-opt = output-index / output-unit / output-offset-stacking / output-ext
output-type = "type" "=" 1*ALPHA ; enumerated value as an alpha string ; (e.g., 'removableBin') of prtOutputType ; in [RFC3805] mapped indirectly from ; the *label* in PrtOutputTypeTC in [IANAPRT] output-max-capacity = "maxcapacity" "=" 1*[DIGIT / "-"] ; integer value as a numeric string mapped directly from ; prtOutputMaxCapacity in [RFC3805] output-remaining = "remaining" "=" 1*[DIGIT / "-"] ; integer value as a numeric string mapped directly from ; prtOutputRemainingCapacity in [RFC3805] output-status = "status" "=" 1*DIGIT ; integer value as a numeric string mapped directly from ; prtOutputStatus in [RFC3805]
output-name = "name" "=" 1*ALPHA ; string value as an alpha string mapped directly from ; prtOutputName in [RFC3805] output-index = "index" "=" 1*DIGIT ; integer value as a numeric string mapped directly from ; prtOutputIndex in [RFC3805] output-unit = "unit" "=" 1*ALPHA ; enumerated value as an alpha string (e.g., 'other') of ; prtOutputCapacityUnit in [RFC3805] mapped indirectly from ; the *label* in PrtCapacityUnitTC in [RFC3805] output-stacking-order = "stackingorder" "=" 1*ALPHA ; enumerated value as an alpha string (e.g., 'firstToLast') of ; prtOutputStackingOrder in [RFC3805] mapped indirectly from ; the *label* in PrtOutputStackingOrderTC in [RFC3805]
output-page-delivery = "pagedelivery" "=" 1*ALPHA ; enumerated value as an alpha string (e.g., 'faceUp') of ; prtOutputPageDeliveryOrientation in [RFC3805] mapped indirectly ; from the *label* in PrtOutputPageDeliveryOrientationTC in ; [RFC3805] output-offset-stacking = "offsetstacking" "=" 1*ALPHA ; enumerated value as an alpha string (e.g., 'notPresent') of
Page 60 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
17217318771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932
174
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
; prtOutputOffsetStacking in [RFC3805] mapped indirectly from ; the *label* in PresentOnOff in [RFC3805]
output-ext = output-extname "=" output-extvalueoutput-extname = 1*[ALPHA / DIGIT / "-"]output-extvalue = 1*[ALPHA / DIGIT / "-" / "." / ","] ; extension point for other MIB values not mapped
5.8.22.3[5.7.35.3] Examples of printer-output-tray
The following example shows two rows of the machine-readable (non-localized) columnar objects from prtOutputTable encoded into corresponding values of "printer-output-tray".
Note: Line breaks are shown below for readability of this example. Line breaks MUST NOT be encoded into actual values of "printer-output-tray".
printer-output-tray[1] = type=removableBin; maxcapacity=500;remaining=-3;status=12;name=LeftOutputBin; index=1;unit=sheets;stackingorder=firstToLast; pagedelivery=faceDown;offsetstacking=notPresent; printer-output-tray[2] = type=removableBin; maxcapacity=300;remaining=-3;status=0;name=RightOutputBin; index=2;unit=sheets;stackingorder=firstToLast; pagedelivery=faceDown;offsetstacking=notPresent;
5.8.23[5.7.36] printer-strings-languages-supported (1setOf naturalLanguage)
The RECOMMENDED "printer-strings-languages-supported" Printer attribute provides a list of languages that are supported for the "printer-strings-uri" (section 6.8.39) Printer attribute.
This attribute MUST be supported if the "printer-strings-uri" attribute is supported.
5.8.24[5.7.37] printer-strings-uri (uri | no-value)
The RECOMMENDED "printer-strings-uri" Printer attribute provides a "text/strings" message catalog file using "http:" or "https:" URIs that SHOULD be Printer-resident so that Client printing does not require access to external networks. Printers SHOULD provide localizations for all supported Job Template attributes, keywords, and enums as well as localizations for "document-state-reasons", "job-state-reasons", "notify-event", and "printer-state-reasons" keywords so that a Client may present a consistent user interface to the User.
If supported, the Printer MUST return a URI corresponding to the language specified by the "attributes-natural-language" operation attribute or the no-value out-of-band value if the Printer does not have a localization for the specified language but otherwise supports the attribute.
Page 61 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1751761933193419351936193719381939
1940
19411942
19431944
19451946194719481949195019511952195319541955
1956
195719581959
1960
1961
1962196319641965196619671968
1969197019711972
177
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
This attribute MUST be supported if the "printer-strings-languages-supported" (section 6.8.38) attribute is supported.
The "text/strings" MIME media type is defined in section 10.1.
5.8.25[5.7.38] requesting-user-uri-supported (boolean)
The REQUIRED "requesting-user-uri-supported" Printer attribute specifies whether the "requesting-user-uri" (section 6.1.6) operation, "job-originating-user-uri" (section 6.4.1) Job Description, and "notify-subscriber-user-uri" (section 6.5.2) Subscription Description attributes are supported. Printers MUST support this attribute with a value of 'true'.
5.8.26 soft-proof-icc-profiles (1setOf collection)
The "soft-proof-icc-profiles" Printer Description attribute specifies the set of ICC profiles the Printer provides for soft proofing the color transformation the Printer will perform for the corresponding "print-color-mode" keyword. This set is distinct from the "printer-icc-profiles" attribute (section 6.8.31) because the ICC profiles are used for different purposes. These profiles MUST be used ONLY for soft proofing and MUST NOT be used for color management.
Each collection value consists of "profile-name (name(MAX))" and "profile-uri (uri)" member attributes plus any Job Template attributes (as member attributes) that contribute to the selection of the profile.
5.8.26.1 profile-name (name(MAX))
The REQUIRED "profile-name" member attribute provides a unique name for a given ICC profile. A given "profile-name" value MAY appear in multiple collection values but MUST always be paired with the same "profile-uri" value. That is, a "profile-name" of "Glossy Paper, High Quality" might be listed multiple times but will always refer to the same "profile-uri", for example "http://example.com/glossy-high.icc".
The "profile-name" value SHOULD be localized by the Printer based on the value of the "attributes-natural-language" operation attribute.
5.8.26.2 profile-uri (uri)
The REQUIRED "profile-uri" member attribute references an ICC color profile as a "http:" or "https:" URI. Standard vendor-supplied profiles SHOULD be Printer-resident so that Client printing does not require access to external networks. Printer-resident profiles SHOULD be made available on the same TCP port number used for IPP (default 631) to ensure resource availability.
Page 62 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
17817919731974
1975
1976
1977197819791980
1981
198219831984198519861987
198819891990
1991
19921993199419951996
19971998
1999
20002001200220032004
180
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.9 Printer Status Attributes
5.9.1 device-service-count (integer(1:MAX))
The REQUIRED "device-service-count" READ-ONLY Printer attribute specifies the number of Printer instances supported by the Imaging Device.
5.9.2 device-uuid (uri(45))
The REQUIRED "device-uuid" READ-ONLY Printer attribute specifies a globally-unique identifier for the Imaging Device that MUST be a 45-octet "urn:uuid:" URI [RFC4122].
5.9.3 printer-config-change-date-time (dateTime)
The RECOMMENDED "printer-config-change-date-time" READ-ONLY Printer attribute records the most recent time at which the 'printer-config-changed' Printer Event occurred whether or not any Subscription objects were listening for this event. This attribute helps a Client or operator to determine how recently any of the Printer description attributes has been changed.
This attribute MUST be READ-ONLY - the only way to change its value is to change a Printer description attribute.
If this attribute is supported, the Printer MUST populate this attribute with the value of its "printer-current-time" attribute on power-up so that it always has a value. Whenever the 'printer-config-changed' Printer Event occurs, the Printer MUST update this attribute with the value of the Printer's "printer-current-time" attribute.
5.9.4 printer-config-change-time (integer(1:MAX))
The RECOMMENDED "printer-config-change-time" READ-ONLY Printer attribute records the most recent time at which the 'printer-config-changed' Printer Event occurred whether or not any Subscription objects were listening for this event. This attribute helps a Client or operator to determine how recently any of the Printer description attributes has been changed.
This attribute MUST be READ-ONLY - the only way to change its value is to change a Printer description attribute.
On power-up, the Printer MUST populate this attribute with the value of its "printer-up-time" attribute so that it always has a value. Whenever the 'printer-config-changed' Printer Event occurs, the Printer MUST update this attribute with the value of the Printer's "printer-up-time" attribute.
Page 63 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
181182
2005
2006
20072008
2009
20102011
2012
20132014201520162017
20182019
2020202120222023
2024
20252026202720282029
20302031
2032203320342035
183
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.9.5 printer-supply (1setOf octetString(MAX))
The RECOMMENDED "printer-supply" READ-ONLY Printer attribute provides current supply details mapped from the SNMP prtMarkerSuppliesTable and prtMarkerColorantTable defined in IETF Printer MIB v2 [RFC3805].[RFC3805].
This attribute MUST be supported if the "printer-supply-description" (section 5.5.22) Printer attribute is supported. If supported, this attribute MUST have the same cardinality (contain the same number of values) as the "printer-supply-description" attribute. The i th value in the "printer-supply" attribute corresponds to the ith value in the "printer-supply-description" attribute.
5.9.5.1[5.7.38.1] Keywords for printer-supply
Table 10 defines the IPP datatypes and keywords for encoding "printer-supply" from all of the machine-readable (non-localized) columnar objects in prtMarkerSuppliesTable and prtMarkerColorantTable [RFC3805].[RFC3805]. A Printer MAY represent site-unique or vendor-unique information using extension keywords. The extension keyword syntax
[5.7.38.2] Encoding of printer-supply
Values of "printer-supply" MUST be encoded using a visible subset of the [US-ASCII] charset. Control codes (0x00 to 0x1F and 0x7F) MUST NOT be used. The ABNF [STD68] in Figure 9 defines the standard encoding in "printer-supply" for all the machine-readable (non-localized) columnar objects in prtMarkerSuppliesTable and prtMarkerColorantTable [RFC3805].
Page 64 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
1841852036
203720382039
20402041204220432044
2045
2046204720482049
2050
205120522053205420552056
186
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Table 10 - Keywords for "printer-supply"
SNMP Supply Object IPP Data-type
IPP Keyword
SM Keyword
Conformance
prtMarkerSupplies...prtMarkerSuppliesType
String type REQUIRED
Index(note 1)prtMarkerSuppliesMaxCapacity
Integer maxcapacityindex
Id REQUIRED
MarkerIndex(note 2)prtMarkerSuppliesLevel
Integer levelmarkerindex REQUIRED OPTIONAL
ColorantIndex(note 3)prtMarkerColorantValue
StringInteger
colorantname--- MarkerSupply ColorantIdREQUIRED
---
Class String class MarkerSupply Class
RECOMMENDED
TypeprtMarkerSuppliesClass
String classtype RECOMMENDEDMarkerSupply Type
REQUIRED
SupplyUnitprtMarkerSuppliesSupplyUnit
String unit MarkerSupply CapacityUnit
RECOMMENDED
MaxCapacity Integer maxcapacity MarkerSupply MaxCapacity
REQUIRED
LevelprtMarkerColorantIndex
Integer colorantindexlevel OPTIONALMarkerSupply CurrentLevel
REQUIRED
prtMarkerColorantRole String colorantrole OPTIONALprtMarkerColorant...prtMarkerColorantTonality
Integer coloranttonality OPTIONAL
Index Integer colorantindex Id OPTIONALRoleprtMarkerSuppliesIndex
IntegerString
indexcolorantrole
MarkerColorant Role
OPTIONAL (note 1)
ValueprtMarkerSuppliesMarkerIndex
IntegerString
markerindexcolorantname
MarkerColorant NameOPTIONAL
REQUIRED
Page 65 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
187188
2057
189
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
(note 2)TonalityprtMarkerSuppliesColorantIndex
Integer n/acoloranttonality MarkerColorant Tonalityn/a (note 3)
OPTIONAL
Notes:
1 - prtMarkerSuppliesIndex is OPTIONAL in "printer-supply" because correlation with the original MIB order is considered unimportant.
2 - prtMarkerSuppliesMarkerIndex is OPTIONAL in "printer-supply" because most Printers don't have multiple markers.
3 - prtMarkerSuppliesColorantIndex is omitted in "printer-supply" because it is redundant with prtMarkerColorantIndex for the rows that include colorant information.
5.9.5.2[5.7.38.3] Encoding of printer-supply
Values of "printer-supply" MUST be encoded using a visible subset of the [US-ASCII] charset. Control codes (0x00 to 0x1F and 0x7F) MUST NOT be used.
Page 66 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
190191
2058
20592060
20612062
206320642065
2066
20672068
192
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
The ABNF [STD68] in Figure 9 defines the standard encoding in "printer-supply" for all the machine-readable (non-localized) columnar objects in prtMarkerSuppliesTable and prtMarkerColorantTable [RFC3805].
Figure 9 - ABNF for "printer-supply" Values
printer-supply = *supply-required *[supply-optional] ; set of supply elements encoded into one value
supply-required = supply-req ";"supply-req = supply-type / supply-max-capacity / supply-level / colorant-name
supply-optional = supply-opt ";"supply-opt = supply-index / marker-index / supply-class / supply-unit / colorant-index / colorant-role / colorant-name / colorant-tonality / supply-ext
supply-type = "type" "=" 1*ALPHA ; enumerated value as an alpha string (e.g., 'toner') of ; prtMarkerSuppliesType in [RFC3805] mapped indirectly from ; the *label* in PrtMarkerSuppliesTypeTC in [IANAPRT]
supply-max-capacity = "maxcapacity" "=" 1*[DIGIT / "-"] ; integer value as a numeric string mapped directly from ; prtMarkerSuppliesMaxCapacity in [RFC3805]
supply-level = "level" "=" 1*[DIGIT / "-"] ; integer value as a numeric string mapped directly from ; prtMarkerSuppliesLevel in [RFC3805]
colorant-name = "colorantname" "=" 1*ALPHA ; string value as an alpha string mapped directly from ; prtMarkerColorantValue in [RFC3805]
supply-index = "index" "=" 1*DIGIT ; integer value as a numeric string mapped directly from ; prtMarkerSuppliesIndex in [RFC3805]
marker-index = "markerindex" "=" 1*DIGIT ; integer value as a numeric string mapped directly from ; prtMarkerSuppliesMarkerIndex in [RFC3805]
supply-class = "class" "=" 1*ALPHA ; enumerated value as an alpha string (e.g., 'other') of ; prtMarkerSuppliesClass in [RFC3805] mapped indirectly from ; the *label* in PrtMarkerSuppliesClassTC in [RFC3805]
Page 67 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
193194206920702071
2072
2073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121
195
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
supply-unit = "unit" "=" 1*ALPHA ; enumerated value as an alpha string (e.g., 'other') of ; prtMarkerSuppliesSupplUnitprtMarkerSuppliesSupplyUnit in [RFC3805] mapped indirectly from ; the *label* in PrtMarkerSuppliesSupplyUnitTC in [RFC3805]
colorant-index = "colorantindex" "=" 1*DIGIT ; integer value as a numeric string mapped directly from ; prtMarkerColorantIndex in [RFC3805]
Page 68 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
19619721222123212421252126212721282129213021312132
198
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Figure 4 - ABNF for "printer-supply" Values (con't)colorant-role = "colorantrole" "=" 1*ALPHA ; enumerated value as an alpha string (e.g., 'other') of ; prtMarkerColorantRole in [RFC3805] mapped indirectly from ; the *label* in PrtMarkerColorantRoleTC in [RFC3805]
colorant-name = "colorantname" "=" 1*ALPHA ; string value as an alpha string mapped directly from ; prtMarkerColorantValue in [RFC3805]
colorant-tonality = "coloranttonality" "=" 1*DIGIT ; integer value as a numeric string mapped directly from ; prtMarkerColorantTonality in [RFC3805] /
supply-ext = supply-extname "=" supply-extvalue ; extension point for other MIB values not mapped ; or site-unique / vendor-unique additional info
supply-extname = 1*[ALPHA / DIGIT / "-"]supply-extvalue = 1*[ALPHA / DIGIT / "-" / "." / ","] ; extension point for other MIB values not mapped
[5.7.38.4] Colorant Names in printer-supply
Colorant names in "printer-supply" values not listed or referenced in the IETF Printer MIB v2 MUST conform to the color names and extension formats defined in the PWG Media Standardized Names v2.0 [PWG5101.1],[PWG5101.1], e.g., "light-cyan", "com.example-light-magenta_ff7fffff", etc. This allows Clients to present supply level monitoring user interface with the appropriate colors. Table 11 lists the standard colorant names with their corresponding reference sRGBA values.
Table 11 - Standard Colorant Names for "printer-supply"
Name sRGBA Value Sampleno-color Undefinedblack 000000ff0x000000FFlight-black 808080ff0x808080FFblue 0000ffff0x0000FFFFcyan 00ffffff0x00FFFFFFlight-cyan e0ffffff0xE0FFFFFFgold ffd700ff0xFFD700FFgray 808080ff0x808080FFdark-gray 404040ff0x404040FFlight-gray d3d3d3ff0xD3D3D3FFgreen 008000ff0x008000FFmagenta ff00ffff0xFF00FFFFlight-magenta ff77ffff0xFF77FFFFmulti-color Undefinedorange ffa500ff0xFFA500FF
Page 69 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
199200
213321342135213621372138213921402141214221432144214521462147214821492150215121522153
2154
215521562157215821592160
2161
201
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
red ff0000ff0xFF0000FFsilver c0c0c0ff0xC0C0C0FFwhite ffffffff0xFFFFFFFF yellow ffff00ff0xFFFF00FFdark-yellow ffcc00ff0xFFCC00FF
5.9.5.3[5.7.38.5] Example of printer-supply
The following example shows twoFigure 10 shows the values of "printer-supply" in "ipptoolfile" syntax [IPPSAMPLE], encoding seven rows of the machine-readable (non-localized) columnar objects from prtMarkerSuppliesTable and prtMarkerColorantTable encoded into corresponding values of "printer-supply"..
Note: Line breaks are shown below for readability of this example. Line breaks MUST NOT be encoded into actual values of "printer-supply".", as per section 6.9.5.3.
Figure 10 - Example values for "printer-supply[1] =" Printer Status attribute
ATTR octetString printer-supply
"type=tonertonerCartridge;maxcapacity=100;level=75;index=1;markerindex=156;unit:percent; colorantname=black;colorantindex=1;colorantrole=process;coloranttonality=128;class=supplyThatIsConsumed;unit=percent;", "type=tonerCartridge;maxcapacity=100;level=77;unit:percent;colorantname=cyan;colorantindex=2;colorantrole=process;colorantname=cyan;
coloranttonality=128;
printer-supply[2] = type=toner;maxcapacity=100;level=72;index=2;markerindex=1;
class=supplyThatIsConsumed;unit=percent;", "type=tonerCartridge;maxcapacity=100;level=19;unit:percent;colorantname=magenta;colorantindex=3;colorantrole=process;colorantname=magenta; coloranttonality=128;class=supplyThatIsConsumed",
"type=tonerCartridge;maxcapacity=100;level=31;unit:percent;colorantname=yellow;colorantindex=4;colorantrole=process;coloranttonality=128;class=supplyThatIsConsumed",
"type=wasteToner;maxcapacity=100;level=67;unit=percent;colorantname=no-color;colorantindex=77;colorantrole=other;class=other",
"type=fuser;maxcapacity=100;level=89;unit:percent;colorantname=no-color;colorantindex=88;colorantrole=other;class:other",
"type=transferUnit;maxcapacity=100;level=84;unit:percent;colorantname=no-color;colorantindex=99;colorantrole=other;class:other"
Page 70 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
202203
2162
2163216421652166
21672168
2169
217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202
204
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.9.6 printer-supply-description (1setOf text(MAX))
The RECOMMENDED "printer-supply-description" READ-ONLY Printer attribute provides current supply descriptions mapped from the SNMP prtMarkerSuppliesDescription object in the prtMarkerSuppliesTable defined in IETF Printer MIB v2 [RFC3805].[RFC3805].
This attribute MUST be supported if the "printer-supply" (section 5.5.21)6.9.5) Printer attribute is supported. If supported, this attribute MUST have the same cardinality (contain the same number of values) as the "printer-supply" attribute. The i th value in the "printer-supply-description" attribute corresponds to the ith value in the "printer-supply" attribute.
5.9.6.1[5.7.38.6] Encoding of printer-supply-description
Values of the "printer-supply-description" attribute MUST be mapped from the corresponding human-readable (localized) values of prtMarkerSuppliesDescription, exactly as follows:
[1.] Each value of prtMarkerSuppliesDescription MUST be converted from the charset [RFC3808][RFC3808] specified by prtGeneralCurrentLocalization and prtLocalizationCharacterSet into the charset specified by "charset-configured" and then copied into a text value of "printer-supply-description";
[2.] Each value of "printer-supply-description" MUST be tagged with the natural language [RFC5646][RFC5646] specified by prtGeneralCurrentLocalization, prtLocalizationLanguage, and prtLocalizationCountry; and
1.[3.] Each value of "printer-supply-description" MUST be in the same order as the corresponding value of "printer-supply" (i.e., strictly ascending order according to prtMarkerSuppliesIndex).
5.9.6.2[5.7.38.7] Example of printer-supply-description
The following example shows two instances of Figure 11 describes in "ipptoolfile" syntax [IPPSAMPLE] the human-readable (localized) columnar object"printer-supply-description" values corresponding to the "printer-supply" values from Figure 10, encoding the Printer's prtMarkerSuppliesDescription values in theits prtMarkerSuppliesTable.
Note: Line breaks are shown below for readability of this example. Line breaks MUST NOT be encoded into corresponding actual values of "printer-supply-description".", as per section 6.9.6.1.
Figure 11 - Example of "printer-supply-description[1] ="
Cyan Toner Cartridge S/N:CRUM-09111141087
ATTR textWithoutLanguage printer-supply-description[2] = "Black Toner Cartridge S/N:16859422", "Cyan Toner Cartridge S/N:16852765", "Magenta Toner Cartridge S/N:CRUM-0856103109116859681", "Yellow Toner Cartridge S/N:16859372", "Waste Toner Bin S/N:16816815",
Page 71 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
2052062203
220422052206
2207220822092210
2211
221222132214
2215221622172218221922202221222222232224
2225
2226222722282229
223022312232
2233
22342235223622372238223922402241
207
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
"Fuser Kit S/N:16820223", "Transfer Kit S/N:16821304"
5.9.7 printer-supply-info-uri (uri)
The RECOMMENDED "printer-supply-info-uri" Printer attribute provides a URI referring to a Printer-resident web page that provides controls for managing the Printer and its supplies, e.g., supply replacement, head alignment, self-test pages, and so forth. The web page MAY also provide supply part numbers, links for ordering supplies, and detailed instructions for replacing supplies.
The URI MUST use the “http” or “https” scheme with the Printer as the destination host - external URIs are not allowed.
5.9.8[5.7.39] printer-uuid (uri(45))
The REQUIRED "printer-uuid" READ-ONLY Printer attribute specifies a globally-unique identifier for the Printer that MUST be a 45-octet "urn:uuid" URI [RFC4122].
The "printer-uuid" attribute MUST NOT be used as a Printer identifier in IPP Printer operations but MAY be used as a Printer identifier for other protocol bindings and SHOULD be used for accounting and auditing of Printers.
5.9.9 requesting-user-uri-supported (boolean)
The REQUIRED "requesting-user-uri-supported" Printer attribute specifies whether the "requesting-user-uri" (section 6.1.6) operation, "job-originating-user-uri" (section 6.4.1) Job Description, and "notify-subscriber-user-uri" (section 6.5.2) Subscription Description attributes are supported. Printers MUST support this attribute with a value of 'true'.
[6.] Additional Semantics for Existing Operations
5.10[6.1] All Operations: "requesting-user-uri"
If the Printer supports the "requesting-user-uri" (section 6.1.6) operation attribute, Clients MAY supply it in a Create-Job, Create-Job-Subscription, Create-Printer-Subscription, Print-Job, or Print-URI operation. The Printer object sets the "job-originating-user-uri" (section 6.4.1) or "notify-subscriber-user-uri" (section 6.5.2) attribute as needed to the most authenticated URI that it can obtain from the authentication service over which the IPP operation was received. Only if such an authenticated URI is not available, does the Printer object use the value supplied by the Client in the "requesting-user-uri" operation of the operation (see IPP/1.1 Model and Semantics [STD92] sections 5.4.2, 5.4.3 and 9).
Page 72 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
20820922422243
2244
22452246224722482249
22502251
2252
22532254
225522562257
2258
2259226022612262
2263
2264
22652266226722682269227022712272
210
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.11[6.2] Get-Printer-Attributes Operation: "first-index" and "limit"
Clients MAY provide and Printers MAY support job creation attributes beyond "document-format" to color (filter) the response. The "printer-get-attributes-supported" Printer attribute (section 5.5.15) specifies which job creation attributes are supported by the Get-Printer-Attributes operation and MUST include "document-format".
In addition, if a Printer supports the "media-col-database" Printer attribute ([PWG5100.11]),([PWG5100.11]), the Client MAY provide and the Printer SHOULD support the "first-index" (section 6.1.3) and "limit" ([STD92]) operation attributes to limit the number of "media-col-database" values that are returned in the response.
5.12[6.3] Get-Subscriptions Operation: "first-index" and "limit"
If the Printer supports the Get-Subscriptions operation, Clients MAY provide and Printers MUST support the "first-index" operation attribute (section 6.1.3) in conjunction with the "limit" operation attribute ([STD92]) to select the first Subscription object that is returned in the response.
5.13[6.4] Get-Jobs Operation: "first-index" and "limit"
Clients MAY provide and Printers MUST support the "first-index" operation attribute (section 6.1.3) in conjunction with the "limit" operation attribute ([STD92]) to select the first Job object that is returned in the response.
5.14[6.5] Get-Documents Operation: "first-index" and "limit"
If the Printer supports the Get-Documents operation, Clients MAY provide and Printers MUST support the "first-index" operation attribute (section 6.1.3) in conjunction with the "limit" operation attribute ([STD92]) to select the first Document object that is returned in the response.
5.15[6.6] Print-Job, Print-URI, Send-Document, and Send-URI Operations: "document-metadata"
Clients MAY supply and Printers MUST support the "document-metadata" (section 6.1.1) operation attribute in the Print-Job, Print-URI, Send-Document, or Send-URI operations.
If the Printer conforms to the IPP Document Object [PWG5100.5],[PWG5100.5], the Printer object MUST copy the attribute value to the Document object, otherwise the Printer object MUST copy the attribute value to the Job object.
Page 73 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
211212
2273
2274227522762277
2278227922802281
2282
2283228422852286
2287
228822892290
2291
2292229322942295
2296
2297
22982299
230023012302
213
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5.16[6.7] Print-Job, Print-URI, Send-Document, and Send-URI Operations: "document-password"
If the Printer supports the "document-password" (section 6.1.2) operation attribute, Clients MAY supply it in a Print-Job, Print-URI, Send-Document, or Send-URI operation. The Printer object MUST treat the attribute value as private and confidential, MUST retain the value as long as the corresponding Job and Document are retained, MUST NOT persist the value beyond the life of the Job or Document, MUST NOT return the value in the response to the request, and MUST NOT set any Job or Document object attribute with the value of the "document-password" attribute.
If the Printer receives a request containing the "document-password" operation attribute prior to negotiation of a TLS session, it MUST return the 'client-error-bad-request' status code to the Client.
If the Printer determines that the supplied "document-password" value is not correct, it MUST return the 'client-error-document-password-error' (section 9.1) status code to the Client if a response has not already been sent and add the 'document-password-error' keyword to the "job-state-reasons" and, if supported, "document-state-reasons" attributes.
If the Printer determines that the supplied "document-password" value is correct but the Document does not allow printing, it MUST return the 'client-error-document-permission-error' status code to the Client if a response has not already been sent and add the 'document-permission-error' keyword to the "job-state-reasons" and, if supported, "document-state-reasons" attributes.
5.17[6.8] Validate-Job Operation: "document-password"
Clients MUST NOT send the "document-password" operation attribute (section 6.1.2) in a Validate-Job request. Printers MUST reject a Validate-Job request containing a "document-password" operation attribute and return the client-error-bad-request status code.
5.18[6.9] Create-Job, Print-Job, and Print-URI Operations: "job-password" and "job-password-encryption"
Printers that support the "job-password" and "job-password-encryption" operation attributes [PWG5100.11][PWG5100.11] MUST validate the values supplied and return the client-error-bad-request status code if the values are invalid or not supported. Printers MUST NOT return the "job-password" or "job-password-encryption" attributes in the Unsupported Attributes Group to prevent the leaking of security information.
Page 74 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
214215
2303
2304
2305230623072308230923102311
231223132314
2315231623172318
23192320232123222323
2324
2325232623272328
2329
2330
23312332233323342335
216
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
[6.10] Create-Job, Print-Job, and Print-URI Operations: "ipp-attribute-fidelity", "printer-mandatory-attributes", and "media-col"
When a Client specifies conflicting or unsupported member attribute values in a "media-col" attribute in a job creation request, the Printer MUST either:
[6.] Substitute non-conflicting or supported member attribute values and return the 'successful-ok-ignored-or-substituted-attributes' status code - this is allowed only when the "ipp-attribute-fidelity" operation attribute is false/unspecified and the "printer-mandatory-job-attributes" operation attribute does not contain the "media-col" keyword; or
[7.] Return the "media-col" attribute in the Unsupported attributes group with the 'client-error-conflicting-attributes' or 'client-error-attributes-or-values-not-supported' status code.
The typical case where a Printer will perform a substitution is for the "media-bottom-margin" (section 8.7.1), "media-left-margin" (section 8.7.2), "media-right-margin" (section 8.7.3), and "media-top-margin" (section 8.7.7) values - a Client might request borderless printing by specifying values of 0 for each member attribute but the Printer is unable to satisfy that request based on the values of other Job Template attributes.
Similarly, a Client might request printing using a specific combination of "media-size", "media-source" (section 8.7.5), and "media-type" values. In general, Printers SHOULD give precedence to "media-size" and "media-type" over "media-source" unless the media source is defined to have an interrupting behavior, e.g., "by-pass-tray" or "manual-feed".
[6.11] Validate-Job Operation: "job-password" and "job-password-encryption"
Clients MUST NOT send the "job-password" or "job-password-encryption" operation attributes [PWG5100.11] in a Validate-Job request. Printers MUST reject a Validate-Job request containing a "job-password" or "job-password-encryption" operation attribute and return the client-error-bad-request status code.
5.19[6.12] Validate-Job Operation: "preferred-attributes"
Printers MAY support returning the values for specific Job Template attributes that would actually be used (or that the Printer would prefer to use) based on the job creation attributes included in the Validate-Job request. Each Job Template attribute is returned as a member attribute in the "preferred-attributes" attribute in the Operation Attributes Group.
Printers indicate their support for this functionality by listing the Job Template attributes that may be returned in the "preferred-attributes-supported" Printer attribute (section 5.5.4).
Page 75 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
217218
2336
2337
23382339
23402341234223432344234523462347
23482349235023512352
2353235423552356
2357
2358
2359236023612362
2363
2364236523662367
236823692370
219
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
6.[7.] Additional Values and Semantics for Existing Attributes
6.1[7.1] document-state-reasons (1setOf type2 keyword) and job-state-reasons (1setOf type2 keyword)
Table 12 lists new "document-state-reasons" and "job-state-reasons" keyword values.
Table 12 - New "document-state-reasons" and "job-state-reasons" Keyword Values
Keyword Descriptiondocument-password-error The Printer detected an incorrect document
content password and was unable to unlock the document for printing. This value MUST be supported if the "document-password" (section 6.1.2) operation attribute is supported.
document-permission-error The Printer was able to unlock the document but the document permissions do not allow for printing. This value MUST be supported if the "document-password" (section 6.1.2) operation attribute is supported.
document-security-error The Printer detected security issues (virus, trojan horse, or other malicious software) embedded within the document. Whether the Printer aborts the job and moves the job to the 'aborted' job state or prints all documents that do not contain detected security issues and moves the job to the 'completed' job state and adds the 'completed-with-errors' value in the job's "job-state-reasons" attribute depends on implementation and/or site policy. This value SHOULD be supported.
document-unprintable-error The Printer determined that the document was unprintable. This reason is intended to cover any issues of file size, format version, or complexity that would prevent the Printer from printing the document. Whether the Printer aborts the job and moves the job to the 'aborted' job state or prints all documents that do not contain detected security issues and moves the job to the 'completed' job state and adds the 'completed-with-errors' value in the job's "job-state-reasons" attribute depends on implementation and/or site policy. This value SHOULD be supported.
Page 76 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
220221
2371
2372
2373
2374
2375
222
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
6.2[7.2] finishings (1setOf type2 enum)
Table 13 lists new enum values for the "finishings" Job Template attribute that SHOULD be supported by Printers with roll-fed media.
Table 13 - New "finishings" Enum Values
Value Symbolic Name and Description'60' 'trim-after-pages': Trim output after each page.'61' 'trim-after-documents': Trim output after each document.'62' 'trim-after-copies': Trim output after each copy.'63' 'trim-after-job': Trim output after job.
6.3[7.3] orientation-requested (type2 enum)
A new 'none' (7) value can be used with the "orientation-requested" Job Template attribute to specify that the Printer should not perform any rotations for orientation.
6.4[7.4] print-content-optimize (type2 keyword)
A new 'auto' value can be used with the "print-content-optimize" Job Template attribute [PWG5100.7][PWG5100.7] to specify that the Printer should automatically determine the best optimizations to perform when printing the document.
6.5[7.5] print-quality (type2 enum)
The following new enum values for the “print-quality” attribute allow a Printer to specify support for additional printer-specific print quality options that the Client can specify the Printer use for a Job. A Printer that supports any of the enum labels defined here MUST provide localized labels for each using the Localization Message Catalog available at the URL specified by “printer-strings-uri” (section 6.8.39). The Message Catalog localized strings provide the localization and the meaning of that enum for its own implementation. A Printer SHOULD also provide a localized “tool tip” using the “_tooltip” label extensions to the Message Catalog (section 10.1) to provide some contextual help for the vendor-unique or site-unique label string.
Enum Value Enum Label Description
3 draft [STD92]
4 normal [STD92]
5 high [STD92]
10 custom-10 Lowest custom print quality level
Page 77 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
223224
2376
23772378
2379
2380
23812382
2383
238423852386
2387
238823892390239123922393239423952396
225
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
11 custom-11 Custom print quality level lower that 'custom-2'
12 custom-12 Custom print quality level lower that 'draft'
16 custom-16 Custom print quality level higher than 'high'
17 custom-17 Custom print quality level higher than 'custom-16'
18 custom-18 Highest custom print quality level
20 custom-20 Non-linear custom print quality
21 custom-21 Non-linear custom print quality
22 custom-22 Non-linear custom print quality
The string catalog entries for each of these might look like this:
"print-quality.10" = "EcoWickedDrafty";"print-quality.12" = "EcoDrafty";"print-quality.3" = "Draft";"print-quality.4" = "Normal";"print-quality.5" = "High";"print-quality.16" = "Max";"print-quality.18" = "MegaMax";"print-quality.20" = "Non-linear Ennui";"print-quality.21" = "Non-linear Trepidation";"print-quality.22" = "Non-linear Happiness";
"print-quality.10._tooltip" = "Usable only for rough layout";"print-quality.12._tooltip" = "Lower quality with greatly reduced toner use";"print-quality.3._tooltip" = "Low quality with less toner use";"print-quality.4._tooltip" = "Average quality - best for everyday use";"print-quality.5._tooltip" = "Higher quality";"print-quality.16._tooltip" = "Maximum quality";"print-quality.18._tooltip" = "Super Maximum quality";"print-quality.20._tooltip" = "Produces output that makes you bored";"print-quality.21._tooltip" = "Produces output that makes you nervous ";"print-quality.22._tooltip" = "Produces output that makes you kinder";
6.6 printer-state-reasons (1setOf type2 keyword)
Table 14 lists new keyword values for the "printer-state-reasons" Printer attribute that MUST be supported by Printers that report the corresponding Printer MIB [RFC3805][RFC3805] supply types.
Table 14 - New "printer-state-reasons" Keyword Values
Keyword Descriptioncleaner-life-almost-over A cleaning component corresponding to the Printer
Page 78 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
226227
2397
239823992400240124022403240424052406240724082409241024112412241324142415241624172418
2419
242024212422
2423
228
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
MIB prtMarkerSuppliesType values cleanerUnit(18) and fuserCleaningPad(19) is nearing the end of its service life.
cleaner-life-over A cleaning component corresponding to the Printer MIB prtMarkerSuppliesType values cleanerUnit(18) and fuserCleaningPad(19) has reached the end of its service life.
[7.6] media-col Member Attributes
This specification makes the "media-col" attribute REQUIRED and defines several new "media-col" member attributes to support media selection on common consumer and small-business Printers.
[7.6.1] media-bottom-margin (integer(0:MAX))
The RECOMMENDED "media-bottom-margin" member attribute defines the Printer's physical bottom margin in hundredths of millimeters from the bottom edge, without respect to the value of the “orientation-requested” Job Template attribute.
[7.6.2] media-left-margin (integer(0:MAX))
The RECOMMENDED "media-left-margin" member attribute defines the Printer's physical left margin in hundredths of millimeters from the left edge, without respect to the value of the “orientation-requested” Job Template attribute.
[7.6.3] media-right-margin (integer(0:MAX))
The RECOMMENDED "media-right-margin" member attribute defines the Printer's physical right margin in hundredths of millimeters from the right edge, without respect to the value of the “orientation-requested” Job Template attribute.
[7.6.4] media-size-name (type3 keyword | name(MAX))
The RECOMMENDED "media-size-name" member attribute defines the media size using a PWG media size name [PWG5101.1] instead of the dimensions in the "media-size" member attribute. Clients and Printers MUST NOT specify both the "media-size" and "media-size-name" member attributes in a collection.
[7.6.5] media-source (type3 keyword | name(MAX))
The RECOMMENDED "media-source" member attribute specifies the input tray, slot, roll, or other source for the media. Printers MUST support this member attribute when the "media-source-properties" member attribute (section 8.7.6) or "printer-input-tray" Printer attribute (section 6.8.33) are supported.
The standard keyword values are shown in Table 15.
Page 79 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
229230
2424
242524262427
2428
242924302431
2432
243324342435
2436
243724382439
2440
2441244224432444
2445
2446244724482449
2450
231
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Note: The name "media-source" was chosen over "media-input-tray" since the values represent more than trays. However, the "printer-input-tray" Printer attribute (section 6.8.33) retains the input tray name because it provides access to Printer MIB [RFC3805] properties of the same name.
Page 80 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
23223324512452245324542455
234
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Table 15 - "media-source" Keyword Values
Keyword Descriptionalternate The alternate or secondary input trayalternate-roll The alternate or secondary rollauto The Printer's automatic choicebottom The bottom input trayby-pass-tray The by-pass traycenter The center feed slot/traydisc The CD/DVD/Bluray disc feed slot/trayenvelope The envelope feed slot/trayhagaki The Hagaki feed slot/traylarge-capacity The large capacity input trayleft The left feed slot/traymain The main or primary input traymain-roll The main or primary rollmanual The manual feed slotmiddle The middle input trayphoto The photo feed slot/trayrear The rear feed slot/trayright The right feed slot/trayroll-1 The first rollroll-2 The second rollroll-3 The third rollroll-4 The fourth rollroll-5 The fifth rollroll-6 The sixth rollroll-7 The seventh rollroll-8 The eighth rollroll-9 The ninth rollroll-10 The tenth rollside The side feed slot/traytop The topmost input traytray-1 The first traytray-2 The second traytray-3 The third traytray-4 The fourth traytray-5 The fifth traytray-6 The sixth traytray-7 The seventh traytray-8 The eighth traytray-9 The ninth traytray-10 The tenth traytray-11 The eleventh traytray-12 The twelfth tray
Page 81 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
235236
2456
237
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Keyword Descriptiontray-13 The thirteenth traytray-14 The fourteenth traytray-15 The fifteenth traytray-16 The sixteenth traytray-17 The seventeenth traytray-18 The eighteenth traytray-19 The nineteenth tray tray-20 The twentieth tray
[7.6.6] media-source-properties (collection)
The RECOMMENDED "media-source-properties" member attribute is provided in the "media-col-database" and "media-col-ready" collections to describe the media path and natural orientation for the specified collection. For example, when printing an envelope or form it is important to know which orientation to use for the document data.
Printers MUST support this member attribute when the "media-source" member attribute (section 8.7.5) or "printer-input-tray" Printer attribute (section 6.8.33) are supported.
When supported, Clients SHOULD use "media-col-ready" instead of "media-col-database" since the latter includes all possible media combinations, including potentially multiple instances of the same media with different "media-source-properties" values.
This member attribute MUST NOT be included in the "media-col" Job Template attribute since it is informational rather than specifying intent.
[7.6.6.1] media-source-feed-direction (type2 keyword)
The "media-source-feed-direction" member attribute of "media-source-properties" defines whether the long edge ('long-edge-first') or short edge ('short-edge-first') of the media is pulled from the source.
[7.6.6.2] media-source-feed-orientation (type2 enum)
The "media-source-feed-orientation" member attribute of "media-source-properties" defines the orientation of the media as pulled from the source. The value is an "orientation-requested" enumeration.
[7.6.7] media-top-margin (integer(0:MAX))
The RECOMMENDED "media-top-margin" member attribute defines the Printer's physical top margin in hundredths of millimeters from the top edge, without respect to the value of the “orientation-requested” Job Template attribute.
Page 82 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
238239
2457
2458245924602461
24622463
246424652466
24672468
2469
247024712472
2473
247424752476
2477
247824792480
240
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
[7.6.8] Media Selection and Full-Bleed Printing
The "media-bottom-margin", "media-left-margin", "media-right-margin", and "media-top-margin" member attributes specify the Printer's physical margins, allowing a Printer to determine how the content needs to be printed. A Client specifies that is has borderless or "full-bleed" content by setting all of the margins to 0.
Printers that support full-bleed printing MUST accept margins of 0 and MAY scale and center the print document to fill as needed to achieve full-bleed output. Printers SHOULD use the document Image Box when scaling for full-bleed output.
[7.7] media-col-database Values
Because a Printer may support multiple values for the "media-bottom-margin", "media-left-margin", "media-right-margin", and "media-top-margin" member attributes, a Printer MAY only enumerate the best (smallest) values of these attributes to reduce the number of collection values returned in the "media-col-database" Printer attribute. However, if full-bleed and non-full-bleed margins have a significant performance, scaling, or quality differences, a Printer MUST enumerate both the full-bleed (all zeroes) and smallest non-zero hardware margins in the "media-col-database" Printer attribute.
[7.8] uri-authentication-supported (1setOf type2 keyword)
The 'negotiate' keyword value MUST be used to indicate support for HTTP Negotiate authentication based on SPNEGO-based Kerberos and NTLM HTTP Authentication in Microsoft Windows [RFC4559].[RFC4559].
Page 83 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
2412422481
2482248324842485
248624872488
2489
2490249124922493249424952496
2497
2498249925002501
243
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
[8.] Status Codes
6.7[8.1] client-error-document-password-error (0x418)
The Client has attempted to submit a Document using the Print-Job, Print-URI, Send-Document, or Send-URI operations with the wrong passphrase. The Client MAY try the request again with a new passphrase.
6.8[8.2] client-error-document-permission-error (0x419)
The Client has attempted to submit a Document using the Print-Job, Print-URI, Send-Document, or Send-URI operations that does not allow printing. The Client MUST NOT retry the request using the same document.
6.9[8.3] client-error-document-security-error (0x41A)
The Printer has detected security issues (virus, trojan horse, or other malicious software) embedded within the document and will not accept it for printing.
6.10[8.4] client-error-document-unprintable-error (0x41B)
The Printer has determined that the document is unprintable due to size, format version, or complexity and will not accept it for printing.
Page 84 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
244245
2502
2503
250425052506
2507
250825092510
2511
25122513
2514
251525162517
246
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
[9.] Localization of Attributes and ValuesThe "printer-strings-uri" Printer attribute (section 6.8.39) provides the location of a language-specific, printer-resident message catalog file that provides localizations for attribute names, keyword values, and enum values.
6.11[9.1] Message Catalog File Format
This specification defines a new plain text message catalog format (MIME media type “text/strings”) based on the Apple “strings” file format to allow Printers to supply and Clients to present localized strings for supported attributes values. A sample English localization for registered IPP attributes, enum values, and keyword values is available on the PWG FTP server [PWG-CATALOG].[PWG-CATALOG]. Boolean, dateTime, and integer values are not localizable using this format, and name and text values are presumed to already be localized [STD92].
Message catalog files consist of lines of UTF-8 encoded Unicode text following the general "KEY = VALUE" form. The KEY and VALUE elements can be wrapped in double quotes.:
“"attribute-name” = “" = "Localized Attribute Name Label”;";“"attribute-name.enum-value” = “" = "Localized Enum Value Label”;";“"attribute-name.keyword-value” = “" = "Localized Keyword Value Label”;/*";/* Comment for/to localizers */
Help content can also be included in the Message Catalog file, using the "_tooltip" and "_helpurl" suffixes:
"attribute-name._tooltip" = "Localized Attribute Name Tooltip Help String""attribute-name._helpurl" = "URL to localized attribute help content"
"attribute-name.enum-value._tooltip" = "Localized Enum Value Tooltip Help String""attribute-name.enum-value._helpurl" = "URL to localized enum value help content"
"attribute-name.keyword-value._tooltip" = "Localized Keyword Value Tooltip Help String""attribute-name.keyword-value._helpurl" = "URL to localized keyword value help content"
Lines in a Message Catalog file can be terminated by a single line feed (%x0A) or a combination of carriage return and line feed (%x0D.0A). All lines in a Message Catalog file MUST use identical line terminators for consistency. Attribute names and values are limited to the characters defined for the IPP keyword value syntax [STD92].
Control characters (%x00-1F, %x7F), the double quote (%x22), and the backslash (%x5C) MUST be escaped in localized strings using a subset of the C language syntax:
Page 85 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
247248
2518
251925202521
2522
2523252425252526252725282529
25302531
25322533253425352536
25372538
253925402541254225432544254525462547254825492550
2551255225532554
25552556
249
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
\" A double quote (%x22)
\\ A backslash (%x5C)
\n A line feed (%x0A)
\r A carriage return (%x0D)
\t A horizontal tab (%x09)
\### An octet represented by 3 octal digits For
A more complete example, is in section 10.3.
6.12 Message Catalog Help Resources
A Message Catalog MAY also contain two types of "help" content. The "_tooltip" suffix can be used to specify brief help content suitable for contextual presentation such as when a mouse pointer is hovered over a label. The "_helpurl" suffix can be used to specify a URL to more detailed, rich and possibly lengthy help content that could be presented in a separate "help" window. The general form is like so:
"attribute-name._tooltip" = "Localized Attribute Name Tooltip Help String""attribute-name._helpurl" = "URL to localized attribute help content"
"attribute-name.enum-value._tooltip" = "Localized Enum Value Tooltip Help String""attribute-name.enum-value._helpurl" = "URL to localized enum value help content"
"attribute-name.keyword-value._tooltip" = "Localized Keyword Value Tooltip Help String""attribute-name.keyword-value._helpurl" = "URL to localized keyword value help content"
A more complete example is in section 10.3.
6.13 Message Catalog Example
A Printer that specifies two collections in its "media-col-ready", one that specifies 'stationery' for its "media-type " value, and the other that specifies 'smi32473-eco-lite' for its "finishing-template" value, can implement among others the following attributes and values, using "ipptoolfile" syntax [IPPSAMPLE]:
ATTR collection media-col-ready{ MEMBER keyword media-type "stationery" MEMBER keyword media-source "tray-1" MEMBER collection media-size {
Page 86 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
2502512557
2558
2559
2560
2561
2562
2563
2564
25652566256725682569
257025712572257325742575257625772578257925802581
2582
2583
2584258525862587
258825892590259125922593
252
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
# iso_a4_210x297mm MEMBER integer x-dimension 21000 MEMBER integer y-dimension 29700 } MEMBER integer media-top-margin 500 MEMBER integer media-bottom-margin 500 MEMBER integer media-left-margin 500 MEMBER integer media-right-margin 500},{ MEMBER keyword media-type "smi32473-eco-lite" MEMBER keyword media-source "tray-2" MEMBER keyword media-color white MEMBER collection media-size { # na_letter_8.5x11in MEMBER integer x-dimension 21590 MEMBER integer y-dimension 27940 } MEMBER integer media-bottom-margin 500 MEMBER integer media-left-margin 500 MEMBER integer media-right-margin 500 MEMBER integer media-top-margin 500}
The Printer's Message Catalog corresponding to "attributes-natural-language" = 'en-us' might include the following:
media-type = "Media Type";media-type.stationery = "Stationery";media-type.stationery._tooltip = "Conventional Stationery";media-type.stationery._helpurl = "//_help/media-types.html";media-type.smi32473-eco-lite = "PWG Eco Lite";media-type.smi32473-eco-lite._tooltip = "Lightweight paper that may tear";
media-type.smi32473-eco-lite._helpurl = "//_help/media-types.html#ecolite";
6.14[9.2] Message Catalog ABNF
Figure 12 provides the ABNF [STD68] for files conforming to the “text/strings” MIME media type.
Figure 12 - ABNF for the "text/strings" MIME Media Type
CATALOG = *(MESSAGE / COMMENT / *WSP CFLF / *WSP LF)MESSAGE = *WSP DQUOTE %x61-7A *KEYWORD-CHAR DQUOTE *WSP “=” *WSP QUOTED-STRING *WSP “;” *WSP (CRLF / LF)COMMENT = *WSP “/*" 1*CHAR "*/" *WSP (CRLF / LF)KEYWORD-CHAR = %x61-7A / DIGIT / “-“ / “.” / “_”QUOTED-STRING = DQUOTE 1*QUOTED-CHAR DQUOTEQUOTED-CHAR = %x20-21 / %x23-5B / %x5C.22 / ; \" = " (%x22) %x5C.5C / ; \\ = \ (%x5C)
Page 87 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
25325425942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616
26172618
261926202621262226232624
2625
2626
26272628
2629
2630263126322633263426352636263726382639
255
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
%x5C.6E / ; \n = lf (%x0A) %x5C.71 / ; \r = cr (%x0D) %x5C.73 / ; \t = ht (%x09) %x5C.30-33.30-37.30-37 / ; \ooo (octal) %x5D-7E / %xC0-DF.80-BF / %xE0-EF.80-BF.80-BF / %xF0-F7.80-BF.80-BF.80-BF
Page 88 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
256257264026412642264326442645264626472648
258
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
7.[10.] Relationship of Impressions, Pages, and SheetsThe Internet Printing Protocol/1.1: Model and Semantics [STD92] defines attributes for the impressions and media sheets in a job, the PWG Standardized Imaging System Counters 1.1 [PWG5106.1] clarifies the definitions of impressions and sheets, the Standard for the Internet Printing Protocol: Page Overrides [PWG5100.6] defines input pages for page overrides, and this specification defines new Job Description attributes to track the number and progress of input pages within the documents of a Job.
Because the various IPP and PWG standards have used slightly different definitions of impressions, pages, and sheets, and because their interaction with various Job Template attributes has not been documented, the Job Description attributes for impressions ("job-impressions" and "job-impressions-completed") and sheets ("job-media-sheets" and "job-media-sheets-completed") have not been implemented consistently between different vendors' IPP Printers. Table 16 lists the Job Template attributes that affect reporting of impressions and sheets. Only the "page-range" Job Template attribute affects the page counts ("job-pages" and "job-pages-completed").
7.1[10.1] Examples for Impressions, Pages, and Sheets
7.1.1[10.1.1] Single Document Simplex Job Without Copies
A single-document simplex job has the same number of impressions, pages, and sheets. Thus, a 10 page document will yield impression and sheet counts of 10 each.
7.1.2[10.1.2] Single Document Duplex Job Without Copies
A single-document duplex jobs ("sides" is "two-sided-long-edge" or "two-sided-short-edge") has the same number of impressions and pages but half as many sheets. Thus, an 11 page document will yield 11 impressions and 6 sheets - the last sheet will only have one impression on it.
7.1.3[10.1.3] Two Document Duplex Job With Copies, Number-Up, and Page-Ranges
A two-document duplex job with copies and number-up will have different page, impression, and sheet counts. For example, a job containing documents of 11 and 28 pages, a "copies" value of 10, a "multiple-document-handling" value of 'single-document', a "number-up" value of 6, a "page-ranges" value of 1-25, and a "sides" value of 'two-sided-long-edge' would yield a page count of 39 (11 + 28 pages from two documents), an impression count of 50 (25 6-up pages produces 5 impressions per copy), and a sheet count of 30 (5 impressions are printed on a total of 3 pages per copy). Figure 13 shows a graphical representation of this example.
Page 89 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
259260
2649
265026512652265326542655
26562657265826592660266126622663
2664
2665
26662667
2668
2669267026712672
2673
267426752676267726782679268026812682
261
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Figure 13 - Two Document Duplex Job With Copies, Number-Up, and Page-Ranges
Page 90 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
262263
2683
2684
264
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Table 16 - Job Template Attributes That Affect Impressions and Sheets
Attribute Descriptioncopies Multiplier for impressions and sheets; also
see job-copies, multiple-document-handling, and sheet-collate
cover-back For 'print-none', adds one sheet per setcover-front For 'print-none', adds one sheet per setinsert-sheet Adds N sheets for each copy and,
potentially, each document in the Jobjob-copies Multiplier for impressions and sheets; also
see copies, multiple-document-handling, and sheet-collate
job-cover-back For 'print-none', adds one sheet per setjob-cover-front For 'print-none', adds one sheet per setjob-error-sheet May add one or more impressions and
sheets to the Jobjob-sheets May add one or more impressions and
sheets to the Jobmultiple-document-handling For the value 'single-document', duplex Jobs
may have a reduced number of sheets per copy when the input documents produce an odd number of impressions; also see copies, imposition-template, job-copies, and number-up
number-up Generally a divisor for impressions and sheets
overrides Can override any Job Template attribute (except overrides)
pagespage-ranges Changes the number of input pages that are processed, thus changing the impressions and sheets accordingly
proof-print Overrides the copies and job-copies valuesseparator-sheets 'slip-sheets': adds one impression and sheet
between each set in a Job'start-sheet' and 'end-sheet': adds one impression and sheet for each set in a Job'both-sheets': adds two impressions and sheets for each set in a Job
sheet-collate Controls how documents and copies form a set
sides For 'two-sided-long-edge' and 'two-sided-short-edge', generally makes sheets half of the number of impressions; also see copies, job-copies, multiple-document-handling, and
Page 91 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
265266
2685
267
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
sheet-collate
8.[11.] Obsolete AttributesTable 17 lists the attributes that are OBSOLETE.
Table 17 - Obsolete Attributes
Attribute Explanation
job-cover-back
job-cover-front
pages-completed-current-copy RFC 3381 is obsolete
pages-per-subset Redundant with "job-pages-per-set" [PWG5100.1]
sheet-collate
9. Obsolete ValuesTable 18 lists the attribute values that are OBSOLETE.
Table 18 - Obsolete Values
Attribute Value Explanation
ipp-features-supported 'job-save' The "Job Save and Reprint" will be obsoleted in the process of obsoleting PWG 5100.11
10. Conformance RequirementsThis section summarizes the Conformance Requirements detailed in the definitions in this document for Clients and Printers.
Page 92 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
268269
2686
2687
2688
2689
2690
2691
2692
26932694
270
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
10.1[11.1] Conformance Requirements for this Specification
In order for a Client and a Printer to claim conformance to this specification a Client MUST be able to supply and a Printer MUST support the following:
[1.] The "document-metadata" operation (section(sections 6.1.1) and Job Description (section 6.3.2) attributes
[2.] The "requesting-user-uri" operation (section 6.1.6) and 6. "job-originating-user-uri" Job Description (section 6.4.1) attributes[3.] The "print-color-mode" (section 6.2.3) and 7. "print-rendering-intent" (section 6.2.4) Job Template attributes)[4.] The "job-uuid" (section 6.4.5) Job Description attribute6.4.5)[5.] The "ipp-features-supported" (section 6.8.7) Printer Description attribute.)8.[6.] The "printer-get-attributes-supported" (section 6.8.30) Printer Description
attribute9. The "printer-icons" (section 6.8.32) Printer Description attribute[7.] The "printer-icons" (section 6.8.32) Printer Description attribute[8.] The "printer-organization" (section 6.8.35) and 10. "printer-organizational-unit" (section 6.8.36) Printer Description attributes)[9.] The "printer-uuid" (section 6.9.86.9.8) Printer DescriptionStatus attribute
10.2[11.2] Conditional Conformance Requirements for Printer Objects
To claim conformance to this specfiicationspecification, Printers conforming to IPP Event Notifications and Subscriptions [RFC3995][RFC3995] MUST support the following:
1. The "first-index" (section 6.1.3) operation attribute2. The "notify-subscription-uuid" (section 6.5.1) Subscription Description attribute[3.] The "printer-descriptionconfig-change-time" (section 6.9.4) Printer Description
attribute.
To claim conformance to this specification, Printers conforming to the Standard for IPP Document Object [PWG5100.5][PWG5100.5] MUST support the following:
1. The Validate-Document (section 5.2) operation2. The "document-metadata" (section 6.6.2) Document Description attribute3. The "document-uuid" (section 6.7.1) Document Description attribute4. The "print-color-mode" (section 6.2.3) Document Template attribute5. The "print-rendering-intent" (section 6.2.4) Document Template attribute
Page 93 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
271272
2695
26962697
269826992700270127022703270427052706270727082709271027112712
2713
27142715
2716271727182719
27202721
272227232724272527262727
273
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
To claim conformance for the OPTIONAL Identify-Printer operation (section 5.1), Printers MUST support the following:
1. The "identify-actions" (section 6.1.4) operation attribute2. The "identify-actions-default" (section ) Printer Description attribute3. The "identify-actions-supported" (section 6.8.6) Printer Description attribute.
To claim conformance for the OPTIONAL "printer-icc-profiles" (section 6.8.31) Printer attribute, Printers MUST support:
1. The "print-rendering-intent" (section 6.2.4) Job Template attribute, and2. The "print-rendering-intent-default" (section 6.8.22) and "print-rendering-intent-
supported" (section 6.8.24) Printer Description attributes.
To claim conformance for the REQUIRED "requesting-user-uri" (section 6.1.6) operation attribute, Printers conforming to IPP Event Notifications and Subscriptions [RFC3995][RFC3995] MUST support the "notify-subscriber-user-uri" (section 6.5.2) Subscription attribute, and vice-versa.
To claim conformance for the OPTIONAL "pages-per-subset" (section 6.2) attribute, Printers MUST support the "pages-per-subset-supported" Printer Description attribute, and vice-versa.
To claim conformance for the OPTIONAL "document-password" (section 6.1.2) operation attribute, Printers MUST support the following:
1. The "document-password-supported" (section ) Printer Description attribute2. The 'document-password-error' and 'document-permission-error' (section 8.1)
keywords for the "document-state-reasons" and "job-state-reasons" attributes3. The 'client-error-document-password-error' (section 9.1) and 'client-error-
document-permission-error' (section 9.2) status codes.[4.] Transport Layer Security 1.2 [RFC5246][RFC5246] or higher[5.] Upgrading to TLS Within HTTP/1.1 [RFC2817].[RFC2817].4.[6.] Negotiation of a TLS session prior to accepting a request containing the
"document-password" operation attribute
To claim conformance for the OPTIONAL job ticket preflighting using the Validate-Job operation, Printers MUST support:
1. The "preferred-attributes" (section 6.1.5) operation attribute, and2. The "preferred-attributes-supported" (section 6.8.19) Printer Description
attribute.
To claim conformance for the OPTIONAL "job-constraints-supported" (section 6.8.8) Printer Description attribute, Printers MUST support the "job-resolvers-supported" (section 6.8.11) Printer Description attribute, and vice-versa.
Page 94 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
274275
27282729
273027312732
27332734
273527362737
2738273927402741
274227432744
27452746
274727482749275027512752275327542755
27562757
275827592760
276127622763
276
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
To claim conformance for the OPTIONAL "printer-strings-uri" (section 6.8.39) Printer Description attribute, Printers MUST supply the "printer-strings-languages-supported" (section 6.8.38) Printer Description attribute, and vice-versa.
To claim conformance for the OPTIONAL "printer-supply" (section 6.8.38) Printer Description attribute, Printers MUST supply the "printer-supply-description" (section 6.9.6) Printer Description attribute, and vice-versa.
To claim conformance for the OPTIONAL "media-source" (section 8.7.4) member attribute MUST support:
[3.] The "media-source-supported" (section 6.8.15) Printer Description attribute, and[4.] The "media-source-properties" (section 8.7.6) member attribute.
To claim conformance for the OPTIONAL Create-Job operation, Printers MUST support the "multiple-operation-time-out-action" (section 6.8.17) Printer Description attribute.
To claim conformance for the OPTIONAL Paid Imaging Services, Printers MUST support the following:
1. The "printer-charge-info" (section 6.8.19) Printer Description attribute2. The "printer-charge-info-uri" (section Error: Reference source not found) Printer
Description attribute3. The "printer-mandatory-job-attributes" (section 6.8.33) Printer Description
attribute
To claim conformance for the OPTIONAL Kerberized Printing, Printers MUST support the following:
[1.] HTTP Negotiate authentication based on SPNEGO-based Kerberos and NTLM HTTP Authentication in Microsoft Windows [RFC4559][RFC4559]
4.[2.] The 'negotiate' value (section 8.9) in the "uri-authentication-supported" Printer Description attribute
10.3[11.3] Conditional Conformance Requirements for Clients
To claim conformance for the OPTIONAL "document-password" (section 6.1.2) operation attribute, Clients MUST support the following:
[1.] Transport Layer Security 1.2 [RFC5246][RFC5246] or higher and Upgrading to TLS Within HTTP/1.1 [RFC2817][RFC2817]
5.[2.] Negotiation of a TLS session prior to sending a request containing the "document-password" operation attribute
Page 95 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
277278276427652766
276727682769
27702771
27722773
27742775
27762777
27782779278027812782
27832784
2785278627872788
2789
27902791
2792279327942795
279
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
10.4[11.4] HTTP Recommendations
In order to support efficient retrieval of printer icons, ICC profiles, and localization files, Clients SHOULD provide and Printers SHOULD support the If-Modified-Since request header as defined in section 14.28 of the Hypertext Transfer Protocol -- HTTP/1.1 [RFC2616][RFC7232] to allow Clients to locally cache these resources to minimize network bandwidth usage and provide a responsive user interface. HTTP caching semantics (section 13 of [RFC2616]),[RFC7234], particularly with HTTP proxies (section 15.7 of [RFC2616])[RFC7230] MUST be followed.
11.[12.] Internationalization ConsiderationsFor interoperability and basic support for multiple languages, conforming implementations MUST support:
[1.] The Universal Character Set (UCS) Transformation Format -- 8 bit (UTF-8) [STD63] encoding of Unicode [UNICODE][UNICODE] [ISO10646]; and
[2.] The Unicode Format for Network Interchange [RFC5198][RFC5198] which requires transmission of well-formed UTF-8 strings and recommends transmission of normalized UTF-8 strings in Normalization Form C (NFC) [UAX15].[UAX15].
Unicode NFC is defined as the result of performing Canonical Decomposition (into base characters and combining marks) followed by Canonical Composition (into canonical composed characters wherever Unicode has assigned them).
WARNING – Performing normalization on UTF-8 strings received from Clients and subsequently storing the results (e.g., in Job objects) could cause false negatives in Client searches and failed access (e.g., to Printers with percent-encoded UTF-8 URIs now 'hidden').
Implementations of this specification SHOULD conform to the following standards on processing of human-readable Unicode text strings, see:
Unicode Bidirectional Algorithm [UAX9][UAX9] – left-to-right, right-to-left, and vertical
Unicode Line Breaking Algorithm [UAX14][UAX14] – character classes and wrapping
Unicode Normalization Forms [UAX15][UAX15] – especially NFC for [RFC5198]
Unicode Text Segmentation [UAX29][UAX29] – grapheme clusters, words, sentences
Unicode Identifier and Pattern Syntax [UAX31][UAX31] – identifier use and normalization
Page 96 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
280281
2796
2797279827992800280128022803
2804
28052806
280728082809281028112812
281328142815
2816281728182819
28202821
28222823
28242825
2826
28272828
28292830
282
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Unicode Collation Algorithm [UTS10][UTS10] – sorting
Unicode Locale Data Markup Language [UTS35][UTS35] – locale databases
Implementations of this specification are advised to also review the following informational documents on processing of human-readable Unicode text strings:
Unicode Character Encoding Model [UTR17][UTR17] – multi-layer character model
Unicode Character Property Model [UTR23][UTR23] – character properties
Unicode Conformance Model [UTR33][UTR33] – Unicode conformance basis
12.[13.] Security ConsiderationsThe IPP extensions defined in this document require the same security considerations as defined in the Internet Printing Protocol/1.1 [STD92].[STD92].
Implementations of this specification SHOULD conform to the following standard on processing of human-readable Unicode text strings, see:
Unicode Security Mechanisms [UTS39][UTS39] – detecting and avoiding security attacks
Implementations of this specification are advised to also review the following informational document on processing of human-readable Unicode text strings:
Unicode Security FAQ [UNISECFAQ][UNISECFAQ] – common Unicode security issues
The "document-password" (section 6.1.2) operation attribute MUST be treated as private and confidential, MUST be retained for as long as the corresponding Job and Document are retained, MUST NOT be persisted beyond the life of the Job or Document, and MUST NOT be returned to Clients in any IPP response.
13.[14.] IANA Considerations
13.1[14.1] MIME Media Type Registration
Name : Michael Sweet
E-mail : [email protected]
MIME media type name : text
MIME subtype name : Standards Tree – strings
Page 97 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
2832842831
2832
28332834
2835
2836
2837
2838
28392840
28412842
28432844
28452846
28472848
2849285028512852
2853
2854
2855
2856
2857
2858
285
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Required parameters : NONE
Optional parameters : NONE
Encoding considerations :
UTF-8 encoded Unicode text.
Security considerations :
Localized strings may be arbitrarily large and could potentially cause a denial-of-service.
Localized strings may contain printf-style format characters that could cause a program to display unintended information or crash.
Interoperability considerations :
NONE
Published specification :
https://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.pdf
Applications which use this media :
All Cocoa, NeXTStep, and OpenStep applicationsCUPSIPP Everywhere
Additional information :
1. Magic number(s) :
2. File extension(s) :
strings
3. Macintosh file type code :
Person to contact for further information :
1. Name : Michael Sweet
2. E-mail : [email protected]
Intended usage : Common
Page 98 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
2862872859
2860
2861
2862
2863
28642865
28662867
2868
2869
2870
28712872
2873
287428752876
2877
2878
2879
2880
2881
2882
2883
2884
2885
288
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Used for providing localizations of English keywords and numeric values.
Author/Change controller :
The Printer Working Groupc/o The IEEE Industry Standards and Technology Organization445 Hoes LanePiscataway, NJ 08854USA
13.2[14.2] Attribute Registrations
The attributes defined in this specification will be published by IANA according to the procedures in the Internet Printing Protocol/1.1 [STD92] in the following file:
http://www.iana.org/assignments/ipp-registrations
The registry entries will contain the following information:
Operation attributes: Reference-------------------- ---------document-metadata (1setOf octetString(MAX)) [PWG5100.13]document-password (octetString(1023)) [PWG5100.13]first-index (integer(1:MAX)) [PWG5100.13]identify-actions (1setOf type2 keyword) [PWG5100.13]preferred-attributes (collection) [PWG5100.13] <Any Template attribute> [PWG5100.13]requesting-user-uri (uri) [PWG5100.13]
Job Template attributes: Reference----------------------- ---------job-error-action (type2 keyword) [PWG5100.13]media-col (collection) [PWG5100.3] media-bottom-margin (integer(0:MAX)) [PWG5100.13] media-left-margin (integer(0:MAX)) [PWG5100.13] media-right-margin (integer(0:MAX)) [PWG5100.13] media-size-name (type3 keyword | name(MAX)) [PWG5100.13] media-source (type3 keyword | name(MAX)) [PWG5100.13] media-top-margin (integer(0:MAX)) [PWG5100.13]pages-per-subset (1setOf integer(1:MAX)) [PWG5100.13]print-color-mode (type2 keyword) [PWG5100.13]print-rendering-intent (type2 keyword) [PWG5100.13]
Job Description attributes: Reference-------------------------- ---------document-metadata (1setOf octetString(MAX)) [PWG5100.13]job-originating-user-uri (uri) [PWG5100.13]job-pages (integer(0:MAX) [PWG5100.13]job-pages-completed (integer(0:MAX) [PWG5100.13]job-pages-completed-current-copy (integer(0:MAX) [PWG5100.13]job-uuid (uri(45)) [PWG5100.13]
Page 99 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
2892902886
2887
28882889289028912892
2893
28942895
2896
2897
289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930
291
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Document Template attributes: Reference----------------------- ---------print-color-mode (type2 keyword) [PWG5100.13]print-rendering-intent (type2 keyword) [PWG5100.13]
Document Description attributes: Reference-------------------------- ---------document-metadata (1setOf octetString(MAX)) [PWG5100.13]document-uuid (uri(45)) [PWG5100.13]pages (integer(0:MAX) [PWG5100.13]pages-completed (integer(0:MAX) [PWG5100.13]pages-completed-current-copy (integer(0:MAX) [PWG5100.13]
Printer Description attributes: Reference------------------------------ ---------device-service-count (integer(1:MAX)) [PWG5100.13]device-uuid (uri(45)) [PWG5100.13]document-password-supported (integer(0:1023)) [PWG5100.13]identify-actions-default (1setOf type2 keyword) [PWG5100.13]identify-actions-supported (1setOf type2 keyword) [PWG5100.13]ipp-features-supported (1setOf type2 keyword) [PWG5100.13]job-constraints-supported (1setOf collection) [PWG5100.13]job-error-action-default (type2 keyword) [PWG5100.13]job-error-action-supported (1setOf type2 keyword) [PWG5100.13]job-resolvers-supported (1setOf collection) [PWG5100.13]media-bottom-margin-supported (1setOf integer(0:MAX)) [PWG5100.13]media-col-database (1setOf collection) [PWG5100.11] media-source-properties (collection) [PWG5100.13] media-source-feed-direction (type2 keyword) [PWG5100.13] media-source-feed-orientation (type2 enum) [PWG5100.13]media-col-ready (1setOf collection) [PWG5100.3] media-source-properties (collection) [PWG5100.13] media-source-feed-direction (type2 keyword) [PWG5100.13] media-source-feed-orientation (type2 enum) [PWG5100.13]media-left-margin-supported (1setOf integer(0:MAX)) [PWG5100.13]media-right-margin-supported (1setOf integer(0:MAX)) [PWG5100.13]media-source-supported (1setOf (type3 keyword | name(MAX)) [PWG5100.13]media-top-margin-supported (1setOf integer(0:MAX)) [PWG5100.13]multiple-operation-time-out-action (type2 keyword) [PWG5100.13]pages-per-subset-supported (boolean) [PWG5100.13]preferred-attributes-supported (boolean) [PWG5100.13]print-color-mode-default (type2 keyword) [PWG5100.13]print-color-mode-supported (1setOf type2 keyword) [PWG5100.13]print-rendering-intent-default (type2 keyword) [PWG5100.13]print-rendering-intent-supported (1setOf type2 keyword) [PWG5100.13]printer-charge-info (text(MAX)) [PWG5100.13]printer-charge-info-uri (uri) [PWG5100.13]printer-geo-location (uri) [PWG5100.13]printer-get-attributes-supported (1setOf type2 keyword) [PWG5100.13]printer-icc-profiles (1setOf collection) [PWG5100.13] <Any Template attribute> [PWG5100.13] profile-name (name(MAX)) [PWG5100.13] profile-url (uri) [PWG5100.13]printer-icons (1setOf uri) [PWG5100.13]printer-mandatory-job-attributes (1setOf type2 keyword) [PWG5100.13]
Page 100 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
29229329312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986
294
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
printer-organization (1setOf text(MAX)) [PWG5100.13]printer-organizational-unit (1setOf text(MAX)) [PWG5100.13]printer-supply (1setOf octetString(MAX)) [PWG5100.13]printer-supply-description (1setOf text(MAX)) [PWG5100.13]printer-supply-info-uri (uri) [PWG5100.13]printer-uuid (uri(45)) [PWG5100.13]requesting-user-uri-supported (boolean) [PWG5100.13]
Subscription Description attributes: Reference----------------------------------- ---------notify-subscriber-user-uri (uri) [PWG5100.13]notify-subscription-uuid (uri) [PWG5100.13]
13.3[14.3] Type2 keyword Registrations
The keyword values defined in this specification will be published by IANA according to the procedures in the Internet Printing Protocol/1.1 [STD92][STD92] in the following file:
http://www.iana.org/assignments/ipp-registrations
The registry entries will contain the following information:
Attributes (attribute syntax) Keyword Attribute Value Reference ----------------------- ---------document-state-reasons (1setOf type2 keyword) [PWG5100.5] document-password-error [PWG5100.13] document-permission-error [PWG5100.13] document-security-error [PWG5100.13] document-unprintable-error [PWG5100.13]
identify-actions (1setOf type2 keyword) [PWG5100.13] display [PWG5100.13] flash [PWG5100.13] sound [PWG5100.13] speak [PWG5100.13]identify-actions-default (1setOf type2 keyword) [PWG5100.13] <Any "identify-actions" keyword value> [PWG5100.13]identify-actions-supported (1setOf type2 keyword) [PWG5100.13] <Any "identify-actions" keyword value> [PWG5100.13]ipp-features-supported (1setOf type2 keyword) [PWG5100.13] document-object [PWG5100.13] job-save [PWG5100.13] none [PWG5100.13] page-overrides [PWG5100.13] proof-print [PWG5100.13] subscription-object [PWG5100.13]
job-error-action (type2 keyword) [PWG5100.13] abort-job [PWG5100.13] cancel-job [PWG5100.13] continue-job [PWG5100.13] suspend-job [PWG5100.13]
Page 101 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
2952962987298829892990299129922993299429952996299729982999
3000
30013002
3003
3004
3005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035
297
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
job-error-action-default (type2 keyword) [PWG5100.13] <Any "job-error-action" keyword value> [PWG5100.13]job-error-action-supported (1setOf type2 keyword) [PWG5100.13] <Any "job-error-action" keyword value> [PWG5100.13]
job-state-reasons (1setOf type2 keyword) [RFC8011] document-password-error [PWG5100.13] document-permission-error [PWG5100.13] document-security-error [PWG5100.13] document-unprintable-error [PWG5100.13]
media-col-supported (1setOf type2 keyword) [PWG5100.3] media-bottom-margin [PWG5100.13] media-left-margin [PWG5100.13] media-right-margin [PWG5100.13] media-size-name [PWG5100.13] media-source [PWG5100.13] media-top-margin [PWG5100.13]
media-source-feed-direction (type2 keyword) [PWG5100.13] <Any "feed-orientation" keyword value>
media-source (type3 keyword | name(MAX)) [PWG5100.13] alternate [PWG5100.13] alternate-roll [PWG5100.13] auto [PWG5100.13] bottom [PWG5100.13] by-pass-tray [PWG5100.13] center [PWG5100.13] disc [PWG5100.13] envelope [PWG5100.13] hagaki [PWG5100.13] large-capacity [PWG5100.13] left [PWG5100.13] main [PWG5100.13] main-roll [PWG5100.13] manual [PWG5100.13] middle [PWG5100.13] photo [PWG5100.13] rear [PWG5100.13] right [PWG5100.13] roll-1 [PWG5100.13] roll-10 [PWG5100.13] roll-2 [PWG5100.13] roll-3 [PWG5100.13] roll-4 [PWG5100.13] roll-5 [PWG5100.13] roll-6 [PWG5100.13] roll-7 [PWG5100.13] roll-8 [PWG5100.13] roll-9 [PWG5100.13] side [PWG5100.13] top [PWG5100.13] tray-1 [PWG5100.13] tray-10 [PWG5100.13] tray-11 [PWG5100.13]
Page 102 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
29829930363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091
300
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
tray-12 [PWG5100.13] tray-13 [PWG5100.13] tray-14 [PWG5100.13] tray-15 [PWG5100.13] tray-16 [PWG5100.13] tray-17 [PWG5100.13] tray-18 [PWG5100.13] tray-19 [PWG5100.13] tray-2 [PWG5100.13] tray-20 [PWG5100.13] tray-3 [PWG5100.13] tray-4 [PWG5100.13] tray-5 [PWG5100.13] tray-6 [PWG5100.13] tray-7 [PWG5100.13] tray-8 [PWG5100.13] tray-9 [PWG5100.13]media-source-supported (1setOf (type3 keyword | name(MAX)) [PWG5100.13] <Any "media-source" keyword value> [PWG5100.13]
multiple-operation-time-out-action (type2 keyword) [PWG5100.13] abort-job [PWG5100.13] hold-job [PWG5100.13] process-job [PWG5100.13]
print-color-mode (type2 keyword) [PWG5100.13] auto [PWG5100.13] auto-monochrome [PWG5100.13] bi-level [PWG5100.13] color [PWG5100.13] highlight [PWG5100.13] monochrome [PWG5100.13] process-bi-level [PWG5100.13] process-monochrome [PWG5100.13]print-color-mode-default (type2 keyword) [PWG5100.13] <Any "print-color-mode" keyword value> [PWG5100.13]print-color-mode-supported (1setOf type2 keyword) [PWG5100.13] <Any "print-color-mode" keyword value> [PWG5100.13]
print-content-optimize (type2 keyword) [PWG5100.7] auto [PWG5100.13]
print-rendering-intent (type2 keyword) [PWG5100.13] absolute [PWG5100.13] auto [PWG5100.13] perceptual [PWG5100.13] relative [PWG5100.13] relative-bpc [PWG5100.13] saturation [PWG5100.13]print-rendering-intent-default (type2 keyword) [PWG5100.13] <Any "print-rendering-intent" keyword value> [PWG5100.13]print-rendering-intent-supported (1setOf type2 keyword) [PWG5100.13] <Any "print-rendering-intent" keyword value> [PWG5100.13]
printer-get-attributes-supported (1setOf type2 keyword) [PWG5100.13]
Page 103 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
30130230923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147
303
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
<Any Job Template attribute> <Any Operation attribute at the job level>
printer-mandatory-job-attributes (1setOf type2 keyword) [PWG5100.13] <Any Job Template attribute> <Any Operation attribute at the job level>
printer-state-reasons (1setOf type2 keyword) [RFC8011] cleaner-life-almost-over [PWG5100.13] cleaner-life-over [PWG5100.13]
uri-authentication-supported (1setOf type2 keyword) [RFC8011] negotiate [PWG5100.13]
13.4[14.4] Type2 enum Registrations
The enum values defined in this specification will be published by IANA according to the procedures in the Internet Printing Protocol/1.1 [STD92][STD92] in the following file:
http://www.iana.org/assignments/ipp-registrations
The registry entries will contain the following information:
Attributes (attribute syntax) Enum Value Enum Symbolic Name Reference ---------- ------------------ ---------finishings (1setOf type2 enum) [RFC8011] 60 trim-after-pages [PWG5100.13] 61 trim-after-documents [PWG5100.13] 62 trim-after-copies [PWG5100.13] 63 trim-after-job [PWG5100.13]
media-source-feed-orientation (type2 enum) [PWG5100.13] <Any "orientation-requested" enum value>
operations-supported (1setOf type2 enum) [RFC8011] 0x003C Identify-Printer [PWG5100.13] 0x003D Validate-Document [PWG5100.13]
orientation-requested (type2 enum) [RFC8011] 7 none [PWG5100.13]
13.5[14.5] Operation Registrations
The operations defined in this specification will be published by IANA according to the procedures in the Internet Printing Protocol/1.1 [STD92][STD92] in the following file:
http://www.iana.org/assignments/ipp-registrations
The registry entries will contain the following information:
Operation Name Reference
Page 104 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
3043053148314931503151315231533154315531563157315831593160
3161
31623163
3164
3165
316631673168316931703171317231733174317531763177317831793180318131823183
3184
31853186
3187
3188
3189
306
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
-------------- ---------Create-Job (extension) [PWG5100.13]Create-Job-Subscription (extension) [PWG5100.13]Create-Printer-Subscription (extension) [PWG5100.13]Get-Documents (extension) [PWG5100.13]Get-Jobs (extension) [PWG5100.13]Get-Printer-Attributes (extension) [PWG5100.13]Get-Subscriptions (extension) [PWG5100.13]Identify-Printer [PWG5100.13]Print-Job (extension) [PWG5100.13]Print-URI (extension) [PWG5100.13]Send-Document (extension) [PWG5100.13]Send-URI (extension) [PWG5100.13]Validate-Document [PWG5100.13]Validate-Job (extension) [PWG5100.13]
13.6[14.6] Status Code Registrations
The status codes defined in this specification will be published by IANA according to the procedures in the Internet Printing Protocol/1.1 [STD92][STD92] in the following file:
http://www.iana.org/assignments/ipp-registrations
The registry entries will contain the following information:
Value Status Code Name Reference------ --------------------------------------------- ---------0x0400:0x04FF - Client Error:0x0418 client-error-document-password-error [PWG5100.13]0x0419 client-error-document-permission-error [PWG5100.13]0x041A client-error-document-security-error [PWG5100.13]0x041B client-error-document-unprintable-error [PWG5100.13]
14.[15.] Overview of Changes
14.1 IPP Job and Printer Extensions Set 3 v.1.1
The following changes were made to the previous version of this specification [PWG5100.13-2012]:
Resolved all errata from PWG errata tracking site (https://www.pwg.org/dynamo/issues.php?L+P-1+S-2+I0+E0+Z13+Q)
Added message catalog syntax extensions and semantics for "_tooltip" and "_helpurl" (content from the latest draft of HELPME)
Added "soft-proof-icc-profiles" and "print-quality-hints-supported" (content from the latest draft of PQI)
Page 105 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
307308319031913192319331943195319631973198319932003201320232033204
3205
32063207
3208
3209
3210321132123213321432153216
3217
3218
32193220
32213222
32233224
32253226
309
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Added extensions to "print-color-mode" and "print-quality" (content from the latest draft of PQI)
15. References
15.1 Normative References
[BCP14] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119/BCP 14, March 1997, https://tools.ietf.org/html/bcp14 https://tools.ietf.org/html/bcp14
[DCMITERMS] "DCMI Metadata Terms", October 2010, http://dublincore.org/documents/dcmi-terms/ http://dublincore.org/documents/dcmi-terms/
[IANAPRT] IANA Printer MIB, Internet Assigned Numbers Authority, July 2019, https://www.iana.org/assignments/ianaprinter-mib/ianaprinter-mib https://www.iana.org/assignments/ianaprinter-mib/ianaprinter-mib
[IANA-PEN] "Private Enterprise Numbers - SMI Network Management Private Enterprise Codes", Internet Assigned Numbers Authority (IANA), https://www.iana.org/assignments/enterprise-numbers/
[ISO10646] "Information technology -- Universal Coded Character Set (UCS)", ISO/IEC 10646:2011
[JPS3ABNF] M. Sweet, I. McDonald, P. Zehler, "ABNF for IPP Job and Printer Extensions Set 3", https://ftp.pwg.org/pub/pwg/informational/pwg5100.13-abnf-20190708.txt https://ftp.pwg.org/pub/pwg/informational/pwg5100.13- abnf-20190708.txt
[PWG5100.2] Hastings, T. and R. Bergman, "Internet Printing Protocol (IPP): "output-bin" attribute extension", February 2001, https://ftp.pwg.org/pub/pwg/candidates/cs-ippoutputbin10-20010207-5100.2.pdf
[PWG5100.3] K. Ocke, T. Hastings, "Internet Printing Protocol (IPP): Production Printing Attributes – Set1", PWG 5100.3-2001, February 2001, https://ftp.pwg.org/pub/pwg/candidates/cs-ippprodprint10-20010212-5100.3.pdf
[PWG5100.5] D. Carney, T. Hastings, P. Zehler, "Standard for The Internet Printing Protocol (IPP): Document Object", PWG 5100.5-2003, October 2003, https://ftp.pwg.org/pub/pwg/candidates/cs-ippdocobject10-20031031-
Page 106 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
31031132273228
3229
3230
323132323233
323432353236
323732383239
324032413242
32433244
32453246324732483249
3250325132523253
3254325532563257
325832593260
312
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
5100.5.pdfhttps://ftp.pwg.org/pub/pwg/candidates/cs-ippdocobject10-20031031-5100.5.pdf
[PWG5100.6] P. Zehler, R. Herriot, K. Ocke, "Internet Printing Protocol: Page Overrides", PWG 5100.6, October 2003, https://ftp.pwg.org/pub/pwg/candidates/cs-ipppageoverride10-20031031-5100.6.pdf
[PWG5100.7] M.Sweet, I. McDonald, S. Kennedy, "IPP Job Extensions v2.0", August 2019, ????
[PWG5100.11] T. Hastings, D. Fullman, "IPP: Job and Printer Operations - Set 2", PWG 5100.11-2010, October 2010, https://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext10-20101030-5100.11.pdf
[PWG5100.12] R. Bergman, H. Lewis, I. McDonald, M. Sweet, "IPP Version 2.0, 2.1, and 2.2", PWG 5100.12-2015, October 2015, https://ftp.pwg.org/pub/pwg/standards/std-ipp20-20151030-5100.12.pdf https://ftp.pwg.org/pub/pwg/standards/std-ipp20- 20151030-5100.12.pdf
[PWG5101.1] R. Bergman, T. Hastings, "Standard for Media Standardized Names 2.0", PWG 5101.1-2013, March 2013, https://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn20-20130328-5101.1.pdf https://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn20- 20130328-5101.1.pdf
[PWG5106.1] P. Zehler, H. Lewis, I. McDonald, J. Thrasher, W. Wagner, "PWG Standardized Imaging System Counters 1.1", PWG 5106.1-2007, April 2007, https://ftp.pwg.org/pub/pwg/candidates/cs-wimscount11-20070427-5106.1.pdf https://ftp.pwg.org/pub/pwg/candidates/cs- wimscount11-20070427-5106.1.pdf
[RFC2083] T. Boutell, "PNG (Portable Network Graphics) Specification Version 1.0", RFC 2083, March 1997, https://tools.ietf.org/html/rfc2083https://tools.ietf.org/html/rfc2083
[RFC2817] R. Khare, S. Lawrence, “Upgrading to TLS Within HTTP/1.1”, RFC 2817, May 2000, https://tools.ietf.org/html/rfc2817
[RFC3382] R. deBry, R. Herriot, T. Hastings, K. Ocke, P. Zehler, "Internet Printing Protocol (IPP): The 'collection' attribute syntax", RFC 3382, September 2002, https://tools.ietf.org/html/rfc3382 https://tools.ietf.org/html/rfc3382
Page 107 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
31331432613262
3263326432653266
32673268
3269327032713272
32733274327532763277
32783279328032813282
32833284328532863287
328832893290
32913292
3293329432953296
315
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
[RFC3805] R. Bergman, H. Lewis, I. McDonald, "Printer MIB v2", RFC 3805, June 2004, https://tools.ietf.org/html/rfc3805 https://tools.ietf.org/html/rfc3805
[RFC3808] I. McDonald, "IANA Charset MIB", RFC 3808, June 2004, https://tools.ietf.org/html/rfc3808 https://tools.ietf.org/html/rfc3808
[RFC3995] R. Herriot, T. Hastings, "IPP Event Notifications and Subscriptions", RFC 3995, March 2005, https://tools.ietf.org/html/rfc3955 https://tools.ietf.org/html/rfc3955
[RFC3998] C. Kugler, T. Hastings, H. Lewis, "IPP: Job and Printer Operations", RFC 3998, March 2005, https://tools.ietf.org/html/rfc3998 https://tools.ietf.org/html/rfc3998
[RFC4122] P. Leach, M. Mealling, R. Salz, "A Universally Unique IDentifier (UUID) URN Namespace", RFC 4122, July 2005, https://tools.ietf.org/html/rfc4122 https://tools.ietf.org/html/rfc4122
[RFC4519] A. Sciberras, "Lightweight Directory Access Protocol (LDAP): Schema for User Applications", RFC 4519, June 2006, https://tools.ietf.org/html/rfc4519 https://tools.ietf.org/html/rfc4519
[RFC4559] K. Jaganathan, L. Zhu, J. Brezak, “SPNEGO-based Kerberos and NTLM HTTP Authentication in Microsoft Windows”, RFC 4559, June 2006, https://tools.ietf.org/html/rfc4559
[RFC5013] J. Kunze, T. Baker, "The Dublin Core Metadata Element Set", RFC 5013, August 2007, https://tools.ietf.org/html/rfc5013 https://tools.ietf.org/html/rfc5013
[RFC5198] J. Klensin, M. Padlipsky, "Unicode Format for Network Interchange", RFC 5198, March 2008, https://tools.ietf.org/html/rfc5198 https://tools.ietf.org/html/rfc5198
[RFC5246] T.Dierks, E. Rescorla, "Transport Layer Security 1.2", RFC 5246, August 2008, https://tools.ietf.org/html/rfc5246
[RFC5646] A. Phillips, M. Davis, "Tags for Identifying Languages", September 2009, http://www.ietf.org/rfc/rfc5246.txthttps://tools.ietf.org/html/rfc5646
[RFC5870] A. Mayrhofer, C. Spanring, "A Uniform Resource Identifier for Geographic Locations ('geo' URI)", RFC 5870, June 2010, https://tools.ietf.org/html/rfc5870 https://tools.ietf.org/html/rfc5870
[RFC5646] A. Phillips, M. Davis, "Tags for Identifying Languages", September 2009, https://tools.ietf.org/html/rfc5646
Page 108 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
316317329732983299
33003301
330233033304
330533063307
330833093310
331133123313
331433153316
331733183319
332033213322
33233324
332533263327
332833293330
33313332
318
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
[RFC6068] M. Duerst, L. Masinter, J. Zawinski, "The 'mailto' URI Scheme", RFC 6068, October 2010, https://tools.ietf.org/html/rfc6068 https://tools.ietf.org/html/rfc6068
[RFC7230] R. Fielding, J. Reschke, "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing", RFC 7230, June 2014, https://tools.ietf.org/html/rfc7230 https://tools.ietf.org/html/rfc7230
[RFC7232] R. Fielding, J. Reschke, "Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests", RFC 7232, June 2014, https://tools.ietf.org/html/rfc7232
[RFC7234] R. Fielding, M. Nottingham, J. Reschke, "Hypertext Transfer Protocol (HTTP/1.1): Caching", RFC 7234, June 2014, https://tools.ietf.org/html/rfc7234
[STD63] F. Yergeau, "UTF-8, a transformation format of ISO 10646", RFC 3629/STD 63, November 2003, https://tools.ietf.org/html/std63 https://tools.ietf.org/html/std63
[STD66] T. Berners-Lee, R. Fielding, L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", RFC 3986/STD 66, January 2005, https://tools.ietf.org/html/std66 https://tools.ietf.org/html/std66
[STD68] D. Crocker, P. Overell, “Augmented BNF for Syntax Specifications: ABNF”, RFC 5234/STD 68, January 2008, https://tools.ietf.org/html/std68 https://tools.ietf.org/html/std68
[STD92] M. Sweet, I. McDonald, "Internet Printing Protocol/1.1", STD 92, June 2018, https://tools.ietf.org/html/std92 https://tools.ietf.org/html/std92
[UAX9] Unicode Consortium, “Unicode Bidirectional Algorithm”, UAX#9, May 2018, https://www.unicode.org/reports/tr9 https://www.unicode.org/reports/tr9
[UAX14] Unicode Consortium, “Unicode Line Breaking Algorithm”, UAX#14, May 2018, https://www.unicode.org/reports/tr14 https://www.unicode.org/reports/ tr14
[UAX15] M. Davis, M. Duerst, "Unicode Normalization Forms", Unicode Standard Annex 15, May 2018, https://www.unicode.org/reports/tr15 https://www.unicode.org/reports/ tr15
[UAX29] Unicode Consortium, “Unicode Text Segmentation”, UAX#29, May 2018,
Page 109 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
319320333333343335
333633373338
333933403341
334233433344
334533463347
334833493350
335133523353
33543355
335633573358
3359336033613362
3363336433653366
33673368
321
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
https://www.unicode.org/reports/tr29 https://www.unicode.org/reports/ tr29
[UAX31] Unicode Consortium, “Unicode Identifier and Pattern Syntax”, UAX#31, June 2018, https://www.unicode.org/reports/tr31 https://www.unicode.org/reports/ tr31
[UNICODE] Unicode Consortium, "Unicode Standard", Version 11.0.0, June 2018, https://www.unicode.org/versions/Unicode11.0.0/ https://www.unicode.org/versions/Unicode11.0.0/
[UTS10] Unicode Consortium, “Unicode Collation Algorithm”, UTS#10, May 2018, https://www.unicode.org/reports/tr10 https://www.unicode.org/reports/ tr10
[UTS35] Unicode Consortium, “Unicode Locale Data Markup Language”, UTS#35, March 2018, https://www.unicode.org/reports/tr35 https://www.unicode.org/reports/ tr35
[UTS39] Unicode Consortium, “Unicode Security Mechanisms”, UTS#39, May 2018, https://www.unicode.org/reports/tr39 https://www.unicode.org/reports/ tr39
[WGS84] National Geospatial-Intelligence Agency, "Department of Defense World Geodetic System 1984, Its Definition and Relationships With Local Geodetic Systems, Third Edition", NIMA Technical Report TR8350.2, January 2000, http://earth-info.nga.mil/GandG/publications/tr8350.2/wgs84fin.pdf
[X.520] International Telecommunication Union, "Information technology - Open Systems Interconnection - The Directory: Selected attribute types", ITU-T X.520, November 2008
15.2 Informative References
[IPPSAMPLE] PWG "ippsample" Software Project, http://istopwg.github.io/ippsample http://istopwg.github.io/ippsample
[RFC4559] K. Jaganathan, L. Zhu, J. Brezak, "SPNEGO-based Kerberos and NTLM HTTP Authentication in Microsoft Windows", RFC 4559, June 2006, https://tools.ietf.org/html/rfc4559 https://tools.ietf.org/html/rfc4559
Page 110 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
32232333693370
3371337233733374
337533763377
3378337933803381
3382338333843385
3386338733883389
33903391339233933394
339533963397
3398
33993400
3401340234033404
324
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
[PWG-CATALOG] Sample English localization of registered IPP attributes and values, https://ftp.pwg.org/pub/pwg/ipp/examples/ipp.strings https://ftp.pwg.org/pub/pwg/ipp/examples/ipp.strings
[PWG5100.1] S. Kennedy, M. Sweet, "IPP Finishings 2.1", PWG 5100.1-2017, February 2017, https://ftp.pwg.org/pub/pwg/candidates/cs-ippfinishings21-20170217-5100.1.pdf
[PWG5100.11] T. Hastings, D. Fullman, "IPP: Job and Printer Operations - Set 2", PWG 5100.11-2010, October 2010, https://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext10-20101030-5100.11.pdf
[PWG5100.13-2012] M. Sweet, I. McDonald, "IPP: Job and Printer Extensions - Set 3 (JPS3)", PWG 5100.13-2012, July 2012, https://ftp.pwg.org/pub/pwg/candidates/cs-ippjobprinterext3v10-20120727-5100.13.pdf
[PWG5100.14] M. Sweet, I. McDonald, A. Mitchell, J. Hutchings, "IPP Everywhere", 5100.14-2013, January 2013, https://ftp.pwg.org/pub/pwg/candidates/cs-ippeve10-20130128-5100.14.pdf
[UTR17] Unicode Consortium “Unicode Character Encoding Model”, UTR#17, November 2008, https://www.unicode.org/reports/tr17 https://www.unicode.org/reports/ tr17
[UTR23] Unicode Consortium “Unicode Character Property Model”, UTR#23, May 2015, https://www.unicode.org/reports/tr23 https://www.unicode.org/reports/ tr23
[UTR33] Unicode Consortium “Unicode Conformance Model”, UTR#33, November 2008, https://www.unicode.org/reports/tr33 https://www.unicode.org/reports/ tr33
[UNISECFAQ] Unicode Consortium “Unicode Security FAQ”, November 2013,https://www.unicode.org/faq/security.html https://www.unicode.org/faq/security.html
16. Authors' AddressesPrimary authors (v1.1):
Smith Kennedy
Page 111 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
325326340534063407
340834093410
3411341234133414
3415341634173418
3419342034213422
3423342434253426
3427342834293430
3431343234333434
343534363437
3438
3439
3440
327
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
HP Inc.11311 Chinden Blvd.Boise ID 83714
using Address stylePrimary authors (v1.0):
Michael SweetApple Inc.10431 N. De Anza Blvd.MS 38-4LPTCupertino CA 95014
Ira McDonaldHigh NorthPO Box 221Grand Marais, MI 49839
Peter ZehlerXerox Corporation800 Phillips RoadM/S 128-25EWebster, NY 14580-9701
Smith KennedyHP Inc.11311 Chinden Blvd.Boise ID 83714
The authors would also like to thank the following individuals for their contributions to this specification:
Robert Herriot - XeroxAndrew Mitchell - Hewlett PackardKirk Ocke - Xerox
17. Change History
17.1 July 24, 2019
Copied in definitions for "soft-proof-icc-profiles" and "print-quality-hints-supported" and extensions for "print-color-mode" and "print-quality" (from the latest draft of PQI). Also resolved the following feedback from Mike Sweet's email to the IPP WG reflector:
Drop "-5100.13" from the filename (that's just for published documents)
Page 112 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
328329344134423443
3444
344534463447344834493450345134523453345434553456345734583459346034613462346334643465
34663467
346834693470
3471
3472
347334743475
3476
330
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Global: remove section references for all of the STD92 stuff (which would have been RFC2911 sections - they don't match up
Global: fix "reference not found" issues (section 5.6.7 at least)
I think much of the 1.x content should be moved to a new section 4 model, with the new operations starting in section 5 (in keeping with our current template)
pages-per-subset should be deprecated, per our prior discussions on the subject (finishings 2.1 has the job-pages-per- set attribute)
Might as well add the "auto-monochrome" value for print-color-mode as RECOMMENDED.
Section 5.3 attributes that are READ-ONLY should be moved to a new Job Status Attributes section.
Section 5.4 should be "Subscription Status Attributes"
Section 5.5 attributes that are READ-ONLY should be moved to a new Document Status Attributes section.
Section 5.5.3 (pages) attribute is READ-WRITE (Document Description), per prior registry correction
Section 5.5.5 (pages-completed-current-copy) should be obsoleted since RFC 3381 has been obsoleted
Section 5.6 attributes that are READ-ONLY should be moved to a new Printer Status Attributes section.
Section 5.6.7, table 5: obsolete "job-save" since that spec is getting obsoleted, move "proof-print" to the new EPX spec? - Section 5.6.8: The examples seem to have a mix of quote styles, maybe "1setOf syntax" instead of "1setOf <type-def- for-job-template-attribute>"
Global: Remove all of the media-xxx attributes since those are part of Job Extensions v2.0
Section 5.6.17, table 6: fix title ("multiple-operation-time-out-action")
Section 5.6.18: Obsolete
Section 5.6.29 (printer-get-attributes-supported): Drop 'type2'
Section 5.6.33 (printer-mandatory-job-attributes): Drop 'type2'
Page 113 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
33133234773478
3479
34803481
34823483
34843485
34863487
3488
34893490
34913492
34933494
34953496
3497349834993500
35013502
3503
3504
3505
3506
333
Working Draft – IPP Job and Printer Extensions Set 3 v1.1 (JPS3) July 1024, 2019
Section 5.6.39.4 example should probably be expanded to include yellow and black (to be realistic), along with a wasteToner or wasteInk entry?
Section 5.6.40.2 sync up with printer-supply example changes
Section 6.10: Remove (all media-col stuff is in JOBEXT 2.0)
Section 7.2: Remove? I think these are now defined in Finishings 2.1?
Sections 7.6 and 7.7: Remove (all media-col stuff is in JOBEXT 2.0)
Section 9.1: Example on lines 1878 to 1881 uses left/right quotes instead of straight quotes
Section 10: Might want to wordsmith this now that STD92 has clarified things? Line 1985 also has a typo ("page-range" instead of "page-ranges").
Table 15: Remove (obsolete) job-cover-back and job-cover-front attributes, change "pages-ranges" to "page-ranges", remove (obsolete) sheet-collate,
Section 11.2: "printer-config-change-time" (not printer-description-change-time), remove media-xxx references.
Global: Update RFC2616 references to the corresponding new RFC723x RFCs...
Section 16: Drop "using Address style", you should be listed as primary author, move/update others as appropriate
References to PWG 5100.11 were left largely unchanged because it and related documents are in a state of flux.
17.2 July 10, 2019
Initial revision for v1.1.
Copied all content from previous JPS3 MS Word document into latest template
Resolved all errata from PWG errata tracking site (https://www.pwg.org/dynamo/issues.php?L+P-1+S-2+I0+E0+Z13+Q)
Copied in the contentmessage catalog syntax extensions and semantics for "_tooltip" and "_helpurl" from the latest draft of HELPME
Copied in extensions for "print-color-mode", "print-quality", from the latest draft of PQI
Page 114 of 114 Copyright © 2012-2019 The Printer Working Group. All rights reserved.
33433535073508
3509
3510
3511
3512
35133514
35153516
35173518
35193520
3521
35223523
35243525
3526
3527
3528
35293530
35313532
35333534
336