ipp transaction-based printing extensions · web viewabstract: this document defines extensions to...
TRANSCRIPT
The Printer Working Group
January 30February 18, 2020Working Draft
IPP Transaction-Based Printing Extensions v1.1(TRANS)
Status: Stable
Abstract: This document defines extensions to the Internet Printing Protocol that support the business transaction logic needed for paid, PIN, release, and quota-based printing through local and commercial services.
This document is a PWG Working Draft. For a definition of a "PWG Working Draft", see:
https://ftp.pwg.org/pub/pwg/general/pwg-process30.pdf
Copyright © 2013-2020 The Printer Working Group. All rights reserved.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
161718
19
20
The Printer Working Group
January 30February 18, 2020Working Draft
This document is available electronically at:
https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ipptrans11-20200130.docx https:// ftp.pwg.org/pub/pwg/ipp/wd/wd-ipptrans11-20200218.docxhttps://ftp.pwg.org/pub/pwg/ipp/wd/wd-ipptrans11-20200130.pdf https://ftp.pwg.org/ pub/pwg/ipp/wd/wd-ipptrans11-20200218.pdf
Copyright © 2013-2020 The Printer Working Group. All rights reserved.
21
22232425
26
27
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
Copyright © 2013-2020 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 Transaction-Based Printing Extensions v1.1 (TRANS)
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.Page 3 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
1
2
28
29303132333435
36
373839
404142
4344454647
48495051525354
55565758
3
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
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 4 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
4
5
596061
62
6
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
About the IEEE-ISTO
The IEEE-ISTO is a not-for-profit corporation offering industry groups an innovative and flexible operational forum and support services. The IEEE-ISTO provides a forum not only to develop standards, but also to facilitate activities that support the implementation and acceptance of standards in the marketplace. The organization is affiliated with the IEEE (http://www.ieee.org/) and the IEEE Standards Association (http://standards.ieee.org/).
For additional information regarding the IEEE-ISTO and its industry programs visit:
http://www.ieee-isto.org
About the IEEE-ISTO PWG
The Printer Working Group (or PWG) is a Program of the IEEE Industry Standards and Technology Organization (ISTO) with member organizations including printer manufacturers, print server developers, operating system providers, network operating 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:
https://www.pwg.org
Contact information:
The Printer Working Groupc/o The IEEE Industry Standards and Technology Organization445 Hoes Lane
Page 5 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
7
8
63
6465666768
69
70
71
72737475767778
798081828384
85
86
87
888990
9
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
Piscataway, NJ 08854USA
Page 6 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
10
11
9192
12
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
Table of Contents
1. Introduction.......................................................................................................................6
2. Terminology......................................................................................................................6
2.1 Conformance Terminology..........................................................................................6
2.2 Protocol Role Terminology..........................................................................................6
2.3 Printing Terminology...................................................................................................7
2.4 Acronyms and Organizations......................................................................................7
3. Requirements...................................................................................................................8
3.1 Rationale for IPP Transaction-Based Printing Extensions..........................................8
3.2 Use Cases..................................................................................................................9
3.2.1 Printing at a School..............................................................................................9
3.2.2 Printing to a Reprographics Shop.........................................................................9
3.3 Exceptions..................................................................................................................9
3.3.1 Account Exceeded Limit Exception......................................................................9
3.4 Out of Scope.............................................................................................................10
3.5 Design Requirements...............................................................................................10
4. IPP Model.......................................................................................................................11
4.1 User Accounts vs. Payment/Billing Accounts............................................................12
4.2 Priority of Service......................................................................................................12
4.3 Job Review...............................................................................................................14
5. HTTP Authentication - Default Username......................................................................14
6. IPP Attributes..................................................................................................................15
6.1 Operation Attributes..................................................................................................15Page 7 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
13
14
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
15
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
6.1.1 charge-info-message (text).................................................................................15
6.1.2 job-authorization-uri (uri)....................................................................................15
6.1.3 job-impressions-estimated (integer(1:MAX))......................................................15
6.2 Job Status Attributes.................................................................................................15
6.2.1 job-charge-info (text)..........................................................................................15
6.3 Job Template Attributes............................................................................................16
6.3.1 job-account-type (type2 keyword | name(MAX))................................................16
6.4 Printer Description Attributes....................................................................................16
6.4.1 job-account-type-default (type2 keyword | name(MAX))....................................16
6.4.2 job-account-type-supported (1setOf (type2 keyword | name(MAX))).................16
6.4.3 job-authorization-uri-supported (boolean)..........................................................16
6.4.4 printer-charge-info (text(MAX))...........................................................................16
6.4.5 printer-charge-info-uri (uri)..................................................................................16
6.4.6 printer-mandatory-job-attributes (1setOf keyword).............................................17
6.4.7 printer-requested-job-attributes (1setOf keyword)..............................................17
7. Additional Semantics for Existing Operations.................................................................17
7.1 Create-Job, Print-Job, and Print-URI........................................................................17
7.2 Validate-Job..............................................................................................................18
7.2.1 Validate-Job Request.........................................................................................18
7.2.2 Validate-Job Response......................................................................................18
8. Additional Values for Existing Attributes.........................................................................19
8.1 job-state-reasons (1setOf type2 keyword)................................................................19
8.2 Status Codes............................................................................................................19
Page 8 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
16
17
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
18
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
9. Conformance Requirements...........................................................................................20
9.1 Conformance Requirements for Clients....................................................................20
9.2 Conformance Requirements for Printers...................................................................20
10. Internationalization Considerations...............................................................................20
11. Security Considerations................................................................................................21
12. IANA Considerations....................................................................................................22
12.1 Attribute Registrations.............................................................................................22
12.2 Type2 keyword Registrations..................................................................................22
12.3 Operation Registrations..........................................................................................23
12.4 Status Code Registrations......................................................................................23
13. Overview of Changes...................................................................................................24
13.1 IPP Transaction-Based Printing Extensions v1.1....................................................24
14. References...................................................................................................................25
14.1 Normative References............................................................................................25
14.2 Informative References...........................................................................................26
15. Author's Address..........................................................................................................27
16. Change History.............................................................................................................28
16.1 February 20, 2020...................................................................................................28
16.2 January 30, 2020....................................................................................................28
16.3 January 28, 2020....................................................................................................29
16.4 December 16, 2019................................................................................................29
Page 9 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
19
20
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
21
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
List of Figures
Figure 1 - Transaction-Based Printing Model.....................................................................12
Figure 2 - Typical Paid Imaging Sequence Diagram..........................................................13
Page 10 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
22
23
162
163
164
165
24
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
1. Introduction
Whether provided by a third-party or an organization's infrastructure services, transaction-based printing services such as PIN, release, quota-based, managed, and account/payment-based printing are increasingly common. For example, a school may provide printing services to its students; each student submits print requests, authenticates with the print service either at time of submission or at the printer, and is then "billed" for their usage, where billing may just apply the print job against a monthly quota allowed by their student fees. Other organizations may require accounting of all print jobs; in those cases, the transactions associate print jobs with customer accounts and/or track usage and content for regulatory compliance.
Whatever the usage, IPP currently exposes only a handful of attributes that describe a Printer's business transaction capabilities and does not allow a Client to directly participate in transaction-based printing through IPP. This specification defines additional attributes, values, and semantics to enable a variety of transaction-based printing services directly through IPP. The intent is not to define a full framework for a particular class of transaction-based printing such as that envisioned by the CIP4 PrintTalk [PrintTalk] specification, but rather to define a general-purpose framework that can be used by a variety of solutions using business transactions that is compatible with other public standards.
This specification updates the previous version [PWG5100.16-2013] and, adds related attributes from other specifications, and moves unrelated attributes to other specifications. A list of changes can be found in section .
2. Terminology
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.
Page 11 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
25
26
166
167168169170171172173174175
176177178179180181182183184
185186187
188
189
190191192193194
27
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
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.
2.2 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] User Agent).
Printer: Listener for incoming connections and receiver of incoming operation requests (Hypertext Transfer Protocol -- HTTP/1.1 [RFC7230] Server) that represents one or more Physical Devices or a Logical Device.
2.3 Printing Terminology
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.
End User: A person or automata using a Client to communicate with a Printer.
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.
Job Creation Request: Any operation that causes the creation of a Job object, e.g., the Create-Job, Print-Job, and Print-URI operations [STD92].
Logical Device: a 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
Paid Imaging Services: Printing, facsimile, and scanning performed for a monetary fee. Facsimile, scanning, and the means of collecting payment are outside the scope of this specification.Page 12 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
28
29
195196197
198
199200
201202
203204205
206
207208209
210
211212
213214
215216217
218
219220221
30
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
Physical Device: a A hardware implementation of a endpoint device, e.g., a marking engine, a fax modem, etc.
PIN Printing: Printing where the User/Client provides a passcode or number in the print request that is later used to release the Job at the Printer's console or control panel.
Quota-Based Printing: Printing where Jobs are measured and potentially limited by the Printer. The method of measurement and limiting are outside the scope of this document.
Release Printing: Printing where Jobs are submitted to the print service and held until the User subsequently provides identification information at the Printer, such as by entering a username and password at the console or swiping or presenting an idenfication card to a card reader on the Printer. Jobs may be directed at a Physical Printer or at a Logical Printer such as a central print service.
Transaction-Based Printing: Printing, including Paid Imaging Services, PIN Printing, Release Printing, and Quota-Based Printing, where authorized Jobs are a business transaction between the End User/Client and Printer.
2.4 Acronyms and Organizations
IANA: Internet Assigned Numbers Authority, https://www.iana.org/
IETF: Internet Engineering Task Force, https://www.ietf.org/
ISO: International Organization for Standardization, https://www.iso.org/
PIN: Personal Identification Number
PWG: Printer Working Group, https://www.pwg.org/
Page 13 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
31
32
222223
224225
226227
228229230231232
233234235
236
237
238
239
240
241
242
33
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
3. Requirements
3.1 Rationale for IPP Transaction-Based Printing Extensions
Given the following existing specifications and the need for a standard method of supporting Transaction-Based Printing without vendor-specific driver software, the IPP Transaction-Based Printing Extensions specification should:
[1.] Use existing the existing IPP specifications to support job submission to and monitoring of Paid Imaging Services,
1.[2.] Define HTTP authorization requirements as needed to support Transaction-Based Printing,
2.[3.] Define operation attributes and amend operation semantics as needed for a Client to obtain and supply authorization from an IPP Printer,
3.[4.] Define status code values needed for Transaction-Based Printing to inform a Client when exceptions occur during job submission,
4.[5.] Define Job Status attributes and values needed for Transaction-Based Printing to provide authorization status information to Clients,
5.[6.] Define Job Template attributes needed to clearly express output intent for Transaction-Based Printing, and
6.[7.] Define Printer Description attributes and values needed for Transaction-Based Printing.
The IPP Job Extensions v2.0 (JOBEXT) [PWG5100.7] defines attributes for Job accounting.
The IPP Enterprise Printing Extensions v2.0 (EPX) [PWG5100.11] defines attributes for PIN and Release Printing.
The IPP 2.0, 2.1, and 2.2 specification [PWG5100.12] defines:
1. A collection of existing IPP specifications that form the basis for IPP/2.02. Standard job template attributes3. Specific interoperability requirements, such as HTTP/1.1 support with chunking
and IPP collection attribute support
Page 14 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
34
35
243
244
245246247
248249250251252253254255256257258259260261
262263
264265
266
267268269270
36
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
4. New version number and operation requirements for different classes of Imaging Devices
IPP Everywhere [PWG5100.14] defines:
1. Protocols and schema to support discovery, identification, and auto-configuration of Imaging Devices,
2. A standard profile of IPP attributes, operations, and values to promote interoperability, and
3. Standard document formats for job submission.
The PWG Raster Format [PWG5102.4] defines a minimal file format for transmission of multi-page color and grayscale bitmap images
The Document management -- Portable document format -- Part 1: PDF 1.7 [ISO32000] defines:
1. A rich file format for transmission of multi-page color and grayscale vector and bitmap images
2. Standard page attributes to support page size, orientation, and duplex functionality
The JPEG File Interchange Format Version 1.02 [JFIF] defines a compact file format for transmission of photographic images
3.2 Use Cases
3.2.1 Printing at a School
Jane wants to print her thesis on the laser printer in her school's computing lab. After initiating the print action in her application and selecting the laser printer, the application software validates access to the printer by providing the proposed job ticket information. The print service supporting the laser printer provides the application software an authorization code for the job submission. After Jane confirms the print action, the application software submits the print job with the authorization code to the print service. The print service then prints the job on the laser printer and includes the print job in her student activity fees.
Page 15 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
37
38
271272
273
274275276277278
279280
281282
283284285286
287288
289
290
291292293294295296297298
39
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
3.2.2 Printing to a Reprographics Shop
John wants to print 100 marketing booklets for a real estate conference using a local reprographics shop. John prepares the electronic files needed for the booklets and then initiates a job submission through a generic job management utility. After selecting the reprographics shop and specifying the job processing intent and delivery location, the utility software validates access to the service for the shop. The service challenges the user (via the utility software) to provide user account information. Once accepted, the service provides an authorization code to the utility software, which then submits the complete job, including the authorization code, for printing. The shop charges John's account, prints the job, and delivers the booklets to the conference.
3.3 Exceptions
The following subsections define exceptions in addition to those defined in the Internet Printing Protocol/1.1 [STD92].
3.3.1 Account Exceeded Limit Exception
Jane wants to print flyers for a school event on the school's large format printer. After initiating the print action in her application and selecting the large format printer, the application software validates access to the printer, obtains an authorization code, and submits the job. After pre-processing the job, the print service associated with the printer determines that Jane's account lacks sufficient funds to complete the print job and stops the job from printing, adding status information to the job indicating the reason. The application software queries the print service for the job status and presents the issue to Jane. Jane then visits the web page provided by the print service to add additional printing credits to her school activity account. The print service then resumes processing of the job, printing the flyers on the large format printer.
3.4 Out of Scope
The following are considered out of scope for this specification:
1. The actual method of payment for Paid Imaging Services,2. The actual methods of measurement and limit enforcement for Quota-Based
Printing,
Page 16 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
40
41
299
300301302303304305306307308
309
310311
312
313314315316317318319320321322
323
324
325326327
42
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
[3.] The actual methods of multi-factor authentication for PIN and Release Printing, e.g., smart cards, and
3.[4.] Definition of new HTTP authentication methods.
3.5 Design Requirements
The design requirements for the IPP Transaction-Based Printing Extensions specification are:
1. Define HTTP authorization extensions and requirements;[2.] Follow the naming conventions defines in the Internet Printing ProtocolIPP/1.1:
Model and Semantics [RFC2911STD92], including keyword value case (lower) and hyphenation requirements;
2.[3.] Define attributes and values to support Transaction-Based Printing; and[4.] Amend operation semantics to support Transaction-Based Printing.;[5.] Support printing with vender-neutral Client software from any Client to any
Printer using a variety of discovery protocols, IPP for the transport, and standard document formats.
Page 17 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
43
44
328329330
331
332333
334335336337338339340341342
343
45
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
4. IPP Model
This document defines new attributes, keyword values for the “job-state-reasons” Job Description Status attribute, and status codes for the Create-Job, Print-Job, Print-URI, and Validate-Job operations that allows IPP to support Transaction-Based Printing. Figure 1 shows the general model of Transaction-Based Printing while Figure 2 shows a typical Paid Imaging Service interaction between a Client and Printer.
The “printer-charge-info-uri” Printer Description attribute (section 6.4.12) provides a URL that allows End Users to manage paid Paid printing Printing accounts on the Printer. Typically, this web page will allow new users End Users to sign up for the Paid Imaging Service, purchase additional pages/ and/or credits for printing, manage queued jobsJobs, and so forth.
The “job-authorization-uri” (section 6.1.2) operation attribute allows a Printer to provide an authorization or transaction code to the Client that is used in subsequent job Job creation Creation requests Requests to obtain a printout. The valid time period, number of print jobs, and/or number of pages for an authorization code is specific to the implementation. However, since there is no way for the Client to tell the Printer it will not be using the authorization code, the Printer MUST automatically expire the provided URI after a suitable period of time that SHOULD be longer than 60 seconds. Printers notify Clients that they require a “job-authorization-uri” value in a print job Job creation Creation request Request by including the attribute name in the “printer-mandatory-job-attributes” Printer Description attribute (section 6.4.15)[PWG5100.7]. Printers notify Clients that a “job-authorization-uri” value is no longer valid by returning the client-error-account-authorization-failed (section 8.2) status code and placing the “job-authorization-uri” attribute in the unsupported attributes group of the response.
The “job-impressions-estimated” (section 6.1.3) operation attribute allows the Client to supply an estimate of the number of impressions or sides that will be submitted for printing.
The “charge-info-message” (section 6.1.1) operation attribute allows the Printer to return a localized message to the Client tailored to the requesting user. The message is typically the current status of the account (number of pages and/or /amount of credit remaining) but can also contain account-specific error messages when the account cannot be used for
Page 18 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
46
47
344
345346347348349
350351352353354
355356357358359360361362363364365366367
368369
370371372373
48
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
printing. Once a job Job is created, the “job-charge-info” (section 6.2.1) Job Description Status attribute provides any updated account information for that jobJob.
Account issues that are discovered at validation or job Job creation time are reported using the new status codes defined in section 8.2. Once a job Job has been created, these same issues are reported in the “job-state-reasons” (section 8.1) Job Description Status attribute with the corresponding keyword values.
Page 19 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
49
50
374375
376377378379
380
51
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
Figure 1 - Transaction-Based Printing Model
4.1 User Accounts vs. Payment/Billing Accounts
Printers that support multiple payment or billing options for each user End User account can support them via the “job-account-id” and “job-accounting-user-id” Job Template attributes [PWG5100.7]. Printers notify Clients that they require these values in a print job Job creation Creation request Request by including the corresponding attribute names in the “printer-mandatory-job-attributes” Printer Description attribute [PWG5100.7](section 6.4.15).
4.2 Priority of Service
The "job-priority" [STD92] Job Template attribute can be used by the Printer to determine the cost of or type of service for the Job. For example, a Job with a priority of 100 would cause the Job to be processed before other Jobs of lesser priority and might then be billed at twice the normal rate. Similarly, a Job with a priority of 1 would cause the Job to be processed after all other Jobs and might be billed at half the normal rate.
Page 20 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
52
53
381
382
383
384385386387388389
390
391392393394395
54
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
[4.3] PIN Printing
Printers support PIN Printing using the “job-password” and “job-password-encryption” operation attributes [PWG5100.11]. Jobs created with these attributes MUST be placed in the ‘pending-held’ state with the ‘job-password-wait’ keyword added to the “job-state-reasons” Job Description attribute.
When the User later enters the PIN/passcode on the Printer, the job is placed in the ‘pending’ or ‘processing’ state and the ‘job-password-wait’ keyword is removed from the “job-state-reasons” Job Description attribute.
Page 21 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
55
56
396
397398399400
401402403
404
57
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
Client PrinterPOST Validate-Job Request ⇢
⇠ 401 UnauthorizedWWW-Authenticate: Basic realm=”Example”
POST Validate-Job Request ⇢Authentication: Basic dGVzdDp0ZXN0MTIzCg==job-impressions-estimated=20
⇠ 200 OKValidate-Job Response = successful-okcharge-info-message=”14 pages in account.”job-authorization-uri = “urn:uuid:...”
POST Print-Job Request ⇢Authentication: Basic dGVzdDp0ZXN0MTIzCg==job-authorization-uri = “urn:uuid:...”<20 page document>
⇠ 200 OKPrint-Job Response = successful-okcharge-info-message=”14 pages in account.”job-id=1234job-state=pendingjob-state-reasons=”none”
POST Get-Job-Attributes Request ⇢Authentication: Basic dGVzdDp0ZXN0MTIzCg==job-id=1234
⇠ 200 OKGet-Job-Attributes Response = successful-okjob-charge-info=”6 pages in account.”job-impressions-completed=8job-state=processingjob-state-reasons=”job-printing”
POST Get-Job-Attributes Request ⇢Authentication: Basic dGVzdDp0ZXN0MTIzCg==job-id=1234
⇠ 200 OKGet-Job-Attributes Response = successful-okjob-charge-info=”Need to order more pages.”job-impressions-completed=14job-state=processing-stoppedjob-state-reasons=”account-limit-reached”
... User Visits printer-charge-info-uri to order 10 more pages ...
POST Get-Job-Attributes Request ⇢Page 22 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
58
59
405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447
60
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
Authentication: Basic dGVzdDp0ZXN0MTIzCg==job-id=1234
⇠ 200 OKGet-Job-Attributes Response = successful-okjob-charge-info=”20 pages charged.”job-impressions-completed=20job-state=completedjob-state-reasons=”none”
Figure 2 - Typical Paid Imaging Sequence Diagram
[4.4] Release Printing
Printers can act as “release printing” services for one or more associated output devices, where print jobs are spooled and later released by the User at an output device by entering a PIN/passcode (see section 4.2), swiping an identification card, or providing other identification to the associated Printer.
Jobs submitted to such a Printer can be placed in the ‘pending-held’ state with the ‘job-release-wait’ keyword added to the “job-state-reasons” Job Description attribute. The Job is placed in the 'pending-held' state only if it cannot be processed until the Output Device has been selected, which determines the security policy and (if applicable) costs that must be accounted for and paid. When the User later releases the job at an output device, the Job is placed in the ‘pending’ or ‘processing’ state and the ‘job-release-wait’ keyword is removed from the “job-state-reasons” Job Description attribute.
[4.5] Job Review
Printers can institute a policy of holding new Jobs for review, such as when an unusual print request is received ("print one million copies of a brochure"), randomly as a means of auditing all print jobs, or as a blanket policy ("all color print jobs from students are held for review"). Such Jobs are placed in the 'pending-held' state with the 'job-held-for-review' keyword added to the "job-state-reasons" Job Description Status attribute. When released by an authorized user, the Printer then places the Job in the 'pending' or 'processing' states and removes the 'job-held-for-review' keyword.
Page 23 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
61
62
448449450451452453454455
456
457
458459460461
462463464465466467468
469
470471472473474475476
63
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
5. HTTP Authentication - Default Username
Printers supporting Basic authentication [RFC7617] MUST support a default username specified in the WWW-Authenticate header. For example:
WWW-Authenticate: Basic realm=”Example Printer” username=”guest”
Printers supporting Digest authentication [RFC7616] MUST support a default username specified in the WWW-Authenticate header. For example:
WWW-Authenticate: Digest realm=”Example Printer” \ nonce=”0123456789abcdefg” username=”guest”
The default username can be changed or disabled through the Printer’s web interface or other mechanisms.
Page 24 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
64
65
477
478479
480
481482
483484
485486
487
66
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
[6.] IPP Attributes
5.1[6.1] Operation Attributes
5.1.1[6.1.1] charge-info-message (text)
This attribute provides a localized message concerning any Paid Imaging Service charge information, typically the remaining balance on the requesting user’s account. Printers that implement Paid Imaging Services SHOULD return this attribute in response to a Create-Job, Print-Job, Print-URI, or Validate-Job request.
5.1.2[6.1.2] job-authorization-uri (uri)
This RECOMMENDED attribute specifies an implementation-specific URI representing an authorization or reservation code for a print job Job creation Creation requestRequest. It is returned by the Validate-Job operation (section 7.2) and supplied in the Create-Job, Print-Job, and Print-URI operations (section 7.1).
Printers that support this attribute MUST also support the “job-authorization-uri-supported” (section 6.4.3) Printer Description attribute.
5.1.3[6.1.3] job-impressions-estimated (integer(1:MAX))
This attribute specifies the estimated "job-impressions" [STD92] value for a subsequent print jJob creation Creation requestRequest. It is supplied in a Validate-Job request (section 7.2) when supporting accounting or Paid Imaging Services.
5.2[6.2] Job Status Attributes
5.2.1[6.2.1] job-charge-info (text)
This RECOMMENDED attribute provides a localized message concerning any Paid Imaging Service charge information, typically the cost charged to the requesting user’s account.
Page 25 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
67
68
488
489
490
491
492493494495
496
497498499500
501502
503
504505506
507
508
509510511
69
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
Page 26 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
70
71
512
72
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
5.2.2 profile-uri-actual (uri)
This attribute is returned by the Validate-Job operation (section 7.2) and specifies which ICC color profile will be used by the Printer for the given Job Template attributes. This attribute MUST be supported if the "printer-icc-profiles" Printer attribute [PWG5100.13] is supported.
The ICC profile can be used for Client-based color matching and soft proofing.
[6.3] Job Template Attributes
5.2.3[6.3.1] job-account-type (type2 keyword | name(MAX))
This RECOMMENDED attribute specifies the type of value that was specified in the "job-account-id" Job Template attribute [PWG5100.7]. The following values are defined in this specification:
'general': A general-purpose identifier was supplied.
'group': A group identifier was supplied.
'none': No account identifier was supplied.
[6.3.2] print-scaling (type2 keyword)
This REQUIRED attribute specifies how the Printer scales the Document data to fit the requested media. Standard keywords are:
'auto'; if the “ipp-attribute-fidelity” attribute is true or the document is larger than the requested media, scale the document using the 'fit' method if the margins are non-zero, otherwise scale using the 'fill' method. If the “ipp-attribute-fidelity” attribute is false or unspecified and the document is smaller than the requested media, scale using the 'none' method.
‘auto-fit’; if the “ipp-attribute-fidelity” attribute is true or the document is larger than the requested media, scale the document using the ‘fit’ method. Otherwise, scale using the ‘none’ method.
Page 27 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
73
74
513
514515516517
518
519
520
521522523
524
525
526
527
528529
530531532533534
535536537
75
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
'fill'; scale the document to fill the requested media size, preserving the aspect ratio of the document data but potentially cropping portions of the document.
'fit'; scale the document to fit the printable area of the requested media size, preserving the aspect ratio of the document data without cropping the document.
'none'; do not scale the document to fit the requested media size. If the document is larger than the requested media, center and clip the resulting output. If the document is smaller than the requested media, center the resulting output.
The 'auto' value is typically the default. Figure 3 shows how a 3:2 aspect ratio photo image is scaled using the 'fit' and 'fill' values on US Letter and US Legal media.
The "print-scaling" attribute MUST control the scaling of the supported IPP Everywhere MIME media types - "application/oxps", "application/pdf", "image/jpeg", and "image/pwg-raster" - and SHOULD control the scaling of document data in other formats.
Page 28 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
76
77
538539
540541
542543544
545546
547548549
550
78
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
Figure 3 - "print-scaling" Values
Page 29 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
79
80
551
552
81
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
[6.4] Printer Description Attributes
5.2.4[6.4.1] job-account-type-default (type2 keyword | name(MAX))
The default value supplied by the Printer if the Client omits the "job-account-type" (section 6.3.1) Job Template attribute. This attribute is REQUIRED if the “job-account-type” Job Template attribute is supported.
5.2.5[6.4.2] job-account-type-supported (1setOf (type2 keyword | name(MAX)))
The list of supported "job-account-type" (section 6.3.1) Job Template attribute values. This attribute is REQUIRED if the “job-account-type” Job Template attribute is supported.
5.2.6[6.4.3] job-authorization-uri-supported (boolean)
This attribute specifies whether the “job-authorization-uri” (section 6.1.2) operation attribute is supported. This attribute is REQUIRED if the “job-authorization-uri” operation attribute is supported.
[6.4.4] jpeg-k-octets-supported (rangeOfInteger(0:MAX))
This attribute specifies the upper and lower bounds of total sizes of JFIF jobs in K octets, i.e., in units of 1024 octets. The lower bound is always 0. Printers that support the "image/jpeg" MIME media type MUST support this attribute.
[6.4.5] jpeg-x-dimension-supported (rangeOfInteger(0:65535))
This attribute specifies the maximum horizontal dimension of JFIF jobs in samples per line. Pursuant to the JPEG File Information Format Version 1.02 [JFIF], the lower bound is always 0. Printers that support the "image/jpeg" MIME media type MUST support this attribute.
[6.4.6] jpeg-y-dimension-supported (rangeOfInteger(1:65535))
This attribute specifies the maximum vertical dimension of JFIF jobs in lines. Pursuant to the JPEG File Information Format Version 1.02 [JFIF], the lower bound is always 1. Printers that support the "image/jpeg" MIME media type MUST support this attribute.
Page 30 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
82
83
553
554
555556557
558
559560
561
562563564
565
566567568
569
570571572573
574
575576577
84
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
[6.4.7] pdf-k-octets-supported (rangeOfInteger(0:MAX))
This attribute specifies the upper and lower bounds of total sizes of PDF jobs in K octets, i.e., in units of 1024 octets. The lower bound is always 0. Printers that support the "application/pdf" MIME media type MUST support this attribute.
[6.4.8] pdf-versions-supported (1setOf type2 keyword)
This attribute specifies the supported versions of documents using the "application/pdf" MIME media type. Printers that support the "application/pdf" MIME media type MUST support this attribute.
The following keyword values are defined:
'adobe-1.3': PDF files conforming to Adobe PDF Language Reference, Version 1.3 [ADOBEPDF1.3] are supported
'adobe-1.4': PDF files conforming to Adobe PDF Language Reference, Version 1.4 [ADOBEPDF1.4] are supported
'adobe-1.5': PDF files conforming to Adobe PDF Language Reference, Version 1.5 [ADOBEPDF1.5] are supported
'adobe-1.6': PDF files conforming to Adobe PDF Language Reference, Version 1.6 [ADOBEPDF1.6] are supported
'iso-15930-1_2001': PDF files conforming to "Graphic technology -- Prepress digital data exchange -- Use of PDF -- Part 1: Complete exchange using CMYK data (PDF/X-1 and PDF/X-1a)" [ISO15930-1] are supported
'iso-15930-3_2002': PDF files conforming to "Graphic technology -- Prepress digital data exchange -- Use of PDF -- Part 3: Complete exchange suitable for colour-managed workflows (PDF/X-3)" [ISO15930-3] are supported
'iso-15930-4_2003': PDF files conforming to "Graphic technology -- Prepress digital data exchange using PDF -- Part 4: Complete exchange of CMYK and spot colour printing data using PDF 1.4 (PDF/X-1a)" [ISO15930-4] are supported
Page 31 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
85
86
578
579580581
582
583584585
586
587588
589590
591592
593594
595596597
598599600
601602603
87
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
'iso-15930-6_2003': PDF files conforming to "Graphic technology -- Prepress digital data exchange using PDF -- Part 6: Complete exchange of printing data suitable for colour-managed workflows using PDF 1.4 (PDF/X-3)" [ISO15930-6] are supported
'iso-15930-7_2010': PDF files conforming to "Graphic technology -- Prepress digital data exchange using PDF -- Part 7: Complete exchange of printing data (PDF/X-4) and partial exchange of printing data with external profile reference (PDF/X-4p) using PDF 1.6" [ISO15930-7] are supported
'iso-15930-8_2010': PDF files conforming to "Graphic technology -- Prepress digital data exchange using PDF -- Part 8: Partial exchange of printing data using PDF 1.6 (PDF/X-5)" [ISO15930-8] are supported
'iso-16612-2:2010': PDF files conforming to "Graphic technology -- Variable data exchange -- Part 2: Using PDF/X-4 and PDF/X-5 (PDF/VT-1 and PDF/VT-2)" [ISO16612-2] are supported
'iso-19005-1_2005': PDF files conforming to Document Management – Electronic document file format for long term preservation – Part 1: Use of PDF 1.4 (PDF/A-1) [ISO19005-1] are supported
'iso-19005-2_2011': PDF files conforming to Document management – Electronic document file format for long-term preservation – Part 2: Use of ISO 32000-1 (PDF/A-2) [ISO19005-2] are supported
'iso-19005-3_2012': PDF files conforming to Document management -- Electronic document file format for long-term preservation -- Part 3: Use of ISO 32000-1 with support for embedded files (PDF/A-3) [ISO19005-3] are supported
'iso-32000-1_2008': PDF files conforming to Document management—Portable document format—Part 1: PDF 1.7 [ISO32000-1] are supported
'none': PDF files are not supported
'pwg-5102.3': PDF files conforming to Portable Document Format: Image Streamable (PDF/is) [PWG5102.3]
Page 32 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
88
89
604605606
607608609610
611612613
614615616
617618619
620621622
623624625
626627
628
629630
90
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
[6.4.9] print-scaling-default (type2 keyword)
This REQUIRED attribute provides the default value supplied by the Printer if the Client omits the "print-scaling" (section 6.3.2) Job Template attribute from a Job Creation request.
[6.4.10] print-scaling-supported (1setOf type2 keyword)
This REQUIRED attribute lists the supported values for the "print-scaling" (section 6.3.2) Job Template attribute. Printers MUST support all of the listed values for the supported IPP Everywhere MIME media types - "application/pdf", "image/jpeg", and "image/pwg-raster".
5.2.7[6.4.11] printer-charge-info (text(MAX))
This RECOMMENDED attribute provides a human-readable description of Paid Imaging Services for the Printer. Typically, this description will provide a summary of cost information.
5.2.8[6.4.12] printer-charge-info-uri (uri)
This RECOMMENDED attribute provides a "http:" or "https:" URI referring to a human-readable web page for Paid Imaging 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.
[6.4.13] printer-dns-sd-name (name(63))
This REQUIRED attribute provides the current DNS-SD service name for the Printer. For example, if the Printer registers “Example Make and Model._ipp._tcp,_print.local.”, this attribute would contain “Example Make and Model”.
Printers that support changing the value using the Set-Printer-Attributes operation MUST list "printer-dns-sd-name" in the "printer-settable-attributes-supported" Printer attribute [RFC3380]. When a new name is set, the Printer MUST re-register all DNS-SD services associated with it. However, if the new name causes a collision with other network devices, the Printer MUST replace the value set with a non-conflicting name as required by multicast DNS, typically by appending a unique number to the provided name.
Page 33 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
91
92
631
632633634
635
636637638639
640
641642643
644
645646647648
649
650651652
653654655656657658
93
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
Note: Changing the DNS-SD service name can prevent Clients from resolving the Printer's services if those Clients use a statically configured name for the Printer.
[6.4.14] printer-kind (1setOf type2 keyword | name(MAX))
This REQUIRED attribute lists the categories of printing that are supported by the Printer. This information is typically used to conveniently determine whether a Printer supports the kind of printing required by the Client software. Name values define site- or vendor-specific categories while keywords define standard categories. The following keywords are defined:
‘disc’: the Printer supports printing on optical discs such as printable CD-Rs and DVD-Rs
‘document’: the Printer supports regular document printing on standard cut sheet media such as US Letter, US Legal, US Tabloid, ISO A4, and ISO A3 media
‘envelope’: the Printer supports printing on envelopes
‘label’: the Printer supports printing on cut labels
'large-format': the Printer supports printing on cut sheet sizes and roll media larger than ISO A3
‘photo’: the Printer supports printing with photographic print quality
'postcard': the Printer supports printing on postcards
‘receipt’: the Printer supports printing receipts on continuous rolls
‘roll’: the Printer supports printing documents or photos on continuous rolls, typically on large-format printers
Page 34 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
94
95
659660
661
662663664665666
667668
669670
671
672
673674
675
676
677
678679
96
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
[6.4.15] Printers that support changing the value using the Set-Printer-Attributes operation MUST list "printer-kind" in the "printer-settable-attributes-supported" Printer attribute [RFC3380]. The Get-Printer-Supported-Values operation returns the factory default category values for the Printer.printer-mandatory-job-attributes (1setOf keyword)
This RECOMMENDED Printer Description attribute lists the minimum Job Template and operation attributes that are required for a successful Job Creation Request. A Printer MAY reject the Job Creation Request if the Client does not supply these attributes in its request.
Member attributes of collections are specified by concatenating attribute names delimited by the period (".") character, e.g., the "media-source" member attribute of the "media-col" Job Template attribute [PWG5100.7] would be requested using the keyword value 'media-col.media-source'.
Printers MUST NOT report this attribute in a Get-Printer-Attributes response if no attributes are required for a successful Job Creation Request.
5.2.9[6.4.16] printer-requested-job-attributes (1setOf keyword)
This RECOMMENDED attribute lists the attributes the Printer wants but does not need in order to support Job Accounting. Member attributes of collections are specified by concatenating attribute names delimited by the period (".") character, e.g., the "document-source-application-name" member attribute of the "document-format-details" operation attribute [PWG5100.7] would be requested using the keyword value 'document-format-details.document-source-application-name'. If supported, Clients MUST allow the End User to explicitly consent to the sending of any attributes or values that are not explicitly chosen by the End User.
For example, a Printer can list the 'media' and 'media-col' keywords in "printer-requested-job-attributes". If the Client application provides a UI control for selecting a media size, no additional consent is needed since the UI allows the User to select which value is sent.
However, if a Printer lists the "document-format-details.document-source-application-name' keyword in "printer-requested-job-attributes", it is unlikely that the Client application will provide a UI control for selecting the application name that is sent to the Printer. In this case, the Client MUST provide a UI that allows the End User to opt out of sending the
Page 35 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
97
98
680681682683684
685686687688
689690691692
693694
695
696697698699700701702703
704705706
707708709710
99
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
requested information. If the End User opts out of sending the requested information, the Client MUST NOT send it.
6.[7.] Additional Semantics for Existing Operations
6.1[7.1] Create-Job, Print-Job, and Print-URI
Printers that support Paid Imaging Services SHOULD accept the “job-authorization-uri” (section 6.1.2) operation attribute. Printers that support Paid Imaging Services SHOULD also return the “charge-info-message” (section 6.1.1) operation attribute. Clients determine whether to include the "job-authorization-uri" operation attribute by querying for the value of the "job-authorization-uri-supported" (section 6.4.3) Printer attribute.
6.2[7.2] Validate-Job
The Validate-Job operation is used to validate access to the Printer, validate and resolve any conflicts in the Job Template attributes that will be used in a subsequent Create-Job or Print-Job request, and determine the optimal raster parameters for printing.
6.2.1[7.2.1] Validate-Job Request
Printers SHOULD accept the “job-impressions-estimated” (section 6.1.3) operation attribute.
6.2.2[7.2.2] Validate-Job Response
Printers SHOULD return the "charge-info-message" (section 6.1.1) and "job-authorization-uri" (section 6.1.2) operation attributes. Printers that support the "printer-icc-profiles" Printer attribute MUST return the "profile-uri-actual" (section 6.2) operation attribute in the Validate-Job response, which contains one of the "profile-uri" member attribute values contained in the "printer-icc-profiles" Printer attribute.
Page 36 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
100
101
711712
713
714
715716717718719
720
721722723
724
725726
727
728729730731732
733
102
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
7. Additional Values for Existing Attributes
7.1[7.3] job-state-reasons (1setOf type2 keyword)
This specification defines the following new values for the “job-state-reasons” [STD92] Job Status attribute:
‘account-authorization-failed’: The “job-authorization-uri” attribute was not supplied the value supplied is not valid, or the value supplied has expired.
‘account-closed’: The requesting user’s account has been closed.
‘account-info-needed’: Additional information is required, such as a “job-account-id” or “job-accounting-user-id” value.
‘account-limit-reached’: The requesting user’s account has reached its limit and/or exhausted any balance on the account.
'conflicting-attributes': The Job Template or Document Template attributes contain conflicting values.
'job-held-for-review': The Job has been held for review.
‘job-release-wait’: The Job is held until released for printing on a particular output device.
'unsupported-attributes-or-values': The Job Template or Document-Template attributes contain unsupported attributes or values.
[7.4] Status Codes
This specification defines the following new status codes that can be returned by the Create-Job, Print-Job, Print-URI, or Validate-Job operations:
client-error-account-info-needed (0x41C); The request is missing required account information such as the “requesting-user-name”, “requesting-user-uri”, “job-account-id”, or “job-accounting-user-id”.
Page 37 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
103
104
734
735
736737
738739
740
741742
743744
745746
747
748749
750751
752
753754
755756757
105
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
client-error-account-closed (0x41D); The requesting user’s account has been closed.
client-error-account-limit-reached (0x41E); The requesting user’s account has reached its limit or exhausted any remaining balance.
client-error-account-authorization-failed (0x41F); The print jJob creation Creation request Request is missing the “job-authorization-uri” operation attribute, the supplied value is not valid, or the value supplied has expired.
Page 38 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
106
107
758759
760761
762763764
765
108
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
8. Conformance Requirements
This section summarizes the Conformance Requirements detailed in the definitions in this document for Clients and Printers.
8.1 Conformance Requirements for Clients
In order for a Client to claim conformance to this specification, a Client MUST support the following:
3.[6.] The internationalization considerations in section 10; and4. The security consideration in section 11.The "print-scaling" (section 6.3.2) Job
Template attribute[1.] The "print-scaling-default" (section 6.4.9) and "print-scaling-supported" (section
6.4.10) Printer attributes
8.2 Conformance Requirements for Printers
In order for a Printer to claim conformance to this specification, a Printer MUST support:
5.[2.] The internationalization considerations in section 10; and1. The security consideration in section 11. The "print-scaling" (section 6.3.2) Job
Template attribute[3.] The "print-scaling-default" (section 6.4.9) and "print-scaling-supported" (section
6.4.10) Printer attributes[4.] The "printer-dns-sd-name" (section 6.4.13) Printer attribute[5.] The "printer-kind" (section 6.4.14) Printer attribute
Printers that conform to HTTP Digest Access Authentication [RFC7616] and/or the HTTP 'Basic' Authentication Scheme [RFC7617] MUST support the "username" attribute in the "WWW-Authenticate" header (section 5).
To claim conformance for the OPTIONAL RECOMMENDED "job-authorization-uri" (section 6.1.2) operation attribute, Printers MUST support the "job-authorization-uri-supported" (section 6.4.3) Printer attribute.
Page 39 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
109
110
766
767768
769
770771
772773774775776
777
778
779780781782783784785
786787788
789790791
111
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
Printers that support the "printer-icc-profiles" Printer attribute MUST support the "profile-uri-actual" (section 6.2) operation attribute.
Printers that conform to the JPEG File Interchange Format Version 1.02 [JFIF] MUST support:
[1.] The "jpeg-k-octets-supported" (section 6.4.4) Printer attribute[2.] The "jpeg-x-dimension-supported" (section 6.4.5) Printer attribute[3.] The "jpeg-y-dimension-supported" (section 6.4.6) Printer attribute
Printers that conform to the Document management -- Portable document format -- Part 1: PDF 1.7 [ISO32000] MUST support:
[1.] The "pdf-k-octets-supported" (section 6.4.7) Printer attribute[2.] The "pdf-versions-supported" (section 6.4.8) Printer attribute
[9.] Internationalization Considerations
For 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] [ISO10646]; and
2. The Unicode Format for Network Interchange [RFC5198] which requires transmission of well-formed UTF-8 strings and recommends transmission of normalized UTF-8 strings in Normalization Form C (NFC) [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:
Page 40 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
112
113
792793
794795
796797798
799800
801802
803
804805
806807808809810
811812813
814815816817
818819
114
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
Unicode Bidirectional Algorithm [UAX9] – left-to-right, right-to-left, and vertical
Unicode Line Breaking Algorithm [UAX14] – character classes and wrapping
Unicode Normalization Forms [UAX15] – especially NFC for [RFC5198]
Unicode Text Segmentation [UAX29] – grapheme clusters, words, sentences
Unicode Identifier and Pattern Syntax [UAX31] – identifier use and normalization
Unicode Collation Algorithm [UTS10] – sorting
Unicode Locale Data Markup Language [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] – multi-layer character model
Unicode Character Property Model [UTR23] – character properties
Unicode Conformance Model [UTR33] – Unicode conformance basis
9.[10.] Security Considerations
The IPP extensions defined in this document require the same security considerations as defined in the Internet Printing Protocol/1.1 [STD92].
Implementations of this specification SHOULD conform to the following standard on processing of human-readable Unicode text strings, see:
Unicode Security Mechanisms [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] – common Unicode security issues
Page 41 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
115
116
820
821
822
823
824
825
826
827828
829
830
831
832
833834
835836
837
838839
840
117
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
10.[11.] IANA Considerations
10.1[11.1] 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-------------------- ---------charge-info-message (text) [PWG5100.16]job-authorization-uri (uri) [PWG5100.16]job-impressions-estimated (integer(1:MAX)) [PWG5100.16]profile-uri-actual (uri) [PWG5100.16]
Job Status attributes: Reference-------------------------- ---------job-charge-info (text) [PWG5100.16]
Job Template attributes: Reference----------------------- ---------job-account-type (type2 keyword | name(MAX)) [PWG5100.16]print-scaling (type2 keyword) [PWG5100.16]
Printer Description attributes: Reference------------------------------ ---------job-account-type-default (type2 keyword | name(MAX)) [PWG5100.16]job-account-type-supported (1setOf (type2 keyword | name(MAX))
[PWG5100.16]job-authorization-uri-supported (boolean) [PWG5100.16]jpeg-k-octets-supported (rangeOfInteger(0:MAX)) [PWG5100.16]jpeg-x-dimension-supported (rangeOfInteger(0:65535)) [PWG5100.16]jpeg-y-dimension-supported (rangeOfInteger(1:65535)) [PWG5100.16]pdf-k-octets-supported (rangeOfInteger(0:MAX)) [PWG5100.16]pdf-versions-supported (1setOf type2 keyword) [PWG5100.16]print-scaling-default (type2 keyword) [PWG5100.16]print-scaling-supported (1setOf type2 keyword) [PWG5100.16]printer-charge-info (text(MAX)) [PWG5100.16]printer-charge-info-uri (uri) [PWG5100.16]printer-dns-sd-name (name(63)) [PWG5100.16]
Page 42 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
118
119
841
842
843844
845
846
847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878
120
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
printer-kind (1setOf type2 keyword) [PWG5100.16]printer-mandatory-job-attributes (1setOf keyword) [PWG5100.16]printer-requested-job-attributes (1setOf keyword) [PWG5100.16]
10.2[11.2] 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] 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 ----------------------- ---------job-account-type (type2 keyword | name(MAX)) [PWG5100.16] general [PWG5100.16] group [PWG5100.16] none [PWG5100.16]job-account-type (type2 keyword | name(MAX)) [PWG5100.16] < any "job-account-type" value > [PWG5100.16]job-account-type (1setOf (type2 keyword | name(MAX))) [PWG5100.16] < any "job-account-type" value > [PWG5100.16]
job-state-reasons (1setOf type2 keyword) [STD92] account-authorization-failed [PWG5100.16] account-closed [PWG5100.16] account-info-needed [PWG5100.16] account-limit-reached [PWG5100.16] conflicting-attributes [PWG5100.16] job-held-for-review [PWG5100.16] job-release-wait [PWG5100.16] unsupported-attributes-or-values [PWG5100.16]
pdf-versions-supported (1setOf type2 keyword) [PWG5100.16] adobe-1.3 [PWG5100.16] adobe-1.4 [PWG5100.16] adobe-1.5 [PWG5100.16] adobe-1.6 [PWG5100.16] iso-15930-1_2001 [PWG5100.16]
Page 43 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
121
122
879880881882883
884
885886
887
888
889890891892893894895896897898899900901902903904905906907908909910911912913914915916
123
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
iso-15930-3_2002 [PWG5100.16] iso-15930-4_2003 [PWG5100.16] iso-15930-6_2003 [PWG5100.16] iso-15930-7_2010 [PWG5100.16] iso-15930-8_2010 [PWG5100.16] iso-16612-2_2010 [PWG5100.16] iso-19005-1_2005 [PWG5100.16] iso-19005-2_2011 [PWG5100.16] iso-19005-3_2012 [PWG5100.16] iso-32000-1_2008 [PWG5100.16] none [PWG5100.16] pwg-5102.3 [PWG5100.16]
[11.3] 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] in the following file:
http://www.iana.org/assignments/ipp-registrations
The registry entries will contain the following information:
Operation Name Reference-------------- ---------Create-Job (extension) [PWG5100.16]Print-Job (extension) [PWG5100.16]Print-URI (extension) [PWG5100.16]Validate-Job (extension) [PWG5100.16]
10.3[11.4] 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] 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: 0x041C client-error-account-info-needed [PWG5100.16]
Page 44 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
124
125
917918919920921922923924925926927928
929
930931
932
933
934935936937938939
940
941942
943
944
945946947948
126
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
0x041D client-error-account-closed [PWG5100.16] 0x041E client-error-account-limit-reached [PWG5100.16] 0x041F client-error-account-authorization-failed [PWG5100.16]
Page 45 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
127
128
949950951
952
129
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
11. Overview of Changes
11.1[11.5] IPP Transaction-Based Printing Extensions v1.1
The following changes were made to the previous version of this specification [PWG5100.16-2013]:
The RECOMMENDED "printer-charge-info" and "printer-charge-info-uri" Printer Description attributes were added from [PWG5100.13-2012];
The RECOMMENDED "printer-mandatory-job-attributes" Printer Description attribute was added from [PWG5100.11-2010];
The RECOMMENDED "printer-requested-job-attributes" Printer Description attribute was added;
The "profile-uri" operation attribute was moved to the IPP Driverless Printing Extensions v2.0 (NODRIVER);
The "print-scaling" Job Template attribute was moved to the IPP Driverless Printing Extensions v2.0 (NODRIVER);
The "jpeg-k-octets-supported", "jpeg-x-dimension-supported", "jpeg-y-dimension-supported", "pdf-k-octets-supported", "pdf-versions-supported", "print-scaling-default", "print-scaling-supported", "printer-dns-sd-name", and "printer-kind" Printer Description attributes were moved to the IPP Driverless Printing Extensions v2.0 (NODRIVER);
The 'conflicting-attributes', 'job-release-wait', and 'unsupported-attributes-or-values' keywords for the "job-state-reasons" Job Status attribute were moved to the IPP Enterprise Printing Extensions v2.0 (EPX); and
The required state for Jobs submitted to release printing services was relaxed.
Page 46 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
130
131
953
954
955956
957958
959960
961962
963964
965966
967968969970971
972973974
975
976
132
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
12. References
12.1[11.6] 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
[ISO10646] "Information technology -- Universal Coded Character Set (UCS)", ISO/IEC 10646:2011
[ISO15930-1] "Graphic technology -- Prepress digital data exchange -- Use of PDF -- Part 1: Complete exchange using CMYK data (PDF/X-1 and PDF/X-1a)", ISO 15930-1:2001, 2001
[ISO15930-3] "Graphic technology -- Prepress digital data exchange -- Use of PDF -- Part 3: Complete exchange suitable for colour-managed workflows (PDF/X-3)", ISO 15930-3:2002
[ISO15930-4] "Graphic technology -- Prepress digital data exchange using PDF -- Part 4: Complete exchange of CMYK and spot colour printing data using PDF 1.4 (PDF/X-1a)", ISO 15930-4:2003
[ISO15930-6] "Graphic technology -- Prepress digital data exchange using PDF -- Part 6: Complete exchange of printing data suitable for colour-managed workflows using PDF 1.4 (PDF/X-3)", ISO 15930-6:2003
[ISO15930-7] "Graphic technology -- Prepress digital data exchange using PDF -- Part 7: Complete exchange of printing data (PDF/X-4) and partial exchange of printing data with external profile reference (PDF/X-4p) using PDF 1.6", ISO 15930-7:2010
[ISO15930-8] "Graphic technology -- Prepress digital data exchange using PDF -- Part 8: Partial exchange of printing data using PDF 1.6 (PDF/X-5)", ISO 15930-8:2010, 2010
Page 47 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
133
134
977
978
979980981
982983
984985986
987988989
990991992
993994995
996997998999
100010011002
135
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
[ISO16612-2] "Graphic technology -- Variable data exchange -- Part 2: Using PDF/X-4 and PDF/X-5 (PDF/VT-1 and PDF/VT-2)", ISO 16612-2:2010
[ISO19005-1] "Document Management – Electronic document file format for long term preservation – Part 1: Use of PDF 1.4 (PDF/A-1)", ISO 19005-1:2005, October 2005
[ISO19005-2] "Document management – Electronic document file format for long-term preservation – Part 2: Use of ISO 32000-1 (PDF/A-2)", ISO 19005-2:2011, June 2011
[ISO19005-3] "Document management -- Electronic document file format for long-term preservation -- Part 3: Use of ISO 32000-1 with support for embedded files (PDF/A-3)", ISO 19005-3:2012, October 2012
[ISO29500-2] "Information technology -- Document description and processing languages -- Office Open XML File Formats -- Part 2: Open Packaging Conventions", ISO/IEC 29500-2:2012, September 2012
[ISO32000] "Document management — Portable document format — Part 1: PDF 1.7", ISO 32000-2008, January 2008
[JFIF] E. Hamilton, "JPEG File Interchange Format Version 1.02", September 1992, https://www.w3.org/Graphics/JPEG/jfif3.pdf
[PWG5100.7] M. Sweet, "IPP Job Extensions v2.0 (JOBEXT)", PWG 5100.7-2019, August 2019, https://ftp.pwg.org/pub/pwg/candidates/cs-ippjobext20-20190816-5100.7.pdf
[PWG5100.11] S. Kennedy, "IPP Enterprise Printing Extensions v2.0 (EPX)", PWG 5100.11-YYYY, Month YYYY, https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippepx20-20191010.pdf
[PWG5100.12] R. Bergman, H. Lewis, I. McDonald, M. Sweet, "IPP 2.0, 2.1, and 2.2", PWG 5100.12-2015, October 2015, https://www.pwg.org/pub/pwg/standards/std-ipp20-20151030-5100.12.pdf
Page 48 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
136
137
10031004
100510061007
100810091010
101110121013
101410151016
10171018
10191020
102110221023
102410251026
1027102810291030
138
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
[PWG5100.13] S. Kennedy, "IPP Driverless Printing Extensions v2.0", PWG 5100.13-YYYY, Month YYYY, https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippnodriverv20-20191121.pdf
[PWG5100.14] M. Sweet, I. McDonald, A. Mitchell, J. Hutchings, "IPP Everywhere v1.1", PWG 5100.14-YYYY2013, January 2013Month YYYY, https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippeve11-20190827.pdf https:// ftp.pwg.org/pub/pwg/candidates/cs-ippeve10-20130128-5100.14.pdf
[RFC3380] T. Hastings, R. Herriot, C. Kugler, H. Lewis, "Internet Printing Protocols (IPP): Job and Printer Set Operations", RFC 3380, September 2002, https://tools.ietf.org/html/rfc3380
[RFC5198] J. Klensin, M. Padlipsky, "Unicode Format for Network Interchange", RFC 5198, March 2008, https://tools.ietf.org/html/rfc5198
[RFC6763] S. Cheshire, M. Krocmal, "DNS-Based Service Discovery", RFC 6763, February 2013, https://tools.ietf.org/html/rfc6763
[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
[RFC7616] R. Shekh-Yusef, D. Ahrens, S. Bremer, "HTTP Digest Access Authentication", RFC 7616, September 2015, https://tools.ietf.org/html/rfc7616
[RFC7617] J. Reschke, "The 'Basic' HTTP Authentication Scheme", RFC 7617, September 2015, https://tools.ietf.org/html/rfc7617
[STD63] F. Yergeau, "UTF-8, a transformation format of ISO 10646", RFC 3629/STD 63, November 2003, https://tools.ietf.org/html/std63
[STD92] M. Sweet, I. McDonald, "Internet Printing Protocol/1.1", STD 92, June 2018, https://tools.ietf.org/html/std92
[UAX9] Unicode Consortium, “Unicode Bidirectional Algorithm”, UAX#9, February 2019, https://www.unicode.org/reports/tr9
Page 49 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
139
140
103110321033
1034103510361037
103810391040
10411042
10431044
104510461047
104810491050
10511052
10531054
10551056
10571058
141
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
[UAX14] Unicode Consortium, “Unicode Line Breaking Algorithm”, UAX#14, February 2019, https://www.unicode.org/reports/tr14
[UAX15] M. Davis, M. Duerst, "Unicode Normalization Forms", Unicode Standard Annex 15, February 2019, https://www.unicode.org/reports/tr15
[UAX29] Unicode Consortium, “Unicode Text Segmentation”, UAX#29, February 2019, https://www.unicode.org/reports/tr29
[UAX31] Unicode Consortium, “Unicode Identifier and Pattern Syntax”, UAX#31, February 2019, https://www.unicode.org/reports/tr31
[UNICODE] Unicode Consortium, "Unicode Standard", Version 12.0.0, March 2019, https://www.unicode.org/versions/Unicode12.0.0/
[UTS10] Unicode Consortium, “Unicode Collation Algorithm”, UTS#10, April 2019, https://www.unicode.org/reports/tr10
[UTS35] Unicode Consortium, “Unicode Locale Data Markup Language”, UTS#35, March 2019, https://www.unicode.org/reports/tr35
[UTS39] Unicode Consortium, “Unicode Security Mechanisms”, UTS#39, May 2019, https://www.unicode.org/reports/tr39
12.2[11.7] Informative References
[BONJOUR] Apple Inc., "Bonjour Printing Specification Version 1.2.1", February 2015, https://developer.apple.com/bonjour/printing-specification/bonjourprinting-1.2.1.pdf
[PrintTalk] CIP4, "Print Talk Specification Version 2.0", October 2019, https://confluence.cip4.org/display/PUB/PrintTalk
[PWG5100.11-2010]T. Hastings, D. Fullman, "IPP Job and Printer Extensions - Set 2 (JPS2)", PWG 5100.11-2010, October 2010,
Page 50 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
142
143
10591060
106110621063
10641065
10661067
10681069
10701071
10721073
10741075
1076
1077107810791080
10811082
108310841085
144
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
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.16-2013]M. Sweet, "IPP Transaction-Based Printing Extensions", PWG 5100.16-2013, November 2013, https://ftp.pwg.org/pub/pwg/candidates/cs-ipptrans10-20131108-5100.16.pdf
[UTR17] Unicode Consortium “Unicode Character Encoding Model”, UTR#17, November 2008, https://www.unicode.org/reports/tr17
[UTR23] Unicode Consortium “Unicode Character Property Model”, UTR#23, May 2015, https://www.unicode.org/reports/tr23
[UTR33] Unicode Consortium “Unicode Conformance Model”, UTR#33, November 2008, https://www.unicode.org/reports/tr33
[UNISECFAQ] Unicode Consortium “Unicode Security FAQ”, November 2016,https://www.unicode.org/faq/security.html
13.[12.] Author's Address
Primary author:
Michael SweetApple Inc.One Apple Park WayCupertino, CA [email protected] Robotics Corporation
Page 51 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
145
146
10861087
10881089109010911092
10931094109510961097
10981099
11001101
11021103
11041105
1106
1107
11081109111011111112
1113
147
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
14.[13.] Change History
This section will be removed when this document is published.
14.1[13.1] February 20, 2020
Abstract: Removed PIN and Release Printing
Removed "jpeg-xxx", "pdf-xxx", "print-scaling", "printer-dns-sd-name", and "printer-kind" attributes (these will now live in the updated PWG 5100.13)
Updated references to point to published documents rather than the current working drafts
Section 2.3: Fixed spelling mistake in definition of Release Printing
Section 3.1: Fixed typo
Sections 4.2 and 4.3: Job Status attributes
Section 4.3: Capitalize defined terms
Section 6.2.2: Remove mention of OpenXPS
Moved "printer-mandatory-job-attributes" from PWG 5100.11 to this specification
Moved "jpeg-k-octets-supported", "jpeg-x-dimension-supported", "jpeg-y-dimension-supported", "pdf-k-octets-supported", "pdf-versions-supported", "print-scaling", "print-scaling-default", "print-scaling-supported", "printer-dns-sd-name", "printer-kind", and "profile-uri" to NODRIVER
Moved 'conflicting-attributes', 'job-release-wait', and 'unsupported-attributes-or-values' keywords to EPX
14.2 January 30, 2020
Section 4: Changed title to "IPP Model"
Page 52 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
148
149
1114
1115
1116
1117
11181119
11201121
1122
1123
1124
1125
1126
1127
1128112911301131
11321133
1134
1135
150
Working Draft – IPP Transaction-Based Printing Extensions v1.1 February 18, 2020
Section 6.4: Added printer-requested-job-attributes attribute from the Job Accounting draft.
Section 7.1: Broke up SHOULDs into two separate sentences.
14.3[13.2] January 28, 2020
Status: Stable
Added line numbers
Global: Reviewed all usage of MAY, replaced with "can" or "SHOULD" as appropriate
Global: Paid Imaging Service is a defined term, use it
Global: PIN Printing is a defined term, use it
Section 4.3: Fixed some editorial issues suggested in the December 19, 2019 concall
14.4[13.3] December 16, 2019
Initial revision.
Page 53 of 53 Copyright © 2013-2020 The Printer Working Group. All rights reserved.
151
152
11361137
1138
1139
1140
1141
11421143
1144
1145
11461147
1148
1149
153