Internet Engineering Task Force (IETF)                          M. Sweet
Request for Comments: 8011                                    Apple Inc.
Obsoletes: 2911, 3381, 3382                                  I. McDonald
Category: Standards Track                               High North, Inc.
ISSN: 2070-1721                                             January 2017
        
Internet Engineering Task Force (IETF)                          M. Sweet
Request for Comments: 8011                                    Apple Inc.
Obsoletes: 2911, 3381, 3382                                  I. McDonald
Category: Standards Track                               High North, Inc.
ISSN: 2070-1721                                             January 2017
        

Internet Printing Protocol/1.1: Model and Semantics

Internet打印协议/1.1:模型与语义

Abstract

摘要

The Internet Printing Protocol (IPP) is an application-level protocol for distributed printing using Internet tools and technologies. This document describes a simplified model consisting of abstract objects, attributes, and operations that is independent of encoding and transport. The model consists of several objects, including Printers and Jobs. Jobs optionally support multiple Documents.

Internet打印协议(IPP)是一种应用程序级协议,用于使用Internet工具和技术进行分布式打印。本文档描述了一个简化模型,该模型由抽象对象、属性和独立于编码和传输的操作组成。该模型由多个对象组成,包括打印机和作业。作业可以选择支持多个文档。

IPP semantics allow End Users and Operators to query Printer capabilities; submit Print Jobs; inquire about the status of Print Jobs and Printers; and cancel, hold, and release Print Jobs. IPP semantics also allow Operators to pause and resume Jobs and Printers.

IPP语义允许最终用户和操作员查询打印机功能;提交打印作业;查询打印作业和打印机的状态;以及取消、保留和释放打印作业。IPP语义还允许操作员暂停和恢复作业和打印机。

Security, internationalization, and directory issues are also addressed by the model and semantics. The IPP message encoding and transport are described in "Internet Printing Protocol/1.1: Encoding and Transport" (RFC 8010).

模型和语义还解决了安全性、国际化和目录问题。IPP消息编码和传输在“Internet打印协议/1.1:编码和传输”(RFC 8010)中进行了描述。

This document obsoletes RFCs 2911, 3381, and 3382.

本文件淘汰了RFC 2911、3381和3382。

Status of This Memo

关于下段备忘

This is an Internet Standards Track document.

这是一份互联网标准跟踪文件。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.

本文件是互联网工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经接受了公众审查,并已被互联网工程指导小组(IESG)批准出版。有关互联网标准的更多信息,请参见RFC 7841第2节。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc8011.

有关本文件当前状态、任何勘误表以及如何提供反馈的信息,请访问http://www.rfc-editor.org/info/rfc8011.

Copyright Notice

版权公告

Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved.

版权所有(c)2017 IETF信托基金和确定为文件作者的人员。版权所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/license-info)自本文件出版之日起生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。从本文件中提取的代码组件必须包括信托法律条款第4.e节中所述的简化BSD许可证文本,并提供简化BSD许可证中所述的无担保。

Table of Contents

目录

   1. Introduction ....................................................9
      1.1. Simplified Printing Model .................................12
   2. Conventions Used in This Document ..............................15
      2.1. Requirements Language .....................................15
      2.2. Printing Terminology ......................................15
      2.3. Model Terminology .........................................16
           2.3.1. Administrator ......................................16
           2.3.2. Attributes .........................................16
                  2.3.2.1. Attribute Group Name ......................16
                  2.3.2.2. Attribute Name ............................16
                  2.3.2.3. Attribute Syntax ..........................16
                  2.3.2.4. Attribute Value ...........................17
           2.3.3. End User ...........................................17
           2.3.4. Impression .........................................17
           2.3.5. Input Page .........................................17
           2.3.6. Job Creation Operation .............................17
           2.3.7. Keyword ............................................17
           2.3.8. Media Sheet ........................................18
           2.3.9. Operator ...........................................18
           2.3.10. Set ...............................................18
           2.3.11. Support of Attributes .............................18
           2.3.12. Terminating State .................................21
      2.4. Abbreviations .............................................21
   3. IPP Objects ....................................................22
      3.1. Printer Object ............................................22
      3.2. Job Object ................................................25
      3.3. Object Relationships ......................................25
      3.4. Object Identity ...........................................26
   4. IPP Operations .................................................29
      4.1. Common Semantics ..........................................30
           4.1.1. Required Parameters ................................30
           4.1.2. Operation IDs and Request IDs ......................31
           4.1.3. Attributes .........................................31
           4.1.4. Character Set and Natural Language
                  Operation Attributes ...............................33
                  4.1.4.1. Request Operation Attributes ..............34
                  4.1.4.2. Response Operation Attributes .............38
           4.1.5. Operation Targets ..................................39
           4.1.6. Operation Response Status-Code Values and
                  Status Messages ....................................41
                  4.1.6.1. "status-code" (type2 enum) ................41
                  4.1.6.2. "status-message" (text(255)) ..............42
                  4.1.6.3. "detailed-status-message" (text(MAX)) .....43
                  4.1.6.4. "document-access-error" (text(MAX)) .......43
        
   1. Introduction ....................................................9
      1.1. Simplified Printing Model .................................12
   2. Conventions Used in This Document ..............................15
      2.1. Requirements Language .....................................15
      2.2. Printing Terminology ......................................15
      2.3. Model Terminology .........................................16
           2.3.1. Administrator ......................................16
           2.3.2. Attributes .........................................16
                  2.3.2.1. Attribute Group Name ......................16
                  2.3.2.2. Attribute Name ............................16
                  2.3.2.3. Attribute Syntax ..........................16
                  2.3.2.4. Attribute Value ...........................17
           2.3.3. End User ...........................................17
           2.3.4. Impression .........................................17
           2.3.5. Input Page .........................................17
           2.3.6. Job Creation Operation .............................17
           2.3.7. Keyword ............................................17
           2.3.8. Media Sheet ........................................18
           2.3.9. Operator ...........................................18
           2.3.10. Set ...............................................18
           2.3.11. Support of Attributes .............................18
           2.3.12. Terminating State .................................21
      2.4. Abbreviations .............................................21
   3. IPP Objects ....................................................22
      3.1. Printer Object ............................................22
      3.2. Job Object ................................................25
      3.3. Object Relationships ......................................25
      3.4. Object Identity ...........................................26
   4. IPP Operations .................................................29
      4.1. Common Semantics ..........................................30
           4.1.1. Required Parameters ................................30
           4.1.2. Operation IDs and Request IDs ......................31
           4.1.3. Attributes .........................................31
           4.1.4. Character Set and Natural Language
                  Operation Attributes ...............................33
                  4.1.4.1. Request Operation Attributes ..............34
                  4.1.4.2. Response Operation Attributes .............38
           4.1.5. Operation Targets ..................................39
           4.1.6. Operation Response Status-Code Values and
                  Status Messages ....................................41
                  4.1.6.1. "status-code" (type2 enum) ................41
                  4.1.6.2. "status-message" (text(255)) ..............42
                  4.1.6.3. "detailed-status-message" (text(MAX)) .....43
                  4.1.6.4. "document-access-error" (text(MAX)) .......43
        
           4.1.7. Unsupported Attributes .............................44
           4.1.8. Versions ...........................................45
           4.1.9. Job Creation Operations ............................48
      4.2. Printer Operations ........................................50
           4.2.1. Print-Job Operation ................................51
                  4.2.1.1. Print-Job Request .........................51
                  4.2.1.2. Print-Job Response ........................56
           4.2.2. Print-URI Operation ................................58
           4.2.3. Validate-Job Operation .............................59
           4.2.4. Create-Job Operation ...............................59
           4.2.5. Get-Printer-Attributes Operation ...................60
                  4.2.5.1. Get-Printer-Attributes Request ............61
                  4.2.5.2. Get-Printer-Attributes Response ...........63
           4.2.6. Get-Jobs Operation .................................64
                  4.2.6.1. Get-Jobs Request ..........................65
                  4.2.6.2. Get-Jobs Response .........................66
           4.2.7. Pause-Printer Operation ............................68
                  4.2.7.1. Pause-Printer Request .....................71
                  4.2.7.2. Pause-Printer Response ....................71
           4.2.8. Resume-Printer Operation ...........................72
           4.2.9. Purge-Jobs Operation ...............................73
      4.3. Job Operations ............................................73
           4.3.1. Send-Document Operation ............................74
                  4.3.1.1. Send-Document Request .....................75
                  4.3.1.2. Send-Document Response ....................77
           4.3.2. Send-URI Operation .................................78
           4.3.3. Cancel-Job Operation ...............................78
                  4.3.3.1. Cancel-Job Request ........................80
                  4.3.3.2. Cancel-Job Response .......................81
           4.3.4. Get-Job-Attributes Operation .......................81
                  4.3.4.1. Get-Job-Attributes Request ................82
                  4.3.4.2. Get-Job-Attributes Response ...............83
           4.3.5. Hold-Job Operation .................................84
                  4.3.5.1. Hold-Job Request ..........................86
                  4.3.5.2. Hold-Job Response .........................87
           4.3.6. Release-Job Operation ..............................87
           4.3.7. Restart-Job Operation ..............................89
                  4.3.7.1. Restart-Job Request .......................91
                  4.3.7.2. Restart-Job Response ......................92
   5. Object Attributes ..............................................92
      5.1. Attribute Syntaxes ........................................92
           5.1.1. Out-of-Band Values - 'unknown',
                  'unsupported', and 'no-value' ......................93
           5.1.2. 'text' .............................................93
                  5.1.2.1. 'textWithoutLanguage' .....................94
                  5.1.2.2. 'textWithLanguage' ........................94
        
           4.1.7. Unsupported Attributes .............................44
           4.1.8. Versions ...........................................45
           4.1.9. Job Creation Operations ............................48
      4.2. Printer Operations ........................................50
           4.2.1. Print-Job Operation ................................51
                  4.2.1.1. Print-Job Request .........................51
                  4.2.1.2. Print-Job Response ........................56
           4.2.2. Print-URI Operation ................................58
           4.2.3. Validate-Job Operation .............................59
           4.2.4. Create-Job Operation ...............................59
           4.2.5. Get-Printer-Attributes Operation ...................60
                  4.2.5.1. Get-Printer-Attributes Request ............61
                  4.2.5.2. Get-Printer-Attributes Response ...........63
           4.2.6. Get-Jobs Operation .................................64
                  4.2.6.1. Get-Jobs Request ..........................65
                  4.2.6.2. Get-Jobs Response .........................66
           4.2.7. Pause-Printer Operation ............................68
                  4.2.7.1. Pause-Printer Request .....................71
                  4.2.7.2. Pause-Printer Response ....................71
           4.2.8. Resume-Printer Operation ...........................72
           4.2.9. Purge-Jobs Operation ...............................73
      4.3. Job Operations ............................................73
           4.3.1. Send-Document Operation ............................74
                  4.3.1.1. Send-Document Request .....................75
                  4.3.1.2. Send-Document Response ....................77
           4.3.2. Send-URI Operation .................................78
           4.3.3. Cancel-Job Operation ...............................78
                  4.3.3.1. Cancel-Job Request ........................80
                  4.3.3.2. Cancel-Job Response .......................81
           4.3.4. Get-Job-Attributes Operation .......................81
                  4.3.4.1. Get-Job-Attributes Request ................82
                  4.3.4.2. Get-Job-Attributes Response ...............83
           4.3.5. Hold-Job Operation .................................84
                  4.3.5.1. Hold-Job Request ..........................86
                  4.3.5.2. Hold-Job Response .........................87
           4.3.6. Release-Job Operation ..............................87
           4.3.7. Restart-Job Operation ..............................89
                  4.3.7.1. Restart-Job Request .......................91
                  4.3.7.2. Restart-Job Response ......................92
   5. Object Attributes ..............................................92
      5.1. Attribute Syntaxes ........................................92
           5.1.1. Out-of-Band Values - 'unknown',
                  'unsupported', and 'no-value' ......................93
           5.1.2. 'text' .............................................93
                  5.1.2.1. 'textWithoutLanguage' .....................94
                  5.1.2.2. 'textWithLanguage' ........................94
        
           5.1.3. 'name' .............................................95
                  5.1.3.1. 'nameWithoutLanguage' .....................96
                  5.1.3.2. 'nameWithLanguage' ........................96
                  5.1.3.3. Matching 'name' Attribute Values ..........97
           5.1.4. 'keyword' ..........................................98
           5.1.5. 'enum' .............................................99
           5.1.6. 'uri' .............................................100
           5.1.7. 'uriScheme' .......................................100
           5.1.8. 'charset' .........................................101
           5.1.9. 'naturalLanguage' .................................102
           5.1.10. 'mimeMediaType' ..................................102
                  5.1.10.1. 'application/octet-stream' -
                            Auto-Sensing the Document Format ........103
           5.1.11. 'octetString' ....................................104
           5.1.12. 'boolean' ........................................104
           5.1.13. 'integer' ........................................104
           5.1.14. 'rangeOfInteger' .................................105
           5.1.15. 'dateTime' .......................................105
           5.1.16. 'resolution' .....................................105
           5.1.17. 'collection' .....................................105
           5.1.18. '1setOf X' .......................................106
      5.2. Job Template Attributes ..................................106
           5.2.1. job-priority (integer(1:100)) .....................109
           5.2.2. job-hold-until (type2 keyword | name(MAX)) ........111
           5.2.3. job-sheets (type2 keyword | name(MAX)) ............112
           5.2.4. multiple-document-handling (type2 keyword) ........113
           5.2.5. copies (integer(1:MAX)) ...........................115
           5.2.6. finishings (1setOf type2 enum) ....................115
           5.2.7. page-ranges (1setOf rangeOfInteger(1:MAX)) ........118
           5.2.8. sides (type2 keyword) .............................119
           5.2.9. number-up (integer(1:MAX)) ........................120
           5.2.10. orientation-requested (type2 enum) ...............120
           5.2.11. media (type2 keyword | name(MAX)) ................123
           5.2.12. printer-resolution (resolution) ..................124
           5.2.13. print-quality (type2 enum) .......................124
      5.3. Job Description and Status Attributes ....................124
           5.3.1. job-id (integer(1:MAX)) ...........................126
           5.3.2. job-uri (uri) .....................................126
           5.3.3. job-printer-uri (uri) .............................127
           5.3.4. job-more-info (uri) ...............................127
           5.3.5. job-name (name(MAX)) ..............................127
           5.3.6. job-originating-user-name (name(MAX)) .............128
           5.3.7. job-state (type1 enum) ............................128
                  5.3.7.1. Forwarding Servers .......................132
                  5.3.7.2. Partitioning of Job States ...............132
           5.3.8. job-state-reasons (1setOf type2 keyword) ..........133
           5.3.9. job-state-message (text(MAX)) .....................138
           5.3.10. job-detailed-status-messages (1setOf text(MAX)) ..139
        
           5.1.3. 'name' .............................................95
                  5.1.3.1. 'nameWithoutLanguage' .....................96
                  5.1.3.2. 'nameWithLanguage' ........................96
                  5.1.3.3. Matching 'name' Attribute Values ..........97
           5.1.4. 'keyword' ..........................................98
           5.1.5. 'enum' .............................................99
           5.1.6. 'uri' .............................................100
           5.1.7. 'uriScheme' .......................................100
           5.1.8. 'charset' .........................................101
           5.1.9. 'naturalLanguage' .................................102
           5.1.10. 'mimeMediaType' ..................................102
                  5.1.10.1. 'application/octet-stream' -
                            Auto-Sensing the Document Format ........103
           5.1.11. 'octetString' ....................................104
           5.1.12. 'boolean' ........................................104
           5.1.13. 'integer' ........................................104
           5.1.14. 'rangeOfInteger' .................................105
           5.1.15. 'dateTime' .......................................105
           5.1.16. 'resolution' .....................................105
           5.1.17. 'collection' .....................................105
           5.1.18. '1setOf X' .......................................106
      5.2. Job Template Attributes ..................................106
           5.2.1. job-priority (integer(1:100)) .....................109
           5.2.2. job-hold-until (type2 keyword | name(MAX)) ........111
           5.2.3. job-sheets (type2 keyword | name(MAX)) ............112
           5.2.4. multiple-document-handling (type2 keyword) ........113
           5.2.5. copies (integer(1:MAX)) ...........................115
           5.2.6. finishings (1setOf type2 enum) ....................115
           5.2.7. page-ranges (1setOf rangeOfInteger(1:MAX)) ........118
           5.2.8. sides (type2 keyword) .............................119
           5.2.9. number-up (integer(1:MAX)) ........................120
           5.2.10. orientation-requested (type2 enum) ...............120
           5.2.11. media (type2 keyword | name(MAX)) ................123
           5.2.12. printer-resolution (resolution) ..................124
           5.2.13. print-quality (type2 enum) .......................124
      5.3. Job Description and Status Attributes ....................124
           5.3.1. job-id (integer(1:MAX)) ...........................126
           5.3.2. job-uri (uri) .....................................126
           5.3.3. job-printer-uri (uri) .............................127
           5.3.4. job-more-info (uri) ...............................127
           5.3.5. job-name (name(MAX)) ..............................127
           5.3.6. job-originating-user-name (name(MAX)) .............128
           5.3.7. job-state (type1 enum) ............................128
                  5.3.7.1. Forwarding Servers .......................132
                  5.3.7.2. Partitioning of Job States ...............132
           5.3.8. job-state-reasons (1setOf type2 keyword) ..........133
           5.3.9. job-state-message (text(MAX)) .....................138
           5.3.10. job-detailed-status-messages (1setOf text(MAX)) ..139
        
           5.3.11. job-document-access-errors (1setOf text(MAX)) ....139
           5.3.12. number-of-documents (integer(0:MAX)) .............139
           5.3.13. output-device-assigned (name(127)) ...............139
           5.3.14. Event Time Job Status Attributes .................140
                  5.3.14.1. time-at-creation (integer(MIN:MAX)) .....140
                  5.3.14.2. time-at-processing (integer(MIN:MAX)) ...141
                  5.3.14.3. time-at-completed (integer(MIN:MAX)) ....141
                  5.3.14.4. job-printer-up-time (integer(1:MAX)) ....141
                  5.3.14.5. date-time-at-creation
                            (dateTime|unknown) ......................141
                  5.3.14.6. date-time-at-processing
                            (dateTime|unknown|no-value) .............141
                  5.3.14.7. date-time-at-completed
                            (dateTime|unknown|no-value) .............141
           5.3.15. number-of-intervening-jobs (integer(0:MAX)) ......142
           5.3.16. job-message-from-operator (text(127)) ............142
           5.3.17. Job Size Attributes ..............................142
                  5.3.17.1. job-k-octets (integer(0:MAX)) ...........142
                  5.3.17.2. job-impressions (integer(0:MAX)) ........143
                  5.3.17.3. job-media-sheets (integer(1:MAX)) .......143
           5.3.18. Job Progress Attributes ..........................144
                  5.3.18.1. job-k-octets-processed
                            (integer(0:MAX)) ........................144
                  5.3.18.2. job-impressions-completed
                            (integer(0:MAX)) ........................144
                  5.3.18.3. job-media-sheets-completed
                            (integer(0:MAX)) ........................144
           5.3.19. attributes-charset (charset) .....................144
           5.3.20. attributes-natural-language (naturalLanguage) ....145
      5.4. Printer Description and Status Attributes ................145
           5.4.1. printer-uri-supported (1setOf uri) ................147
           5.4.2. uri-authentication-supported (1setOf type2
                  keyword) ..........................................148
           5.4.3. uri-security-supported (1setOf type2 keyword) .....149
           5.4.4. printer-name (name(127)) ..........................150
           5.4.5. printer-location (text(127)) ......................150
           5.4.6. printer-info (text(127)) ..........................151
           5.4.7. printer-more-info (uri) ...........................151
           5.4.8. printer-driver-installer (uri) ....................151
           5.4.9. printer-make-and-model (text(127)) ................151
           5.4.10. printer-more-info-manufacturer (uri) .............151
           5.4.11. printer-state (type1 enum) .......................152
           5.4.12. printer-state-reasons (1setOf type2 keyword) .....152
           5.4.13. printer-state-message (text(MAX)) ................157
           5.4.14. ipp-versions-supported (1setOf type2 keyword) ....157
           5.4.15. operations-supported (1setOf type2 enum) .........157
        
           5.3.11. job-document-access-errors (1setOf text(MAX)) ....139
           5.3.12. number-of-documents (integer(0:MAX)) .............139
           5.3.13. output-device-assigned (name(127)) ...............139
           5.3.14. Event Time Job Status Attributes .................140
                  5.3.14.1. time-at-creation (integer(MIN:MAX)) .....140
                  5.3.14.2. time-at-processing (integer(MIN:MAX)) ...141
                  5.3.14.3. time-at-completed (integer(MIN:MAX)) ....141
                  5.3.14.4. job-printer-up-time (integer(1:MAX)) ....141
                  5.3.14.5. date-time-at-creation
                            (dateTime|unknown) ......................141
                  5.3.14.6. date-time-at-processing
                            (dateTime|unknown|no-value) .............141
                  5.3.14.7. date-time-at-completed
                            (dateTime|unknown|no-value) .............141
           5.3.15. number-of-intervening-jobs (integer(0:MAX)) ......142
           5.3.16. job-message-from-operator (text(127)) ............142
           5.3.17. Job Size Attributes ..............................142
                  5.3.17.1. job-k-octets (integer(0:MAX)) ...........142
                  5.3.17.2. job-impressions (integer(0:MAX)) ........143
                  5.3.17.3. job-media-sheets (integer(1:MAX)) .......143
           5.3.18. Job Progress Attributes ..........................144
                  5.3.18.1. job-k-octets-processed
                            (integer(0:MAX)) ........................144
                  5.3.18.2. job-impressions-completed
                            (integer(0:MAX)) ........................144
                  5.3.18.3. job-media-sheets-completed
                            (integer(0:MAX)) ........................144
           5.3.19. attributes-charset (charset) .....................144
           5.3.20. attributes-natural-language (naturalLanguage) ....145
      5.4. Printer Description and Status Attributes ................145
           5.4.1. printer-uri-supported (1setOf uri) ................147
           5.4.2. uri-authentication-supported (1setOf type2
                  keyword) ..........................................148
           5.4.3. uri-security-supported (1setOf type2 keyword) .....149
           5.4.4. printer-name (name(127)) ..........................150
           5.4.5. printer-location (text(127)) ......................150
           5.4.6. printer-info (text(127)) ..........................151
           5.4.7. printer-more-info (uri) ...........................151
           5.4.8. printer-driver-installer (uri) ....................151
           5.4.9. printer-make-and-model (text(127)) ................151
           5.4.10. printer-more-info-manufacturer (uri) .............151
           5.4.11. printer-state (type1 enum) .......................152
           5.4.12. printer-state-reasons (1setOf type2 keyword) .....152
           5.4.13. printer-state-message (text(MAX)) ................157
           5.4.14. ipp-versions-supported (1setOf type2 keyword) ....157
           5.4.15. operations-supported (1setOf type2 enum) .........157
        
           5.4.16. multiple-document-jobs-supported (boolean) .......159
           5.4.17. charset-configured (charset) .....................159
           5.4.18. charset-supported (1setOf charset) ...............159
           5.4.19. natural-language-configured (naturalLanguage) ....160
           5.4.20. generated-natural-language-supported
                   (1setOf naturalLanguage) .........................160
           5.4.21. document-format-default (mimeMediaType) ..........160
           5.4.22. document-format-supported (1setOf
                   mimeMediaType) ...................................161
           5.4.23. printer-is-accepting-jobs (boolean) ..............161
           5.4.24. queued-job-count (integer(0:MAX)) ................161
           5.4.25. printer-message-from-operator (text(127)) ........161
           5.4.26. color-supported (boolean) ........................161
           5.4.27. reference-uri-schemes-supported (1setOf
                   uriScheme) .......................................162
           5.4.28. pdl-override-supported (type2 keyword) ...........162
           5.4.29. printer-up-time (integer(1:MAX)) .................162
           5.4.30. printer-current-time (dateTime|unknown) ..........163
           5.4.31. multiple-operation-time-out (integer(1:MAX)) .....164
           5.4.32. compression-supported (1setOf type2 keyword) .....164
           5.4.33. job-k-octets-supported (rangeOfInteger(0:MAX)) ...165
           5.4.34. job-impressions-supported
                   (rangeOfInteger(0:MAX)) ..........................165
           5.4.35. job-media-sheets-supported
                   (rangeOfInteger(1:MAX)) ..........................165
           5.4.36. pages-per-minute (integer(0:MAX)) ................165
           5.4.37. pages-per-minute-color (integer(0:MAX)) ..........165
   6. Conformance ...................................................166
      6.1. Client Conformance Requirements ..........................166
      6.2. IPP Object Conformance Requirements ......................168
           6.2.1. Objects ...........................................168
           6.2.2. Operations ........................................168
           6.2.3. IPP Object Attributes .............................170
           6.2.4. Versions ..........................................170
           6.2.5. Extensions ........................................171
           6.2.6. Attribute Syntaxes ................................171
           6.2.7. Security ..........................................172
      6.3. Charset and Natural Language Requirements ................172
   7. IANA Considerations ...........................................173
      7.1. Object Extensions ........................................174
      7.2. Attribute Extensibility ..................................174
      7.3. Keyword Extensibility ....................................175
      7.4. Enum Extensibility .......................................176
      7.5. Attribute Group Extensibility ............................176
      7.6. Out-of-Band Attribute Value Extensibility ................176
      7.7. Attribute Syntax Extensibility ...........................177
      7.8. Operation Extensibility ..................................177
      7.9. Status-Code Extensibility ................................178
        
           5.4.16. multiple-document-jobs-supported (boolean) .......159
           5.4.17. charset-configured (charset) .....................159
           5.4.18. charset-supported (1setOf charset) ...............159
           5.4.19. natural-language-configured (naturalLanguage) ....160
           5.4.20. generated-natural-language-supported
                   (1setOf naturalLanguage) .........................160
           5.4.21. document-format-default (mimeMediaType) ..........160
           5.4.22. document-format-supported (1setOf
                   mimeMediaType) ...................................161
           5.4.23. printer-is-accepting-jobs (boolean) ..............161
           5.4.24. queued-job-count (integer(0:MAX)) ................161
           5.4.25. printer-message-from-operator (text(127)) ........161
           5.4.26. color-supported (boolean) ........................161
           5.4.27. reference-uri-schemes-supported (1setOf
                   uriScheme) .......................................162
           5.4.28. pdl-override-supported (type2 keyword) ...........162
           5.4.29. printer-up-time (integer(1:MAX)) .................162
           5.4.30. printer-current-time (dateTime|unknown) ..........163
           5.4.31. multiple-operation-time-out (integer(1:MAX)) .....164
           5.4.32. compression-supported (1setOf type2 keyword) .....164
           5.4.33. job-k-octets-supported (rangeOfInteger(0:MAX)) ...165
           5.4.34. job-impressions-supported
                   (rangeOfInteger(0:MAX)) ..........................165
           5.4.35. job-media-sheets-supported
                   (rangeOfInteger(1:MAX)) ..........................165
           5.4.36. pages-per-minute (integer(0:MAX)) ................165
           5.4.37. pages-per-minute-color (integer(0:MAX)) ..........165
   6. Conformance ...................................................166
      6.1. Client Conformance Requirements ..........................166
      6.2. IPP Object Conformance Requirements ......................168
           6.2.1. Objects ...........................................168
           6.2.2. Operations ........................................168
           6.2.3. IPP Object Attributes .............................170
           6.2.4. Versions ..........................................170
           6.2.5. Extensions ........................................171
           6.2.6. Attribute Syntaxes ................................171
           6.2.7. Security ..........................................172
      6.3. Charset and Natural Language Requirements ................172
   7. IANA Considerations ...........................................173
      7.1. Object Extensions ........................................174
      7.2. Attribute Extensibility ..................................174
      7.3. Keyword Extensibility ....................................175
      7.4. Enum Extensibility .......................................176
      7.5. Attribute Group Extensibility ............................176
      7.6. Out-of-Band Attribute Value Extensibility ................176
      7.7. Attribute Syntax Extensibility ...........................177
      7.8. Operation Extensibility ..................................177
      7.9. Status-Code Extensibility ................................178
        
   8. Internationalization Considerations ...........................179
   9. Security Considerations .......................................183
      9.1. Security Scenarios .......................................184
           9.1.1. Client and Server in the Same Security Domain .....184
           9.1.2. Client and Server in Different Security Domains ...184
           9.1.3. Print by Reference ................................184
      9.2. URIs in Operation, Job, and Printer Attributes ...........185
      9.3. URIs for Each Authentication Mechanism ...................185
      9.4. Restricted Queries .......................................186
      9.5. Operations Performed by Operators and Administrators .....186
      9.6. Queries on Jobs Submitted Using Non-IPP Protocols ........186
   10. Changes since RFC 2911 .......................................187
   11. References ...................................................188
      11.1. Normative References ....................................188
      11.2. Informative References ..................................194
   Appendix A. Formats for IPP Registration Proposals ...............197
     A.1. Attribute Registration ....................................197
     A.2. type2 'keyword' Attribute Value Registration ..............198
     A.3. type2 'enum' Attribute Value Registration .................198
     A.4. Operation Registration ....................................199
     A.5. Status-Code Registration ..................................199
   Appendix B. Status-Code Values and Suggested Status-Code
               Messages .............................................200
     B.1. Status-Code Values ........................................201
       B.1.1. Informational .........................................201
       B.1.2. Successful Status-Code Values .........................201
         B.1.2.1. successful-ok (0x0000) ............................201
         B.1.2.2. successful-ok-ignored-or-substituted-attributes
                  (0x0001) ..........................................202
         B.1.2.3. successful-ok-conflicting-attributes (0x0002) .....202
       B.1.3. Redirection Status-Code Values ........................202
       B.1.4. Client Error Status-Code Values .......................202
         B.1.4.1. client-error-bad-request (0x0400) .................203
         B.1.4.2. client-error-forbidden (0x0401) ...................203
         B.1.4.3. client-error-not-authenticated (0x0402) ...........203
         B.1.4.4. client-error-not-authorized (0x0403) ..............203
         B.1.4.5. client-error-not-possible (0x0404) ................203
         B.1.4.6. client-error-timeout (0x0405) .....................204
         B.1.4.7. client-error-not-found (0x0406) ...................204
         B.1.4.8. client-error-gone (0x0407) ........................204
         B.1.4.9. client-error-request-entity-too-large (0x0408) ....205
         B.1.4.10. client-error-request-value-too-long (0x0409) .....205
         B.1.4.11. client-error-document-format-not-supported
                   (0x040a) .........................................205
         B.1.4.12. client-error-attributes-or-values-not-supported
                   (0x040b) .........................................206
         B.1.4.13. client-error-uri-scheme-not-supported (0x040c) ...206
         B.1.4.14. client-error-charset-not-supported (0x040d) ......206
        
   8. Internationalization Considerations ...........................179
   9. Security Considerations .......................................183
      9.1. Security Scenarios .......................................184
           9.1.1. Client and Server in the Same Security Domain .....184
           9.1.2. Client and Server in Different Security Domains ...184
           9.1.3. Print by Reference ................................184
      9.2. URIs in Operation, Job, and Printer Attributes ...........185
      9.3. URIs for Each Authentication Mechanism ...................185
      9.4. Restricted Queries .......................................186
      9.5. Operations Performed by Operators and Administrators .....186
      9.6. Queries on Jobs Submitted Using Non-IPP Protocols ........186
   10. Changes since RFC 2911 .......................................187
   11. References ...................................................188
      11.1. Normative References ....................................188
      11.2. Informative References ..................................194
   Appendix A. Formats for IPP Registration Proposals ...............197
     A.1. Attribute Registration ....................................197
     A.2. type2 'keyword' Attribute Value Registration ..............198
     A.3. type2 'enum' Attribute Value Registration .................198
     A.4. Operation Registration ....................................199
     A.5. Status-Code Registration ..................................199
   Appendix B. Status-Code Values and Suggested Status-Code
               Messages .............................................200
     B.1. Status-Code Values ........................................201
       B.1.1. Informational .........................................201
       B.1.2. Successful Status-Code Values .........................201
         B.1.2.1. successful-ok (0x0000) ............................201
         B.1.2.2. successful-ok-ignored-or-substituted-attributes
                  (0x0001) ..........................................202
         B.1.2.3. successful-ok-conflicting-attributes (0x0002) .....202
       B.1.3. Redirection Status-Code Values ........................202
       B.1.4. Client Error Status-Code Values .......................202
         B.1.4.1. client-error-bad-request (0x0400) .................203
         B.1.4.2. client-error-forbidden (0x0401) ...................203
         B.1.4.3. client-error-not-authenticated (0x0402) ...........203
         B.1.4.4. client-error-not-authorized (0x0403) ..............203
         B.1.4.5. client-error-not-possible (0x0404) ................203
         B.1.4.6. client-error-timeout (0x0405) .....................204
         B.1.4.7. client-error-not-found (0x0406) ...................204
         B.1.4.8. client-error-gone (0x0407) ........................204
         B.1.4.9. client-error-request-entity-too-large (0x0408) ....205
         B.1.4.10. client-error-request-value-too-long (0x0409) .....205
         B.1.4.11. client-error-document-format-not-supported
                   (0x040a) .........................................205
         B.1.4.12. client-error-attributes-or-values-not-supported
                   (0x040b) .........................................206
         B.1.4.13. client-error-uri-scheme-not-supported (0x040c) ...206
         B.1.4.14. client-error-charset-not-supported (0x040d) ......206
        
         B.1.4.15. client-error-conflicting-attributes (0x040e) .....207
         B.1.4.16. client-error-compression-not-supported (0x040f) ..207
         B.1.4.17. client-error-compression-error (0x0410) ..........207
         B.1.4.18. client-error-document-format-error (0x0411) ......207
         B.1.4.19. client-error-document-access-error (0x0412) ......207
       B.1.5. Server Error Status-Code Values .......................208
         B.1.5.1. server-error-internal-error (0x0500) ..............208
         B.1.5.2. server-error-operation-not-supported (0x0501) .....208
         B.1.5.3. server-error-service-unavailable (0x0502) .........208
         B.1.5.4. server-error-version-not-supported (0x0503) .......209
         B.1.5.5. server-error-device-error (0x0504) ................209
         B.1.5.6. server-error-temporary-error (0x0505) .............210
         B.1.5.7. server-error-not-accepting-jobs (0x0506) ..........210
         B.1.5.8. server-error-busy (0x0507) ........................210
         B.1.5.9. server-error-job-canceled (0x0508) ................210
         B.1.5.10. server-error-multiple-document-jobs-not-supported
                   (0x0509) .........................................210
     B.2. Status-Code Values for IPP Operations .....................211
   Appendix C. Processing IPP Attributes ............................213
     C.1. Fidelity ..................................................213
     C.2. Page Description Language (PDL) Override ..................215
     C.3. Using Job Template Attributes during Document Processing ..217
   Appendix D. Generic Directory Schema .............................218
   Acknowledgements .................................................221
   Authors' Addresses ...............................................221
        
         B.1.4.15. client-error-conflicting-attributes (0x040e) .....207
         B.1.4.16. client-error-compression-not-supported (0x040f) ..207
         B.1.4.17. client-error-compression-error (0x0410) ..........207
         B.1.4.18. client-error-document-format-error (0x0411) ......207
         B.1.4.19. client-error-document-access-error (0x0412) ......207
       B.1.5. Server Error Status-Code Values .......................208
         B.1.5.1. server-error-internal-error (0x0500) ..............208
         B.1.5.2. server-error-operation-not-supported (0x0501) .....208
         B.1.5.3. server-error-service-unavailable (0x0502) .........208
         B.1.5.4. server-error-version-not-supported (0x0503) .......209
         B.1.5.5. server-error-device-error (0x0504) ................209
         B.1.5.6. server-error-temporary-error (0x0505) .............210
         B.1.5.7. server-error-not-accepting-jobs (0x0506) ..........210
         B.1.5.8. server-error-busy (0x0507) ........................210
         B.1.5.9. server-error-job-canceled (0x0508) ................210
         B.1.5.10. server-error-multiple-document-jobs-not-supported
                   (0x0509) .........................................210
     B.2. Status-Code Values for IPP Operations .....................211
   Appendix C. Processing IPP Attributes ............................213
     C.1. Fidelity ..................................................213
     C.2. Page Description Language (PDL) Override ..................215
     C.3. Using Job Template Attributes during Document Processing ..217
   Appendix D. Generic Directory Schema .............................218
   Acknowledgements .................................................221
   Authors' Addresses ...............................................221
        
1. Introduction
1. 介绍

The Internet Printing Protocol (IPP) is an application-level protocol for distributed printing using Internet tools and technologies. IPP version 1.1 (IPP/1.1) focuses primarily on End User functionality with a few administrative operations included. IPP versions 2.0, 2.1, and 2.2 provide many new operations and are defined separately.

Internet打印协议(IPP)是一种应用程序级协议,用于使用Internet工具和技术进行分布式打印。IPP版本1.1(IPP/1.1)主要关注终端用户功能,包括一些管理操作。IPP版本2.0、2.1和2.2提供了许多新操作,并单独定义。

This document is just one of a suite of documents that fully define IPP. The full set of IETF IPP documents includes:

本文档只是完整定义IPP的一套文档之一。全套IETF IPP文件包括:

Design Goals for an Internet Printing Protocol [RFC2567]

互联网打印协议的设计目标[RFC2567]

Rationale for the Structure of the Model and Protocol for the Internet Printing Protocol [RFC2568]

互联网打印协议模型和协议结构的基本原理[RFC2568]

Internet Printing Protocol/1.1: Model and Semantics (this document)

Internet打印协议/1.1:模型和语义(本文档)

Internet Printing Protocol/1.1: Encoding and Transport [RFC8010]

Internet打印协议/1.1:编码和传输[RFC8010]

Internet Printing Protocol/1.1: Implementor's Guide [RFC3196]

互联网打印协议/1.1:实施者指南[RFC3196]

Internet Printing Protocol/1.1: IPP URL Scheme [RFC3510]

互联网打印协议/1.1:IPP URL方案[RFC3510]

Internet Printing Protocol (IPP) over HTTPS Transport Binding and the 'ipps' URI Scheme [RFC7472]

HTTPS传输绑定上的Internet打印协议(IPP)和“ipps”URI方案[RFC7472]

Internet Printing Protocol (IPP): Requirements for Job, Printer, and Device Administrative Operations [RFC3239]

Internet打印协议(IPP):作业、打印机和设备管理操作的要求[RFC3239]

Internet Printing Protocol (IPP): Job and Printer Set Operations [RFC3380]

Internet打印协议(IPP):作业和打印机设置操作[RFC3380]

Internet Printing Protocol (IPP): Job and Printer Administrative Operations [RFC3998]

Internet打印协议(IPP):作业和打印机管理操作[RFC3998]

Internet Printing Protocol (IPP): Requirements for IPP Notifications [RFC3997]

互联网打印协议(IPP):IPP通知要求[RFC3997]

Internet Printing Protocol (IPP): Event Notifications and Subscriptions [RFC3995]

互联网打印协议(IPP):事件通知和订阅[RFC3995]

Internet Printing Protocol (IPP): The 'ippget' Delivery Method for Event Notifications [RFC3996]

Internet打印协议(IPP):事件通知的“ippget”传递方法[RFC3996]

Mapping between LPD and IPP Protocols [RFC2569]

LPD和IPP协议之间的映射[RFC2569]

Anyone reading these documents for the first time is strongly encouraged to read the IPP documents in the above order. Additional IPP specifications have been published by the IEEE-ISTO Printer Working Group's IPP Workgroup [PWG-IPP-WG]. The following standards are highly recommended reading:

强烈建议首次阅读这些文件的任何人按照上述顺序阅读IPP文件。IEEE-ISTO打印机工作组的IPP工作组[PWG-IPP-WG]发布了其他IPP规范。强烈建议阅读以下标准:

PWG Media Standardized Names 2.0 (MSN2) [PWG5101.1]

PWG媒体标准化名称2.0(MSN2)[PWG5101.1]

IPP Finishings 2.0 (FIN) [PWG5100.1]

IPP饰面2.0(FIN)[PWG5100.1]

Internet Printing Protocol (IPP): "output-bin" attribute extension [PWG5100.2]

互联网打印协议(IPP):“输出箱”属性扩展[PWG5100.2]

Internet Printing Protocol (IPP): Production Printing Attributes - Set 1 [PWG5100.3] (for "media-col" Job Template attribute)

互联网打印协议(IPP):生产打印属性-设置1[PWG5100.3](用于“媒体列”作业模板属性)

Standard for The Internet Printing Protocol (IPP): Document Object [PWG5100.5]

互联网打印协议(IPP)标准:文件对象[PWG5100.5]

Standard for The Internet Printing Protocol (IPP): Page Overrides [PWG5100.6]

互联网打印协议(IPP)标准:页面覆盖[PWG5100.6]

Standard for The Internet Printing Protocol (IPP): Job Extensions [PWG5100.7]

互联网打印协议(IPP)标准:作业扩展[PWG5100.7]

Standard for Internet Printing Protocol (IPP): "-actual" attributes [PWG5100.8]

互联网打印协议(IPP)标准:“-实际”属性[PWG5100.8]

Internet Printing Protocol (IPP): Printer State Extensions v1.0 [PWG5100.9]

Internet打印协议(IPP):打印机状态扩展v1.0[PWG5100.9]

Internet Printing Protocol (IPP): Job and Printer Extensions - Set 2 (JPS2) [PWG5100.11]

Internet打印协议(IPP):作业和打印机扩展-集合2(JPS2)[PWG5100.11]

IPP Version 2.0, 2.1, and 2.2 [PWG5100.12]

IPP版本2.0、2.1和2.2[PWG5100.12]

IPP: Job and Printer Extensions - Set 3 (JPS3) [PWG5100.13]

IPP:作业和打印机扩展-集合3(JPS3)[PWG5100.13]

IPP Everywhere [PWG5100.14]

IPP无处不在[PWG5100.14]

IPP FaxOut Service [PWG5100.15]

IPP传真输出服务[PWG5100.15]

IPP Transaction-Based Printing Extensions [PWG5100.16]

基于IPP事务的打印扩展[PWG5100.16]

IPP Scan Service (SCAN) [PWG5100.17]

IPP扫描服务(扫描)[PWG5100.17]

IPP Shared Infrastructure Extensions (INFRA) [PWG5100.18]

IPP共享基础设施扩展(INFRA)[PWG5100.18]

IPP Implementor's Guide v2.0 (IG) [PWG5100.19]

IPP实施者指南v2.0(IG)[PWG5100.19]

This document is organized as follows:

本文件的组织结构如下:

o The rest of Section 1 is an introduction to the IPP simplified model for distributed printing;

o 第1节的其余部分介绍了分布式打印的IPP简化模型;

o Section 2 defines the terminology and conventions used within this document;

o 第2节定义了本文件中使用的术语和惯例;

o Section 3 introduces the object types covered in this document with their basic behaviors, attributes, and interactions;

o 第3节介绍本文档中涉及的对象类型及其基本行为、属性和交互;

o Section 4 defines the core operations for IPP/1.1. IPP operations are synchronous -- each operation has both a request and a response;

o 第4节定义了IPP/1.1的核心运营。IPP操作是同步的——每个操作都有一个请求和一个响应;

o Section 5 defines the core attributes (and their syntaxes) that are used in the model;

o 第5节定义了模型中使用的核心属性(及其语法);

o Sections 6 and 7 summarize the implementation conformance requirements for objects that support the protocol and IANA considerations, respectively;

o 第6节和第7节分别总结了支持协议和IANA考虑的对象的实现一致性要求;

o Sections 8 and 9 cover the internationalization and security considerations for IPP; and

o 第8节和第9节涵盖IPP的国际化和安全考虑;和

o The appendices provide a reference for status-code values, processing of IPP attributes, and the generic directory schema.

o 附录提供了状态代码值、IPP属性处理和通用目录模式的参考。

1.1. Simplified Printing Model
1.1. 简化印刷模型

In order to achieve its goal of realizing a workable printing protocol for the Internet, the Internet Printing Protocol (IPP) is based on a simplified printing model that abstracts the many components of real-world printing solutions. The Internet is a distributed computing environment where requesters of print services (Clients, applications, Printer drivers, etc.) cooperate and interact with print service providers. This document (sometimes referred to here as the "Model and Semantics" document) describes a simple, abstract model for IPP even though the underlying configurations can be complex "n-tier" client/server systems. An important simplifying step in the IPP Model is to expose only the key objects and interfaces required for printing. The model described in this document does not include features, interfaces, and relationships that are beyond the scope of IPP/1.1. IPP/1.1 incorporates many of the relevant ideas and lessons learned from other specification and development efforts [HTPP] [ISO10175] [LDPA] [P1387.4] [PSIS] [RFC1179] [SWP]. IPP is heavily influenced by the printing model introduced in the Document Printing Application (DPA) [ISO10175] standard. Although DPA specifies both End User and administrative features, IPP/1.1 focuses primarily on End User functionality with a few additional OPTIONAL operations for Administrators and Operators.

为了实现其为Internet实现可行的打印协议的目标,Internet打印协议(IPP)基于一个简化的打印模型,该模型抽象了现实世界打印解决方案的许多组件。Internet是一个分布式计算环境,其中打印服务的请求者(客户端、应用程序、打印机驱动程序等)与打印服务提供商进行合作和交互。本文档(此处有时称为“模型和语义”文档)描述了IPP的简单抽象模型,尽管底层配置可能是复杂的“n层”客户机/服务器系统。IPP模型中一个重要的简化步骤是仅公开打印所需的关键对象和接口。本文件中描述的模型不包括超出IPP/1.1范围的功能、接口和关系。IPP/1.1包含了从其他规范和开发工作[HTPP][ISO10175][LDPA][P1387.4][PSIS][RFC1179][SWP]中汲取的许多相关思想和经验教训。IPP受到文档打印应用程序(DPA)[ISO10175]标准中引入的打印模式的严重影响。虽然DPA同时指定了最终用户和管理功能,但IPP/1.1主要关注最终用户功能,并为管理员和操作员提供了一些额外的可选操作。

The IPP Model encapsulates the important components of distributed printing into the following IPP object types:

IPP模型将分布式打印的重要组件封装为以下IPP对象类型:

o Printer (Section 3.1)

o 打印机(第3.1节)

o Job (Section 3.2)

o 工作(第3.2节)

o Document (see [PWG5100.5])

o 文件(见[PWG5100.5])

o Subscription (see [RFC3995])

o 订阅(参见[RFC3995])

Each object type has an associated set of operations (see Section 4) and attributes (see Section 5).

每个对象类型都有一组相关的操作(参见第4节)和属性(参见第5节)。

It is important, however, to understand that in real system implementations (which lie underneath the abstracted IPP Model), there are other components of a print service that are not explicitly defined in the IPP Model. The following figure illustrates where IPP fits with respect to these other components.

然而,重要的是要理解,在实际系统实现中(位于抽象的IPP模型之下),还有一些打印服务的组件没有在IPP模型中明确定义。下图说明了IPP相对于这些其他组件的安装位置。

                                +----------------+
                                |   Application  |
                      o         + . . . . . . .  |
                     \|/        |    Spooler     |
                     / \        + . . . . . . .  |   +---------+
                   End User     | Printer Driver |---|  File   |
         +-----------+ +-----+  +-------+--------+   +----+----+
         |  Browser  | | GUI |          |                 |
         +-----+-----+ +--+--+          |                 |
               |          |             |                 |
               |      +---+-------------+--+              |
   N   D   S   |      |      IPP Client    |--------------+
   O   I   E   |      +---------+----------+
   T   R   C   |                |
   I   E   U   |
   F   C   R   -------------- Transport -------------------
   I   T   I
   C   O   T                    |         --+
   A   R   Y           +--------+--------+  |
   T   Y               |    IPP Server   |  |
   I                   +--------+--------+  |
   O                            |           |
   N                   +-----------------+  | IPP Printer
                       |  Print Service  |  |
                       +-----------------+  |
                                |         --+
                       +-----------------+
                       | Output Device(s)|
                       +-----------------+
        
                                +----------------+
                                |   Application  |
                      o         + . . . . . . .  |
                     \|/        |    Spooler     |
                     / \        + . . . . . . .  |   +---------+
                   End User     | Printer Driver |---|  File   |
         +-----------+ +-----+  +-------+--------+   +----+----+
         |  Browser  | | GUI |          |                 |
         +-----+-----+ +--+--+          |                 |
               |          |             |                 |
               |      +---+-------------+--+              |
   N   D   S   |      |      IPP Client    |--------------+
   O   I   E   |      +---------+----------+
   T   R   C   |                |
   I   E   U   |
   F   C   R   -------------- Transport -------------------
   I   T   I
   C   O   T                    |         --+
   A   R   Y           +--------+--------+  |
   T   Y               |    IPP Server   |  |
   I                   +--------+--------+  |
   O                            |           |
   N                   +-----------------+  | IPP Printer
                       |  Print Service  |  |
                       +-----------------+  |
                                |         --+
                       +-----------------+
                       | Output Device(s)|
                       +-----------------+
        

Figure 1: IPP Model

图1:IPP模型

An IPP Printer object ("Printer") encapsulates the functions normally associated with physical Output Devices along with the spooling, scheduling, and multiple device management functions often associated with a print server. Printers are optionally registered as entries in a directory where End Users find and select them based on some sort of filtered context-based searching mechanism (see Appendix D). The directory is used to store relatively static information about the Printer, allowing End Users to search for and find Printers that match their search criteria -- for example, name, location, context, Printer capabilities, etc. The more dynamic information, such as

IPP打印机对象(“打印机”)封装了通常与物理输出设备相关联的功能,以及通常与打印服务器相关联的假脱机、调度和多个设备管理功能。打印机可以选择注册为目录中的条目,最终用户可以根据某种基于过滤上下文的搜索机制在目录中查找和选择打印机(见附录D)。该目录用于存储有关打印机的相对静态信息,允许最终用户搜索并查找符合其搜索条件的打印机,例如名称、位置、上下文、打印机功能等。更动态的信息,例如

state, currently loaded and ready media, number of Jobs at the Printer, errors, warnings, and so forth, is directly associated with the Printer itself rather than with the entry in the directory, which only references the Printer.

状态、当前加载和准备就绪的介质、打印机上的作业数、错误、警告等直接与打印机本身关联,而不是与目录中仅引用打印机的条目关联。

IPP Clients ("Clients") implement IPP on the Client side and give End Users (or programs running on behalf of End Users) the ability to query Printers and submit and manage Print Jobs. An IPP server is just that part of the Printer object that implements the server-side protocol. The rest of the Printer object implements (or gateways into) the application semantics of the print service itself. Printers can be embedded in an Output Device or can be implemented on a host on the network that communicates with an Output Device.

IPP客户端(“客户端”)在客户端实现IPP,并使最终用户(或代表最终用户运行的程序)能够查询打印机、提交和管理打印作业。IPP服务器只是实现服务器端协议的打印机对象的一部分。打印机对象的其余部分实现(或网关)打印服务本身的应用程序语义。打印机可以嵌入到输出设备中,也可以在网络上与输出设备通信的主机上实现。

When a Job is submitted to the Printer and the Printer has validated the attributes in the submission request, the Printer creates a new IPP Job object ("Job"). The End User then interacts with this new Job to query its status and monitor the progress of the Job. An End User can also cancel their Print Jobs by using the Job's Cancel-Job operation. An End User can also hold, release, and restart their Print Jobs using the Job's OPTIONAL Hold-Job, Release-Job, and Restart-Job operations, if implemented.

当作业提交给打印机且打印机已验证提交请求中的属性时,打印机将创建一个新的IPP作业对象(“作业”)。最终用户随后与此新作业交互,以查询其状态并监视作业的进度。最终用户还可以使用作业的“取消作业”操作取消其打印作业。最终用户还可以使用作业的可选“保持作业”、“释放作业”和“重新启动作业”操作(如果已实施)来保持、释放和重新启动其打印作业。

A privileged Operator or Administrator of a Printer can cancel, hold, release, and restart any user's Job using the REQUIRED Cancel-Job and the OPTIONAL Hold-Job, Release-Job, and Restart-Job operations. In addition, a privileged Operator or Administrator of a Printer can pause, resume, or purge (Jobs from) a Printer using the OPTIONAL Pause-Printer, Resume-Printer, and Purge-Jobs operations, if implemented.

打印机的特权操作员或管理员可以使用所需的取消作业和可选的保留作业、释放作业和重新启动作业操作来取消、保留、释放和重新启动任何用户的作业。此外,打印机的特权操作员或管理员可以使用可选的暂停打印机、恢复打印机和清除作业操作(如果实施)暂停、恢复或清除打印机上的作业。

The notification service is defined in "Internet Printing Protocol (IPP): Event Notifications and Subscriptions" [RFC3995]. By using such a notification service, the End User is able to register for and receive Printer-specific and Job-specific events asynchronously. Otherwise, an End User can query the status of Printers and can follow the progress of Jobs by polling using the Get-Printer-Attributes, Get-Jobs, and Get-Job-Attributes operations.

通知服务在“Internet打印协议(IPP):事件通知和订阅”[RFC3995]中定义。通过使用这种通知服务,最终用户能够异步注册和接收特定于打印机和特定于作业的事件。否则,最终用户可以查询打印机的状态,并通过使用“获取打印机属性”、“获取作业”和“获取作业属性”操作进行轮询来跟踪作业的进度。

2. Conventions Used in This Document
2. 本文件中使用的公约
2.1. Requirements Language
2.1. 需求语言

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照[RFC2119]中所述进行解释。

The key word "DEPRECATED" in this document refers to an operation, attribute, or value that SHOULD NOT be used or supported in new implementations.

本文档中的关键字“DEPRECATED”指的是新实现中不应使用或支持的操作、属性或值。

2.2. Printing Terminology
2.2. 印刷术语

Client: Initiator of outgoing IPP session requests and sender of outgoing IPP operation requests (Hypertext Transfer Protocol (HTTP/1.1) user agent, as defined in [RFC7230]).

客户端:传出IPP会话请求的发起方和传出IPP操作请求的发送方(超文本传输协议(HTTP/1.1)用户代理,定义见[RFC7230])。

Document: An object created and managed by a Printer that contains description, processing, and status information. A Document object can have attached data and is bound to a single Job [PWG5100.5].

文档:由打印机创建和管理的对象,包含描述、处理和状态信息。文档对象可以具有附加数据,并绑定到单个作业[PWG5100.5]。

'ipp' URI: An IPP URI as defined in [RFC3510].

“ipp”URI:[RFC3510]中定义的ipp URI。

'ipps' URI: An IPP URI as defined in [RFC7472].

“IPP”URI:[RFC7472]中定义的IPP URI。

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 an endpoint device, e.g., a marking engine, a fax modem, etc.

物理设备:终端设备的硬件实现,例如标记引擎、传真调制解调器等。

Printer: Listener for incoming IPP session requests and receiver of incoming IPP operation requests (HTTP/1.1 server, as defined in [RFC7230]) that represents one or more Physical Devices or a Logical Device.

打印机:传入IPP会话请求的侦听器和传入IPP操作请求的接收器(HTTP/1.1服务器,定义见[RFC7230]),表示一个或多个物理设备或逻辑设备。

2.3. Model Terminology
2.3. 模型术语
2.3.1. Administrator
2.3.1. 管理员

An End User who is also authorized to manage all aspects of an Output Device or Printer, including creating the Printer instances and controlling the authorization of other End Users and Operators [RFC2567].

被授权管理输出设备或打印机所有方面的最终用户,包括创建打印机实例和控制其他最终用户和操作员的授权[RFC2567]。

2.3.2. Attributes
2.3.2. 属性

An attribute is an item of information that is associated with an instance of an IPP object (Printer, Job, etc.). An attribute consists of an attribute name and one or more attribute values. Each attribute has a specific attribute syntax. All object attributes are defined in Section 5, and all operation attributes are defined in Section 4.

属性是与IPP对象(打印机、作业等)实例关联的信息项。属性由属性名称和一个或多个属性值组成。每个属性都有一个特定的属性语法。第5节定义了所有对象属性,第4节定义了所有操作属性。

Job Template attributes are described in Section 5.2. The Client optionally supplies Job Template attributes in a Job Creation request (operation requests that create Job objects). The Printer object has associated attributes that define supported and default values for the Printer.

第5.2节介绍了作业模板属性。客户端可以选择在作业创建请求(创建作业对象的操作请求)中提供作业模板属性。打印机对象具有定义打印机支持值和默认值的关联属性。

2.3.2.1. Attribute Group Name
2.3.2.1. 属性组名称

Related attributes are grouped into named groups. The name of the group is a keyword. The group name can be used in place of naming all the attributes in the group explicitly. Attribute groups are defined in Section 4.

相关属性被分组到命名组中。组的名称是一个关键字。可以使用组名来代替显式命名组中的所有属性。属性组在第4节中定义。

2.3.2.2. Attribute Name
2.3.2.2. 属性名

Each attribute is uniquely identified in this document by its attribute name. An attribute name is a keyword. The keyword attribute name is given in the section title in this document that describes that attribute. In running text in this document, attribute names are indicated inside double quotation marks (") where the quotation marks are not part of the keyword itself.

在此文档中,每个属性都通过其属性名称进行唯一标识。属性名称是一个关键字。关键字属性名称在本文档中描述该属性的部分标题中给出。在本文档的运行文本中,属性名称在双引号(“)内指示,其中引号不是关键字本身的一部分。

2.3.2.3. Attribute Syntax
2.3.2.3. 属性语法

Each attribute is defined using an explicit syntax type. In this document, each syntax type is defined as a keyword with specific meaning. The "Encoding and Transport" document [RFC8010] indicates the actual "on-the-wire" encoding rules for each syntax type. Attribute syntax types are defined in Section 5.1.

每个属性都使用显式语法类型定义。在本文档中,每种语法类型都定义为具有特定含义的关键字。“编码和传输”文档[RFC8010]指出了每种语法类型的实际“在线”编码规则。属性语法类型在第5.1节中定义。

2.3.2.4. Attribute Value
2.3.2.4. 属性值

Each attribute has one or more values. Attribute values are represented in the syntax type specified for that attribute. In running text in this document, attribute values are indicated inside single quotation marks ('), whether their attribute syntax is keyword, integer, text, etc. where the quotation marks are not part of the value itself.

每个属性都有一个或多个值。属性值以为该属性指定的语法类型表示。在本文档中运行文本时,属性值在单引号(')内指示,无论其属性语法是关键字、整数、文本等,其中引号不是值本身的一部分。

2.3.3. End User
2.3.3. 最终用户

An End User is a person or software process that is authorized to perform basic printing functions, including finding/locating a Printer, creating a local instance of a Printer, viewing Printer status, viewing Printer capabilities, submitting a Print Job, viewing Print Job status, and altering the attributes of a Print Job [RFC2567].

最终用户是被授权执行基本打印功能的人员或软件过程,包括查找/定位打印机、创建打印机的本地实例、查看打印机状态、查看打印机功能、提交打印作业、查看打印作业状态以及更改打印作业的属性[RFC2567]。

2.3.4. Impression
2.3.4. 印象

An Impression is the content imposed upon one side of a Media Sheet by a marking engine, independent of the number of times that the sheet side passes any marker. An Impression contains one or more Input Pages that are imposed (scaled, translated, and/or rotated) during processing of the Document data.

印痕是由标记引擎施加在介质纸张一侧的内容,与纸张侧通过任何标记的次数无关。压痕包含一个或多个输入页面,这些页面在文档数据处理过程中被施加(缩放、平移和/或旋转)。

2.3.5. Input Page
2.3.5. 输入页

An Input Page is a page according to the definition of "pages" in the language used to express the Document data.

输入页面是根据“页面”定义的页面,其语言用于表示文档数据。

2.3.6. Job Creation Operation
2.3.6. 创造就业机会行动

A Job Creation operation is any operation that causes the creation of a Job object, e.g., the Create-Job, Print-Job, and Print-URI operations defined in this document.

作业创建操作是导致创建作业对象的任何操作,例如,本文档中定义的创建作业、打印作业和打印URI操作。

2.3.7. Keyword
2.3.7. 关键词

Keywords are used within this document as identifiers of semantic entities within the abstract model (see Section 5.1.4). Attribute names, some attribute values, attribute syntaxes, and attribute group names are represented as keywords.

关键词在本文件中用作抽象模型中语义实体的标识符(见第5.1.4节)。属性名称、某些属性值、属性语法和属性组名称表示为关键字。

2.3.8. Media Sheet
2.3.8. 媒体单

A Media Sheet is a single instance of a medium, whether printing on one or both sides of the medium. Media Sheets also include sections of roll media.

介质页是介质的一个实例,无论是在介质的一面还是两面打印。介质页还包括卷介质的部分。

2.3.9. Operator
2.3.9. 操作人员

An Operator is an End User that also has special rights on the Output Device or Printer. The Operator typically monitors the status of the Printer and also manages and controls the Jobs at the Output Device [RFC2567]. The Operator is allowed to query and control the Printer, Jobs, and Documents based on site policy.

操作员是对输出设备或打印机具有特殊权限的最终用户。操作员通常监控打印机的状态,并管理和控制输出设备上的作业[RFC2567]。操作员可以根据站点策略查询和控制打印机、作业和文档。

2.3.10. Set
2.3.10. 设置

A Set is a logical boundary between the delivered Media Sheets of a printed Job. For example, in the case of a ten-page single Document with collated pages and a request for 50 copies, each of the 50 printed copies of the Document constitutes a Set. If the pages were uncollated, then 50 copies of each of the individual pages within the Document would represent each Set. Finishing processes operate on Sets.

集合是打印作业的已交付介质页之间的逻辑边界。例如,如果一份10页的单份文件有经过校对的页数,并要求提供50份副本,则该文件的50份打印副本中的每一份都构成一套。如果这些页面是无边框的,那么文档中每个页面的50份副本将代表每套。精加工工序在成套设备上进行。

2.3.11. Support of Attributes
2.3.11. 属性支持

By definition, a Printer supports an attribute only if that Printer accepts it in a request or responds with the corresponding attribute populated with some value(s) in a response to a query for that attribute. A Printer supports an attribute value if the value is one of the Printer's "supported values" attributes. The device behind a Printer can exhibit a behavior that corresponds to some IPP attribute, but if the Printer, when queried for that attribute, doesn't respond with the attribute, then as far as IPP is concerned, that implementation does not support that feature. If the Printer's "xxx-supported" attribute is not populated with a particular value (even if that value is a legal value for that attribute), then that Printer does not support that particular value.

根据定义,只有当打印机在请求中接受某个属性,或在响应该属性的查询时使用填充了某些值的相应属性进行响应时,打印机才支持该属性。如果属性值是打印机的“支持的值”属性之一,则打印机支持该属性值。打印机后面的设备可能表现出与某个IPP属性相对应的行为,但如果在查询该属性时,打印机未响应该属性,则就IPP而言,该实现不支持该功能。如果打印机的“支持的xxx”属性未填充特定值(即使该值是该属性的合法值),则该打印机不支持该特定值。

A conforming implementation supports all REQUIRED attributes. However, even for REQUIRED attributes, conformance to IPP does not mandate that all implementations support all possible values representing all possible Job processing behaviors and features. For example, if a given instance of a Printer supports only certain Document formats, then that Printer responds with the "document-format-supported" attribute populated with a set of values, or possibly only one value, taken from the entire set of possible values defined for that attribute. This limited set of values

一致性实现支持所有必需的属性。然而,即使对于必需的属性,符合IPP也不要求所有实现都支持表示所有可能作业处理行为和特性的所有可能值。例如,如果打印机的给定实例仅支持某些文档格式,则该打印机将使用“Document format supported”(支持的文档格式)属性进行响应,该属性填充了一组值,或者可能仅包含一个值,这些值取自为该属性定义的整个可能值集。这是一组有限的值

represents the Printer's set of supported Document formats. Supporting an attribute and some set of values for that attribute enables IPP End Users to be aware of and make use of those features associated with that attribute and those values. If an implementation chooses to not support an attribute or some specific value, then IPP End Users would have no ability to make use of that feature within the context of IPP itself. However, due to existing practice and legacy systems that are not IPP aware, there might be some other mechanism outside the scope of IPP to control or request the "unsupported" feature (such as embedded instructions within the Document data itself).

表示打印机支持的文档格式集。支持一个属性和该属性的某些值集,使IPP最终用户能够了解并使用与该属性和这些值相关联的功能。如果实现选择不支持属性或某些特定值,则IPP最终用户将无法在IPP本身的上下文中使用该功能。但是,由于现有实践和不了解IPP的遗留系统,可能存在IPP范围之外的其他机制来控制或请求“不受支持”的功能(例如文档数据本身中的嵌入式指令)。

For example, consider the following for the "finishings-supported" attribute.

例如,考虑下面的“Fixisher支持”属性。

1) If a Printer is not physically capable of stapling, the "finishings-supported" attribute MUST NOT be populated with the value of 'staple'.

1) 如果打印机在物理上无法装订,则“finishings supported”属性不得使用“装订”值填充。

2) A Printer is physically capable of stapling; however, an implementation chooses not to support stapling in the IPP "finishings" attribute. In this case, 'staple' MUST NOT be a value in the "finishings-supported" Printer Description attribute. Without support for the value 'staple', an IPP End User would have no means within the protocol itself to request that a Job be stapled. However, an existing Document data formatter might be able to request that the Document be stapled directly with an embedded instruction within the Document data. In this case, the IPP implementation does not "support" stapling; however, the End User is still able to have some control over the stapling of the completed Job.

2) 打印机在物理上能够装订;但是,实现选择不支持IPP“finishings”属性中的装订。在这种情况下,“装订”不能是“支持的修整”打印机描述属性中的值。如果不支持“装订”值,IPP最终用户将无法在协议本身内请求装订作业。但是,现有的文档数据格式化程序可能能够请求将文档直接与文档数据中的嵌入式指令装订在一起。在这种情况下,IPP实施不“支持”装订;但是,最终用户仍然能够对已完成作业的装订进行一些控制。

3) A Printer is physically capable of stapling, and an implementation chooses to support stapling in the IPP "finishings" attribute. In this case, 'staple' MUST be a value in the "finishings-supported" Printer attribute. Doing so enables End Users to be aware of and make use of the stapling feature using IPP attributes.

3) 打印机在物理上能够装订,而实现选择在IPP“finishings”属性中支持装订。在这种情况下,“装订”必须是“支持的修整”打印机属性中的值。这样做可以让最终用户了解并使用IPP属性使用装订功能。

Even though support for Job Template attributes by a Printer is OPTIONAL in IPP/1.1, Printers whose associated device(s) is capable of realizing any feature or function that corresponds to an IPP attribute and some associated value SHOULD support that IPP attribute and value.

即使打印机对作业模板属性的支持在IPP/1.1中是可选的,但其关联设备能够实现与IPP属性和某些关联值相对应的任何特性或功能的打印机应支持该IPP属性和值。

The set of values in any of the supported value attributes is set (populated) by some administrative process or automatic sensing mechanism that is outside the scope of this document. For administrative policy and control reasons, an Administrator can choose to make only a subset of possible values visible to the End User. In this case, the real Output Device behind the IPP Printer abstraction can be capable of a certain feature; however, an Administrator is specifying that access to that feature not be exposed to the End User through IPP. Also, since a Printer can represent a logical print device (not just a Physical Device), the actual process for supporting a value is undefined and left up to the implementation. However, if a Printer supports a value, some manual human action might be needed to realize the semantic action associated with the value, but no End User action is required.

任何受支持的值属性中的值集都是由本文档范围之外的一些管理过程或自动感知机制设置(填充)的。出于管理策略和控制原因,管理员可以选择仅使可能值的子集对最终用户可见。在这种情况下,IPP打印机抽象背后的实际输出设备可以具有某种功能;但是,管理员指定不通过IPP向最终用户公开对该功能的访问。此外,由于打印机可以表示逻辑打印设备(而不仅仅是物理设备),因此支持值的实际过程未定义,由实现决定。但是,如果打印机支持某个值,则可能需要一些手动操作来实现与该值关联的语义操作,但不需要最终用户操作。

For example, if one of the values in the "finishings-supported" attribute is 'staple', the actual process might be an automatic staple action by a Physical Device controlled by some command sent to the device. Or, the actual process of stapling might be a manual action by an Operator at an Operator-attended Printer.

例如,如果“finishings supported”属性中的一个值为“装订”,则实际过程可能是由发送到设备的某个命令控制的物理设备的自动装订操作。或者,装订的实际过程可能是操作员在操作员操作的打印机上手动操作。

For another example of how supported attributes function, consider an Administrator who desires to control all Print Jobs so that no Job sheets are printed in order to conserve paper. To force no Job sheets, the Administrator sets the only supported value for the "job-sheets-supported" attribute to 'none'. In this case, if a Client requests anything except 'none', the Job Creation request is rejected or the "job-sheets" value is ignored (depending on the value of "ipp-attribute-fidelity"). To force the use of Job start/end sheets on all Jobs, the Administrator does not include the value 'none' in the "job-sheets-supported" attribute. In this case, if a Client requests 'none', the Job Creation request is rejected or the "job-sheets" value is ignored (again depending on the value of "ipp-attribute-fidelity").

对于支持的属性如何运行的另一个例子,考虑一个希望控制所有打印作业的管理员,以便不打印作业单以保存纸张。要强制无工作表,管理员将“支持的工作表”属性的唯一支持值设置为“无”。在这种情况下,如果客户机请求除“无”之外的任何内容,则拒绝创建作业请求或忽略“作业表”值(取决于“ipp属性保真度”的值)。要强制在所有作业上使用作业开始/结束表,管理员在“支持的作业表”属性中不包含值“无”。在这种情况下,如果客户端请求“无”,则拒绝创建作业请求或忽略“作业表”值(同样取决于“ipp属性保真度”的值)。

Job Template attributes will typically have corresponding "xxx-supported" and "xxx-default" Printer Description attributes that contain the supported and default values for the attribute. For capabilities that are not associated with a Job, the convention is to have an "xxx-supported" Printer Description attribute that lists the supported values and an "xxx-configured" Printer Description attribute that contains the value being used by the Printer. For example, the "charset-supported" Printer Description attribute (Section 5.4.18) lists the supported character sets for the Printer while the "charset-configured" Printer Description attribute (Section 5.4.17) specifies the character set being used by the Printer.

作业模板属性通常具有相应的“支持的xxx”和“默认的xxx”打印机描述属性,其中包含属性的支持值和默认值。对于与作业无关的功能,约定为具有“支持的xxx”打印机描述属性(列出支持的值)和“配置的xxx”打印机描述属性(包含打印机正在使用的值)。例如,“支持的字符集”打印机描述属性(第5.4.18节)列出打印机支持的字符集,而“配置的字符集”打印机描述属性(第5.4.17节)指定打印机正在使用的字符集。

2.3.12. Terminating State
2.3.12. 终止状态

The final state for a Job or other object is called its Terminating State. For example, the 'aborted', 'canceled', and 'completed' Job states are Terminating States.

作业或其他对象的最终状态称为其终止状态。例如,“中止”、“取消”和“完成”作业状态都是终止状态。

2.4. Abbreviations
2.4. 缩写

ABNF: Augmented Backus-Naur Form [RFC5234]

ABNF:扩充的巴科斯诺尔表[RFC5234]

ASCII: American Standard Code for Information Interchange [RFC20]

ASCII:美国信息交换标准代码[RFC20]

HTTP: Hypertext Transfer Protocol [RFC7230]

HTTP:超文本传输协议[RFC7230]

HTTPS: HTTP over TLS [RFC2818]

HTTPS:HTTP over TLS[RFC2818]

IANA: Internet Assigned Numbers Authority

IANA:互联网分配号码管理局

IEEE: Institute of Electrical and Electronics Engineers

IEEE:电气和电子工程师学会

IESG: Internet Engineering Steering Group

IESG:互联网工程指导小组

IPP: Internet Printing Protocol (this document, [RFC8010], and [PWG5100.12])

IPP:互联网打印协议(本文件[RFC8010]和[PWG5100.12])

ISTO: IEEE Industry Standards and Technology Organization

ISTO:IEEE行业标准和技术组织

LPD: Line Printer Daemon Protocol [RFC1179]

LPD:行打印机守护程序协议[RFC1179]

PWG: IEEE-ISTO Printer Working Group

PWG:IEEE-ISTO打印机工作组

RFC: Request for Comments

RFC:征求意见

TCP: Transmission Control Protocol [RFC793]

TCP:传输控制协议[RFC793]

TLS: Transport Layer Security [RFC5246]

TLS:传输层安全性[RFC5246]

URI: Uniform Resource Identifier [RFC3986]

URI:统一资源标识符[RFC3986]

URL: Uniform Resource Locator [RFC3986]

URL:统一资源定位器[RFC3986]

UTF-8: Unicode Transformation Format - 8-bit [RFC3629]

UTF-8:Unicode转换格式-8位[RFC3629]

3. IPP Objects
3. IPP对象

This document defines IPP objects of types Printer and Job. Each type of object models relevant aspects of a real-world entity such as a real Printer or real Print Job. Each object type is defined as a set of possible attributes that can be supported by instances of that object type. For each object (instance), the actual set of supported attributes and values describe a specific implementation. The object's attributes and values describe its state, capabilities, realizable features, Job processing functions, and default behaviors and characteristics. For example, the Printer object type is defined as a set of attributes that each Printer object potentially supports. In the same manner, the Job object type is defined as a set of attributes that are potentially supported by each Job object.

本文档定义打印机和作业类型的IPP对象。每种类型的对象都为真实实体的相关方面建模,例如真实打印机或真实打印作业。每个对象类型都定义为一组可能的属性,这些属性可由该对象类型的实例支持。对于每个对象(实例),支持的属性和值的实际集合描述了特定的实现。对象的属性和值描述其状态、功能、可实现功能、作业处理功能以及默认行为和特征。例如,打印机对象类型定义为每个打印机对象可能支持的一组属性。以相同的方式,作业对象类型定义为每个作业对象可能支持的一组属性。

Each attribute included in the set of attributes defining an object type is labeled as:

定义对象类型的属性集中包含的每个属性都标记为:

o "REQUIRED": each object MUST support the attribute.

o “必需”:每个对象必须支持该属性。

o "RECOMMENDED": each object SHOULD support the attribute.

o “推荐”:每个对象都应该支持该属性。

o "OPTIONAL": each object MAY support the attribute.

o “可选”:每个对象都可以支持该属性。

Some definitions of attribute values indicate that an object MUST or SHOULD support the value; otherwise, support of the value is OPTIONAL. However, if an implementation supports an attribute, it MUST support at least one of the possible values for that attribute.

属性值的一些定义表明对象必须或应该支持该值;否则,支持该值是可选的。但是,如果实现支持某个属性,则它必须至少支持该属性的一个可能值。

3.1. Printer Object
3.1. 打印机对象

The major component of the IPP Model is the Printer object. A Printer object implements the server side of the IPP/1.1 protocol. Using the protocol, End Users can query the attributes of the Printer object and submit Print Jobs to the Printer object. The actual implementation components behind the Printer abstraction can take on different forms and different configurations. However, the model abstraction allows the details of the configuration of real components to remain opaque to the End User. Section 4 describes each of the Printer operations in detail.

IPP模型的主要组件是打印机对象。打印机对象实现IPP/1.1协议的服务器端。使用该协议,最终用户可以查询打印机对象的属性,并向打印机对象提交打印作业。打印机抽象背后的实际实现组件可以采用不同的形式和不同的配置。然而,模型抽象允许真实组件的配置细节对最终用户保持不透明。第4节详细描述了每种打印机操作。

The capabilities and state of a Printer object are described by its attributes. Printer attributes are divided into two groups:

打印机对象的功能和状态由其属性描述。打印机属性分为两组:

o "job-template" attributes: These attributes describe supported Job processing capabilities and defaults for the Printer object (see Section 5.2)

o “作业模板”属性:这些属性描述打印机对象支持的作业处理功能和默认值(参见第5.2节)

o "printer-description" attributes: These attributes describe the Printer's identification, state, location, references to other sources of information about the Printer object, etc. (see Section 5.4)

o “打印机描述”属性:这些属性描述打印机的标识、状态、位置、对打印机对象其他信息源的引用等(见第5.4节)

Since a Printer object is an abstraction of a generic Document Output Device and print service provider, a Printer object could be used to represent any real or virtual device with semantics consistent with the Printer object, such as a fax device, an imager, or even a CD writer.

由于打印机对象是通用文档输出设备和打印服务提供商的抽象,因此打印机对象可用于表示语义与打印机对象一致的任何真实或虚拟设备,例如传真设备、成像器,甚至CD刻录机。

Some examples of configurations supporting a Printer object include:

支持打印机对象的一些配置示例包括:

1. An Output Device with no spooling capabilities

1. 没有假脱机功能的输出设备

2. An Output Device with a built-in spooler

2. 带有内置假脱机程序的输出设备

3. A print server supporting IPP with one or more associated Output Devices

3. 支持带有一个或多个关联输出设备的IPP的打印服务器

3a. The associated Output Devices are or are not capable of spooling Jobs

3a。相关的输出设备能够或不能进行假脱机作业

3b. The associated Output Devices possibly support IPP

3b。相关的输出设备可能支持IPP

Figure 2 shows some examples of how Printers can be realized on top of various distributed printing configurations. The embedded case below represents configurations 1 and 2 above. The "hosted Printer" and "fan out" items represent configurations 3a and 3b, respectively.

图2显示了如何在各种分布式打印配置之上实现打印机的一些示例。下面的嵌入式案例表示上面的配置1和2。“托管打印机”和“扇出”项分别表示配置3a和3b。

In this document, the term "Client" refers to a software entity that sends IPP operation requests to an IPP Printer and accepts IPP operation responses. A Client MAY be:

在本文档中,术语“客户机”是指向IPP打印机发送IPP操作请求并接受IPP操作响应的软件实体。客户可能是:

1. contained within software controlled by an End User, e.g., activated by the "Print" menu item in an application, or

1. 包含在由最终用户控制的软件中,例如,由应用程序中的“打印”菜单项激活,或

2. the print server component that sends IPP requests to either an Output Device or another "downstream" print server.

2. 向输出设备或另一个“下游”打印服务器发送IPP请求的打印服务器组件。

The term "IPP Printer" is a network entity that accepts IPP operation requests and returns IPP operation responses. As such, an IPP Printer object MAY be:

术语“IPP打印机”是接受IPP操作请求并返回IPP操作响应的网络实体。因此,IPP打印机对象可以是:

1. an (embedded) device component that accepts IPP requests and controls the device, or

1. 接受IPP请求并控制设备的(嵌入式)设备组件,或

2. a component of a print server that accepts IPP requests (where the print server controls one or more networked devices using IPP or other protocols).

2. 接受IPP请求的打印服务器组件(其中打印服务器使用IPP或其他协议控制一个或多个联网设备)。

Legend:

图例:

##### indicates a Printer object that is either embedded in an Output Device or hosted in a server. The Printer object might or might not be capable of queuing/spooling.

#####指示嵌入在输出设备中或托管在服务器中的打印机对象。打印机对象可能无法排队/后台打印。

any indicates any network protocol or direct connect, including IPP

any表示任何网络协议或直接连接,包括IPP

   embedded Printer:
                                             Output Device
                                           +---------------+
    O   +--------+                         |  ###########  |
   /|\  | Client |------------IPP------------># Printer #  |
   / \  +--------+                         |  # Object  #  |
                                           |  ###########  |
                                           +---------------+
   hosted Printer:
                                           +---------------+
    O   +--------+        ###########      |               |
   /|\  | Client |--IPP--># Printer #-any->| Output Device |
   / \  +--------+        # Object  #      |               |
                          ###########      +---------------+
                                            +---------------+
   fan out:                                 |               |
                                        +-->| Output Device |
                                    any/    |               |
    O   +--------+      ###########   /     +---------------+
   /|\  | Client |-IPP-># Printer #--*
   / \  +--------+      # Object  #   \     +---------------+
                        ########### any\    |               |
                                        +-->| Output Device |
                                            |               |
                                            +---------------+
        
   embedded Printer:
                                             Output Device
                                           +---------------+
    O   +--------+                         |  ###########  |
   /|\  | Client |------------IPP------------># Printer #  |
   / \  +--------+                         |  # Object  #  |
                                           |  ###########  |
                                           +---------------+
   hosted Printer:
                                           +---------------+
    O   +--------+        ###########      |               |
   /|\  | Client |--IPP--># Printer #-any->| Output Device |
   / \  +--------+        # Object  #      |               |
                          ###########      +---------------+
                                            +---------------+
   fan out:                                 |               |
                                        +-->| Output Device |
                                    any/    |               |
    O   +--------+      ###########   /     +---------------+
   /|\  | Client |-IPP-># Printer #--*
   / \  +--------+      # Object  #   \     +---------------+
                        ########### any\    |               |
                                        +-->| Output Device |
                                            |               |
                                            +---------------+
        

Figure 2: IPP Printer Object Architecture

图2:IPP打印机对象体系结构

3.2. Job Object
3.2. 作业对象

A Job object is used to model a Print Job. A Job object contains zero or more Documents. The information required to create a Job object is sent in a Job Creation request from the End User via an IPP Client to the Printer. The Printer validates the Job Creation request, and if the Printer accepts the request, the Printer creates the new Job object. Section 4 describes each of the Job operations in detail.

作业对象用于为打印作业建模。作业对象包含零个或多个文档。创建作业对象所需的信息通过IPP客户端以作业创建请求的形式从最终用户发送到打印机。打印机验证作业创建请求,如果打印机接受该请求,打印机将创建新作业对象。第4节详细描述了每个作业操作。

The characteristics and state of a Job object are described by its attributes. Job attributes are grouped into two groups as follows:

作业对象的特征和状态由其属性描述。作业属性分为两组,如下所示:

o "job-template" attributes: These attributes can be supplied by the Client or End User and include Job processing instructions that are intended to override any Printer defaults and/or instructions embedded within the Document data (see Section 5.2)

o “作业模板”属性:这些属性可由客户或最终用户提供,包括作业处理指令,用于覆盖任何打印机默认值和/或嵌入到文档数据中的指令(见第5.2节)

o "job-description" attributes: These attributes describe the Job's identification, state, size, etc. The Client supplies some of these attributes, and the Printer generates others (see Section 5.3)

o “作业描述”属性:这些属性描述作业的标识、状态、大小等。客户机提供其中一些属性,打印机生成其他属性(参见第5.3节)

An implementation MUST support at least one Document per Job object. An implementation MAY support multiple Documents per Job object. A Document is either:

实现必须支持每个作业对象至少一个文档。一个实现可以为每个作业对象支持多个文档。文件可以是:

o a stream of Document data in a format supported by the Printer (typically a Page Description Language -- PDL), or

o 打印机支持格式的文档数据流(通常为页面描述语言--PDL),或

o a reference to such a stream of Document data.

o 对这种文档数据流的引用。

All Job processing instructions are modeled as Job object attributes. These attributes are called "Job Template attributes", and they apply equally to all Documents within a Job object.

所有作业处理指令都建模为作业对象属性。这些属性称为“作业模板属性”,它们同样适用于作业对象中的所有文档。

3.3. Object Relationships
3.3. 对象关系

IPP objects have relationships that are maintained persistently along with the persistent storage of the object attributes.

IPP对象具有持久性维护的关系以及对象属性的持久性存储。

A Printer object can represent either one or more physical Output Devices or a Logical Device that "processes" Jobs but never actually uses a physical Output Device to put marks on paper. Examples of Logical Devices include a web page publisher or a gateway into an online Document archive or repository. A Printer contains zero or more Job objects.

打印机对象可以表示一个或多个物理输出设备,也可以表示“处理”作业但从不实际使用物理输出设备在纸上做标记的逻辑设备。逻辑设备的示例包括网页发布者或进入在线文档存档或存储库的网关。打印机包含零个或多个作业对象。

A Job object is contained by exactly one Printer; however, the identical Document data associated with a Job could be sent to either the same or a different Printer. In this case, a second Job object would be created that would be almost identical to the first Job; however, it would have new (different) Job object identifiers (see Section 3.4).

一个作业对象正好包含在一台打印机中;但是,与作业关联的相同文档数据可以发送到相同或不同的打印机。在这种情况下,将创建与第一个作业几乎相同的第二个作业对象;但是,它将具有新的(不同的)作业对象标识符(参见第3.4节)。

A Job either is empty (before any Documents have been added) or contains one or more Documents. If the contained Document is a stream of Document data, that stream can be contained in only one Document. However, there can be identical copies of the stream in other Documents in the same or different Jobs. If the contained Document is just a reference to a stream of Document data, other Documents (in the same or different Job(s)) contain the same reference.

作业要么为空(在添加任何文档之前),要么包含一个或多个文档。如果包含的文档是文档数据流,则该流只能包含在一个文档中。但是,在相同或不同作业中的其他文档中可能存在流的相同副本。如果包含的文档只是对文档数据流的引用,则其他文档(在相同或不同的作业中)包含相同的引用。

3.4. Object Identity
3.4. 对象标识

All IPP objects (Printers, Jobs, etc.) are identified by a Uniform Resource Identifier (URI) [RFC3986] so that they can be persistently and unambiguously referenced. Since every URL is a specialized form of a URI, even though the more generic term "URI" is used throughout the rest of this document, its usage is intended to cover the more specific notion of "URL" as well.

所有IPP对象(打印机、作业等)都由统一资源标识符(URI)[RFC3986]标识,以便可以持久和明确地引用它们。由于每个URL都是URI的一种特殊形式,即使在本文档的其余部分中使用了更通用的术语“URI”,其用法也旨在涵盖“URL”的更具体概念。

An Administrator configures Printers to either support or not support authentication and/or message privacy using Transport Layer Security (TLS) [RFC5246]; the mechanism for security configuration is outside the scope of this document. In some situations, both types of connections (both authenticated and unauthenticated) can be established using a single communication channel that has some sort of negotiation mechanism. In other situations, multiple communication channels are used, one for each type of security configuration. Section 9 provides a full description of all security considerations and configurations.

管理员使用传输层安全(TLS)[RFC5246]将打印机配置为支持或不支持身份验证和/或消息隐私;安全配置机制不在本文档的范围内。在某些情况下,可以使用具有某种协商机制的单个通信信道来建立两种类型的连接(已验证和未验证)。在其他情况下,使用多个通信信道,每种类型的安全配置一个。第9节提供了所有安全注意事项和配置的完整描述。

If a Printer supports more than one communication channel, some or all of those channels might support and/or require different security mechanisms. In such cases, an Administrator could expose the simultaneous support for these multiple communication channels as multiple URIs for a single Printer where each URI represents one of the communication channels to the Printer. To support this flexibility, the IPP Printer object type defines a multi-valued identification attribute called the "printer-uri-supported" attribute that MUST contain at least one URI. The "printer-uri-supported" attribute has two companion attributes, the "uri-security-supported" attribute and the "uri-authentication-supported" attribute. Both have the same cardinality as "printer-uri-supported". The purpose of

如果打印机支持多个通信通道,则这些通道中的部分或全部可能支持和/或需要不同的安全机制。在这种情况下,管理员可以将对这些多个通信通道的同时支持公开为单个打印机的多个URI,其中每个URI表示到打印机的一个通信通道。为了支持这种灵活性,IPP打印机对象类型定义了一个称为“支持的打印机uri”属性的多值标识属性,该属性必须至少包含一个uri。“支持的打印机uri”属性有两个附带属性,“支持的uri安全性”属性和“支持的uri身份验证”属性。两者都具有与“支持的打印机uri”相同的基数。目的

the "uri-security-supported" attribute is to indicate the security mechanisms (if any) used for each URI listed in "printer-uri-supported". The purpose of the "uri-authentication-supported" attribute is to indicate the authentication mechanisms (if any) used for each URI listed in "printer-uri-supported". These three attributes are fully described in Sections 5.4.1, 5.4.2, and 5.4.3.

“支持的uri安全性”属性用于指示“支持的打印机uri”中列出的每个uri所使用的安全机制(如果有)。“uri authentication supported”属性的目的是指示“printer uri supported”中列出的每个uri使用的身份验证机制(如果有)。这三个属性在第5.4.1、5.4.2和5.4.3节中有详细描述。

When a Job is submitted to the Printer via a Job Creation request, the Client supplies only a single Printer URI. The Client-supplied Printer URI MUST be one of the values in the "printer-uri-supported" Printer attribute.

通过作业创建请求将作业提交到打印机时,客户端仅提供一个打印机URI。客户端提供的打印机URI必须是“支持的打印机URI”打印机属性中的值之一。

IPP/1.1 does not specify how the Client obtains the Client-supplied URI, but it is RECOMMENDED that a Printer be registered as an entry in a directory service. End Users and programs can then interrogate the directory, searching for Printers. Appendix D defines a generic schema for Printer object entries in the directory service and describes how the entry acts as a bridge to the actual IPP Printer. The entry in the directory that represents the IPP Printer includes the possibly many URIs for that Printer as values in one of its attributes.

IPP/1.1未指定客户端如何获取客户端提供的URI,但建议将打印机注册为目录服务中的条目。最终用户和程序可以查询目录,搜索打印机。附录D为目录服务中的打印机对象条目定义了通用模式,并描述了该条目如何作为实际IPP打印机的桥梁。目录中表示IPP打印机的条目在其一个属性中包含该打印机的可能多个URI作为值。

When a Client submits a Job Creation request to the Printer, the Printer validates the request and creates a new Job object. The Printer assigns the new Job a numeric identifier that is stored in the "job-id" Job attribute and a URI that is stored in the "job-uri" Job attribute. Both the numeric identifier and URI can then be used by Clients as the target for subsequent Job operations; the numeric identifier is preferred. The Printer generates the Job numeric identifier and URI based on its configured security policy and the URI used by the Client in the Job Creation request.

当客户端向打印机提交作业创建请求时,打印机将验证该请求并创建新作业对象。打印机为新作业分配存储在“作业id”作业属性中的数字标识符和存储在“作业URI”作业属性中的URI。然后,客户机可以使用数字标识符和URI作为后续作业操作的目标;首选数字标识符。打印机根据其配置的安全策略和客户端在作业创建请求中使用的URI生成作业数字标识符和URI。

For example, consider a Printer that supports both a communication channel secured by the use of TLS (using HTTP over TLS with an "https" schemed URI) and another open communication channel that is not secured with TLS (using a simple "http" schemed URI). If a Client submits a Job using the secure URI, the Printer assigns the new Job a secure URI as well. If a Client were to submit a Job using the open-channel URI, the Printer might assign the new Job an open-channel URI. Clients SHOULD use the "printer-uri" and "job-id" attributes to target a Job to avoid any ambiguity about the security of the communication channel.

例如,考虑一个支持TLS使用的通信信道的打印机(使用HTTP在TLS上加上“HTTPS”模式的URI)和另一个未用TLS固定的开放通信信道(使用简单的“HTTP”方案URI)。如果客户端使用安全URI提交作业,打印机也会为新作业分配一个安全URI。如果客户端使用开放通道URI提交作业,打印机可能会为新作业分配开放通道URI。客户机应使用“打印机uri”和“作业id”属性以作业为目标,以避免对通信通道的安全性产生任何歧义。

In addition, the Printer also populates the Job's "job-printer-uri" attribute. This is a reference back to the Printer that created the Job. If a Client only has access to a Job's "job-uri" identifier, the Client can query the Job's "job-printer-uri" attribute in order

此外,打印机还填充作业的“作业打印机uri”属性。这是对创建作业的打印机的引用。如果客户端只能访问作业的“作业uri”标识符,则客户端可以按顺序查询作业的“作业打印机uri”属性

to determine which Printer created the Job. If the Printer supports more than one URI, the Printer picks the one URI supplied by the Client when creating the Job to build the value for and to populate the Job's "job-printer-uri" attribute.

以确定创建作业的打印机。如果打印机支持多个URI,则打印机在创建作业时会选择客户端提供的一个URI,以生成作业的值并填充作业的“作业打印机URI”属性。

In addition to identifiers, IPP objects have names -- "printer-name" for Printers and "job-name" for Jobs. An object name is not guaranteed to be unique across all instances of all objects. A Printer's name is chosen and set by an Administrator through some mechanism outside the scope of this document. A Job's name can be chosen and supplied by the Client submitting the Job. If the Client does not supply a Job name, the Printer generates a name for the new Job. In all cases, the name only has local meaning.

除了标识符之外,IPP对象还有名称--“打印机名称”表示打印机,而“作业名称”表示作业。对象名称不能保证在所有对象的所有实例中都是唯一的。打印机名称由管理员通过本文档范围之外的某种机制选择和设置。提交作业的客户端可以选择并提供作业的名称。如果客户端未提供作业名称,打印机将为新作业生成名称。在所有情况下,该名称仅具有本地含义。

To summarize:

总结如下:

o Each Printer is identified by one or more URIs. The Printer's "printer-uri-supported" attribute contains the URI(s).

o 每个打印机由一个或多个URI标识。打印机的“支持的打印机uri”属性包含uri。

o The Printer's "uri-security-supported" attribute identifies the communication channel security protocols that have been configured for the various Printer URIs (e.g., 'tls' or 'none').

o 打印机的“受支持的uri安全性”属性标识已为各种打印机uri配置的通信通道安全协议(例如,“tls”或“无”)。

o The Printer's "uri-authentication-supported" attribute identifies the authentication mechanisms that have been configured for the various Printer URIs (e.g., 'digest', 'none', etc.).

o 打印机的“受支持的uri身份验证”属性标识已为各种打印机uri配置的身份验证机制(例如,“摘要”、“无”等)。

o Each Job is identified by a numeric identifier, which is a 32-bit positive integer. The Job's "job-id" attribute contains the Job ID. The Job ID is only unique within the context of the Printer that created the Job.

o 每个作业由一个数字标识符标识,该标识符为32位正整数。作业的“作业id”属性包含作业id。作业id仅在创建作业的打印机的上下文中是唯一的。

o Each Job is also identified by a URI. The Job's "job-uri" attribute contains the URI, although its use by Clients is DEPRECATED.

o 每个作业也由URI标识。作业的“作业uri”属性包含uri,尽管客户端不赞成使用它。

o Each Job has a "job-printer-uri" attribute, which contains the URI of the Printer that was used to create the Job. This attribute is used to determine the Printer that created a Job when given only the URI for the Job. This linkage is necessary to determine the languages, charsets, and operations that are supported on that Job (the basis for such support comes from the creating Printer).

o 每个作业都有一个“作业打印机uri”属性,该属性包含用于创建作业的打印机的uri。此属性用于确定仅为作业指定URI时创建作业的打印机。此链接是确定该作业支持的语言、字符集和操作所必需的(此类支持的基础来自创建打印机)。

o Each Printer has a name, which is not necessarily unique. The Administrator chooses and sets this name through some mechanism outside the scope of this IPP/1.1 document. The Printer's "printer-name" attribute contains the name.

o 每个打印机都有一个名称,但不一定是唯一的。管理员通过本IPP/1.1文件范围之外的某种机制选择和设置此名称。打印机的“打印机名称”属性包含该名称。

o Each Job has a name, which is not necessarily unique. The Client optionally supplies this name in the Job Creation request. If the Client does not supply this name, the Printer generates a name for the Job. The Job's "job-name" attribute contains the name.

o 每个作业都有一个名称,但不一定是唯一的。客户端可以选择在作业创建请求中提供此名称。如果客户端不提供此名称,打印机将生成作业的名称。作业的“作业名称”属性包含名称。

4. IPP Operations
4. IPP运营

IPP objects (Printers, Jobs, etc.) support operations. An operation consists of a request and a response. When a Client communicates with a Printer or its Jobs, the Client issues an operation request to the Printer URI and object's numeric identifier, if needed. Operation requests and responses have parameters that identify the operation. Operations also have attributes that affect the runtime characteristics of the operation (the intended target, localization information, etc.). These operation-specific attributes are called "operation attributes" (as compared to object attributes such as Printer attributes or Job attributes). Each request carries along with it any operation attributes, object attributes, and/or Document data required to perform the operation. Each request requires a response from the object. Each response indicates success or failure of the operation with a status-code as a response parameter. The response contains any operation attributes, object attributes, and/or status messages generated during the execution of the operation request.

IPP对象(打印机、作业等)支持操作。操作由请求和响应组成。当客户端与打印机或其作业通信时,如果需要,客户端会向打印机URI和对象的数字标识符发出操作请求。操作请求和响应具有标识操作的参数。操作还具有影响操作的运行时特征的属性(预期目标、本地化信息等)。这些特定于操作的属性称为“操作属性”(与对象属性(如打印机属性或作业属性)相比)。每个请求都附带执行操作所需的任何操作属性、对象属性和/或文档数据。每个请求都需要对象的响应。每个响应都以状态代码作为响应参数,表示操作的成功或失败。响应包含在执行操作请求期间生成的任何操作属性、对象属性和/或状态消息。

This section describes the semantics of the IPP operations, both requests and responses, in terms of the parameters, attributes, and other data associated with each operation.

本节描述了IPP操作的语义,包括请求和响应,以及与每个操作相关的参数、属性和其他数据。

The Printer operations defined in this document are:

本文档中定义的打印机操作包括:

Print-Job (Section 4.2.1)

打印作业(第4.2.1节)

Print-URI (Section 4.2.2)

打印URI(第4.2.2节)

Validate-Job (Section 4.2.3)

验证作业(第4.2.3节)

Create-Job (Section 4.2.4)

创建作业(第4.2.4节)

Get-Printer-Attributes (Section 4.2.5)

获取打印机属性(第4.2.5节)

Get-Jobs (Section 4.2.6)

获得工作(第4.2.6节)

Pause-Printer (Section 4.2.7)

暂停打印机(第4.2.7节)

Resume-Printer (Section 4.2.8)

恢复打印机(第4.2.8节)

Purge-Jobs (Section 4.2.9)

清除作业(第4.2.9节)

The Job operations defined in this document are:

本文件中定义的作业操作包括:

Send-Document (Section 4.3.1)

发送文件(第4.3.1节)

Send-URI (Section 4.3.2)

发送URI(第4.3.2节)

Cancel-Job (Section 4.3.3)

取消作业(第4.3.3节)

Get-Job-Attributes (Section 4.3.4)

获取作业属性(第4.3.4节)

Hold-Job (Section 4.3.5)

停工(第4.3.5节)

Release-Job (Section 4.3.6)

发布作业(第4.3.6节)

Restart-Job (Section 4.3.7)

重新启动作业(第4.3.7节)

The Send-Document and Send-URI Job operations are used to add Documents to an existing Job created using the Create-Job operation.

发送文档和发送URI作业操作用于将文档添加到使用创建作业操作创建的现有作业中。

4.1. Common Semantics
4.1. 共同语义

All IPP operations require some common parameters and operation attributes. These common elements and their semantic characteristics are defined and described in more detail in the following sections.

所有IPP操作都需要一些通用参数和操作属性。这些常见元素及其语义特征将在以下章节中进行更详细的定义和描述。

4.1.1. Required Parameters
4.1.1. 所需参数

Every operation request contains the following REQUIRED parameters:

每个操作请求都包含以下必需参数:

o a "version-number",

o “版本号”,

o an "operation-id",

o “操作id”,

o a "request-id", and

o “请求id”,以及

o the attributes that are REQUIRED for that type of request.

o 该类型请求所需的属性。

Every operation response contains the following REQUIRED parameters:

每个操作响应包含以下所需参数:

o a "version-number",

o “版本号”,

o a "status-code",

o “状态代码”,

o the "request-id" that was supplied in the corresponding request, and

o 在相应请求中提供的“请求id”,以及

o the attributes that are REQUIRED for that type of response.

o 该类型响应所需的属性。

The Encoding and Transport document [RFC8010] defines special rules for the encoding of these parameters. All other operation elements are represented using the more generic encoding rules for attributes and groups of attributes.

编码和传输文档[RFC8010]定义了这些参数编码的特殊规则。所有其他操作元素都使用更通用的属性和属性组编码规则表示。

4.1.2. Operation IDs and Request IDs
4.1.2. 操作ID和请求ID

Each IPP operation request includes an identifying "operation-id" value. Valid values are defined in the "operations-supported" Printer attribute section (see Section 5.4.15). The Client specifies which operation is being requested by supplying the correct "operation-id" value.

每个IPP操作请求都包含一个标识“操作id”值。有效值在“支持的操作”打印机属性部分中定义(见第5.4.15节)。客户端通过提供正确的“操作id”值来指定请求的操作。

In addition, every invocation of an operation is identified by a "request-id" value. For each request, the Client chooses the "request-id", which MUST be an integer (possibly unique, depending on Client requirements) in the range from 1 to 2**31 - 1 (inclusive). This "request-id" allows Clients to manage multiple outstanding requests. The receiving IPP object (Printer, Job, etc.) copies all 32 bits of the Client-supplied "request-id" attribute into the response so that the Client can match the response with the correct outstanding request, even if the "request-id" is out of range. If the request is terminated before the complete "request-id" is received, the IPP object rejects the request and returns a response with a "request-id" of 0.

此外,操作的每次调用都由“请求id”值标识。对于每个请求,客户机选择“请求id”,该id必须是1到2**31-1(包括)范围内的整数(可能是唯一的,具体取决于客户要求)。此“请求id”允许客户端管理多个未完成的请求。接收IPP对象(打印机、作业等)将客户端提供的“请求id”属性的所有32位复制到响应中,以便客户端可以将响应与正确的未完成请求相匹配,即使“请求id”超出范围。如果在收到完整的“请求id”之前终止请求,IPP对象将拒绝该请求并返回“请求id”为0的响应。

Note: In some cases, the transport protocol underneath IPP might be a connection-oriented protocol that would make it impossible for a Client to receive responses in any order other than the order in which the corresponding requests were sent. In such cases, the "request-id" attribute would not be essential for correct protocol operation. However, in other transport mappings the operation responses could come back in any order, in which case the "request-id" is essential.

注意:在某些情况下,IPP下的传输协议可能是一种面向连接的协议,这使得客户端无法按照发送相应请求的顺序以外的任何顺序接收响应。在这种情况下,“请求id”属性对于正确的协议操作不是必需的。但是,在其他传输映射中,操作响应可以以任何顺序返回,在这种情况下,“请求id”是必不可少的。

4.1.3. Attributes
4.1.3. 属性

Operation requests and responses are both composed of groups of attributes and/or Document data. The attribute groups are:

操作请求和响应都由属性组和/或文档数据组成。属性组包括:

o Operation Attributes: These attributes are passed in the operation and affect the IPP object's behavior while processing the operation request, and they can affect other attributes or groups of attributes. Some operation attributes describe the Document data associated with the Print Job and are associated with new Job objects; however, most operation attributes do not persist beyond the life of the operation. The description of each operation attribute includes conformance statements indicating which

o 操作属性:这些属性在操作中传递,并在处理操作请求时影响IPP对象的行为,它们可以影响其他属性或属性组。一些操作属性描述与打印作业关联的文档数据,并与新作业对象关联;但是,大多数操作属性不会在操作的生命周期之后持续存在。每个操作属性的描述都包括一致性语句,指示

operation attributes are REQUIRED and which are OPTIONAL for an IPP object to support, as well as which attributes a Client MUST supply in a request and an IPP object MUST supply in a response.

操作属性是必需的,是IPP对象支持的可选属性,以及客户端必须在请求中提供哪些属性,IPP对象必须在响应中提供哪些属性。

o Job Template Attributes: These attributes affect the processing of a Job. A Client MAY supply Job Template attributes in a Job Creation request, and the receiving object MUST be prepared to receive all supported attributes. The Job object can later be queried to find out what Job Template attributes were originally requested in the Job Creation request, and such attributes are returned in the response as Job object attributes. The Printer object can be queried about its Job Template attributes to find out what type of Job processing capabilities are supported and/or what the default Job processing behaviors are, though such attributes are returned in the response as Printer object attributes. The "ipp-attribute-fidelity" operation attribute affects processing of all Client-supplied Job Template attributes -- see Section 4.2.1.1 and Appendix C for a full description of "ipp-attribute-fidelity" and its relationship to other attributes.

o 作业模板属性:这些属性影响作业的处理。客户端可以在作业创建请求中提供作业模板属性,并且接收对象必须准备好接收所有支持的属性。稍后可以查询作业对象,以了解在作业创建请求中最初请求了哪些作业模板属性,这些属性在响应中作为作业对象属性返回。可以查询打印机对象的作业模板属性,以了解支持哪种类型的作业处理功能和/或默认作业处理行为,尽管这些属性在响应中作为打印机对象属性返回。“ipp属性保真度”操作属性影响所有客户提供的作业模板属性的处理——有关“ipp属性保真度”及其与其他属性的关系的完整描述,请参见第4.2.1.1节和附录C。

o Job Object Attributes: These attributes are returned in response to a query operation directed at a Job object.

o 作业对象属性:这些属性是响应针对作业对象的查询操作而返回的。

o Printer Object Attributes: These attributes are returned in response to a query operation directed at a Printer object.

o 打印机对象属性:这些属性是响应针对打印机对象的查询操作而返回的。

o Unsupported Attributes: In a Job Creation request, the Client supplies a set of operation and Job Template attributes. If any of these attributes or their values are unsupported by the Printer object, the Printer object SHOULD return the set of unsupported attributes in the response. Section 4.1.7, Section 4.2.1.2, and Appendix C give a full description of how Job Template attributes supplied by the Client in a Job Creation request are processed by the Printer object and how unsupported attributes are returned to the Client. Because of extensibility, any IPP object might receive a request that contains new or unknown attributes or values for which it has no support. In such cases, the IPP object processes what it can and returns the unsupported attributes in the response. The Unsupported Attributes group is defined for all operation responses for returning unsupported attributes that the Client supplied in the request.

o 不支持的属性:在作业创建请求中,客户端提供一组操作和作业模板属性。如果打印机对象不支持这些属性或其值中的任何一个,则打印机对象应在响应中返回不支持的属性集。第4.1.7节、第4.2.1.2节和附录C全面描述了打印机对象如何处理客户机在作业创建请求中提供的作业模板属性,以及如何将不支持的属性返回给客户机。由于可扩展性,任何IPP对象都可能接收到包含其不支持的新的或未知的属性或值的请求。在这种情况下,IPP对象将尽其所能处理并在响应中返回不受支持的属性。为返回客户端在请求中提供的不支持的属性的所有操作响应定义了Unsupported Attributes(不支持的属性)组。

Later in this section, each operation is formally defined by identifying the allowed and expected groups of attributes for each request and response. The model identifies a specific order for each group in each request or response, but the attributes within each group can be in any order, unless specified otherwise.

在本节后面的部分中,通过为每个请求和响应标识允许的和预期的属性组来正式定义每个操作。该模型为每个请求或响应中的每个组标识特定的顺序,但除非另有规定,否则每个组中的属性可以是任意顺序。

The attributes within a group MUST be unique; if an attribute with the same name occurs more than once, the group is malformed. Clients MUST NOT submit such malformed requests, and Printers MUST NOT return such malformed responses. If such a malformed request is submitted to a Printer, the Printer MUST either (1) reject the request with the 'client-error-bad-request' status-code (RECOMMENDED -- see Appendix B.1.4.1) or (2) process the request normally after selecting only one of the attribute instances, depending on implementation. Which attribute is selected when there are duplicate attributes depends on implementation. The IPP Printer MUST NOT use the values from more than one such duplicate attribute instance.

组内的属性必须是唯一的;如果具有相同名称的属性多次出现,则该组的格式不正确。客户端不得提交此类格式错误的请求,打印机不得返回此类格式错误的响应。如果将这种格式错误的请求提交给打印机,打印机必须(1)使用“客户端错误错误请求”状态代码拒绝请求(推荐-参见附录B.1.4.1)或(2)根据实现情况,在仅选择一个属性实例后正常处理请求。存在重复属性时选择哪个属性取决于实现。IPP打印机不得使用来自多个此类重复属性实例的值。

Each attribute definition includes the attribute's name followed by the name of its attribute syntax(es) in parentheses. In addition, each 'integer' attribute can be followed by the allowed range in parentheses, (m:n), for values of that attribute. Each 'text' or 'name' attribute can be followed by the maximum size in octets in parentheses, (size), for values of that attribute. For more details on attribute syntax notation, see the descriptions of these attribute syntaxes in Section 5.1.

每个属性定义都包含属性名称,后跟括号中的属性语法名称。此外,对于每个“整数”属性的值,可以在括号中后跟允许的范围(m:n)。每个“text”或“name”属性后面都可以跟在括号中的最大大小(以八位字节为单位)后面,表示该属性的值。有关属性语法表示法的更多详细信息,请参阅第5.1节中对这些属性语法的描述。

Note: Document data included in the operation is not strictly an attribute, but it is treated as a special attribute group for ordering purposes. The only operations defined in this document that support supplying the Document data within an operation request are Print-Job and Send-Document. There are no operations defined in this document whose responses include Document data.

注意:操作中包含的文档数据严格来说不是一个属性,但出于排序目的,它被视为一个特殊的属性组。本文档中定义的唯一支持在操作请求中提供文档数据的操作是打印作业和发送文档。此文档中未定义响应包含文档数据的操作。

Some operations are REQUIRED for IPP objects to support; the others are OPTIONAL (see Section 6.2.2). Therefore, before using an OPTIONAL operation, a Client SHOULD first use the REQUIRED Get-Printer-Attributes operation to query the Printer's "operations-supported" attribute in order to determine which OPTIONAL operations are actually supported. The Client SHOULD NOT use an OPTIONAL operation that is not supported. When an IPP object receives a request to perform an operation it does not support, it MUST return the 'server-error-operation-not-supported' status-code (see Appendix B.1.5.2). An IPP object is non-conformant if it does not support a REQUIRED operation.

IPP对象需要支持一些操作;其他是可选的(见第6.2.2节)。因此,在使用可选操作之前,客户端应首先使用所需的“获取打印机属性”操作来查询打印机的“支持的操作”属性,以确定实际支持哪些可选操作。客户端不应使用不受支持的可选操作。当IPP对象收到执行其不支持的操作的请求时,必须返回“服务器错误操作不支持”状态代码(见附录B.1.5.2)。如果IPP对象不支持所需的操作,则它是不一致的。

4.1.4. Character Set and Natural Language Operation Attributes
4.1.4. 字符集与自然语言操作属性

Some Job and Printer attributes have values that are text strings and names intended for human understanding rather than machine understanding (see the 'text' and 'name' attribute syntax descriptions in Section 5.1). The following sections describe two special operation attributes called "attributes-charset" and "attributes-natural-language" whose values are used when interpreting

某些作业和打印机属性的值是文本字符串和名称,用于人类理解而不是机器理解(请参阅第5.1节中的“文本”和“名称”属性语法描述)。以下各节描述了两个特殊的操作属性,分别称为“attributes charset”和“attributes natural language”,其值在解释时使用

other attributes using the 'text' and 'name' attribute syntaxes. For Job Creation operations, the IPP Printer implementation also saves these two attributes with the new Job object as Job Status attributes.

使用“text”和“name”属性语法的其他属性。对于作业创建操作,IPP打印机实现还将这两个属性与新作业对象一起保存为作业状态属性。

The "attributes-charset" and "attributes-natural-language" attributes MUST be the first two attributes in every IPP request and response, as part of the initial Operation Attributes group of the IPP message. The "attributes-charset" attribute MUST be the first attribute in the group, and the "attributes-natural-language" attribute MUST be the second attribute in the group.

“attributes charset”和“attributes natural language”属性必须是每个IPP请求和响应中的前两个属性,作为IPP消息的初始操作属性组的一部分。“attributes charset”属性必须是组中的第一个属性,“attributes natural language”属性必须是组中的第二个属性。

For the sake of brevity in this document, these operation attribute descriptions are not repeated with every operation request and response but instead have a reference back to this section.

为了在本文档中简洁起见,这些操作属性描述不会在每个操作请求和响应中重复,而是引用本节。

4.1.4.1. Request Operation Attributes
4.1.4.1. 请求操作属性

The Client MUST supply and the Printer object MUST support the following REQUIRED operation attributes in every IPP operation request:

在每个IPP操作请求中,客户端必须提供且打印机对象必须支持以下必需的操作属性:

"attributes-charset" (charset):

“属性字符集”(字符集):

This operation attribute identifies the charset (coded character set and encoding method) used by any 'text' and 'name' attributes that the Client is supplying in this request. It also identifies the charset that the Printer object MUST use (if supported) for all 'text' and 'name' attributes and status messages that the Printer object returns in the response to this request. See Sections 5.1.2 and 5.1.3 for the definitions of the 'text' and 'name' attribute syntaxes.

此操作属性标识客户端在此请求中提供的任何“文本”和“名称”属性所使用的字符集(编码字符集和编码方法)。它还标识打印机对象在响应此请求时返回的所有“文本”和“名称”属性以及状态消息必须使用(如果支持)的字符集。有关“文本”和“名称”属性语法的定义,请参见第5.1.2节和第5.1.3节。

All Clients and IPP objects MUST support the 'utf-8' charset [RFC3629] and MAY support additional charsets, provided that they are registered with IANA [RFC2978] [IANA-CS]. If the Printer object does not support the Client-supplied charset value, the Printer object MUST reject the request, set the "attributes-charset" to 'utf-8' in the response, and return the 'client-error-charset-not-supported' status-code and any 'text' or 'name' attributes using the 'utf-8' charset. The Printer MAY return any attributes in the Unsupported Attributes group (see Sections 4.1.7 and 4.2.1.2). The Printer object MUST indicate the charset(s) supported as the values of the "charset-supported" Printer attribute (see Section 5.4.18), so that the Client can query to determine which charset(s) is supported.

所有客户端和IPP对象必须支持“utf-8”字符集[RFC3629],并且可以支持其他字符集,前提是它们已在IANA[RFC2978][IANA-CS]注册。如果打印机对象不支持客户端提供的字符集值,则打印机对象必须拒绝请求,在响应中将“attributes charset”设置为“utf-8”,并使用“utf-8”字符集返回“Client error charset not supported”(客户端错误字符集不受支持)状态代码以及任何“text”(文本)或“name”(名称)属性。打印机可能会返回“不支持的属性”组中的任何属性(请参阅第4.1.7节和第4.2.1.2节)。打印机对象必须指明支持的字符集作为“支持的字符集”打印机属性的值(参见第5.4.18节),以便客户端可以查询以确定支持的字符集。

Note to Client implementors: Since IPP objects are only required to support the 'utf-8' charset, in order to maximize interoperability with multiple IPP object implementations, a Client SHOULD supply 'utf-8' in the "attributes-charset" operation attribute, even though the Client is only passing and able to present a simpler charset, such as US-ASCII [RFC20] or ISO-8859-1 [ISO8859-1]. Then the Client will have to filter out, perform charset conversion on, or replace those characters that are returned in the response that it cannot present to its user. On the other hand, if both the Client and the IPP objects also support a charset in common besides 'utf-8', the Client can use that charset in order to avoid charset conversion or data loss.

客户机实现者注意:由于IPP对象只需要支持“utf-8”字符集,为了最大限度地提高与多个IPP对象实现的互操作性,客户机应在“attributes charset”操作属性中提供“utf-8”,即使客户机只传递并能够呈现更简单的字符集,例如US-ASCII[RFC20]或ISO-8859-1[ISO8859-1]。然后,客户机必须过滤掉、对其执行字符集转换,或者替换响应中返回的无法呈现给用户的字符。另一方面,如果客户端和IPP对象都支持除“utf-8”之外的公共字符集,则客户端可以使用该字符集以避免字符集转换或数据丢失。

See the 'charset' attribute syntax description in Section 5.1.8 for the syntax and semantic interpretation of the values of this attribute and for example values.

有关此属性值和示例值的语法和语义解释,请参见第5.1.8节中的“字符集”属性语法说明。

"attributes-natural-language" (naturalLanguage):

“自然语言属性”(自然语言):

This operation attribute identifies the natural language [RFC5646] used by any 'text' and 'name' attributes that the Client is supplying in this request. This attribute also identifies the natural language that the Printer object SHOULD use for all 'text' and 'name' attributes and status messages that the Printer object returns in the response to this request. See the 'naturalLanguage' attribute syntax description in Section 5.1.9 for the syntax and semantic interpretation of the values of this attribute and for example values.

此操作属性标识客户端在此请求中提供的任何“文本”和“名称”属性所使用的自然语言[RFC5646]。此属性还标识打印机对象应用于打印机对象在响应此请求时返回的所有“文本”和“名称”属性以及状态消息的自然语言。有关该属性值和示例值的语法和语义解释,请参见第5.1.9节中的“naturalLanguage”属性语法说明。

There are no REQUIRED natural languages required for the Printer object to support. However, the Printer's "generated-natural-language-supported" attribute identifies the natural languages supported by the Printer object and any contained Jobs for all text strings generated by the IPP object. A Client MAY query this attribute to determine which natural language(s) is supported for generated messages.

打印机对象不需要支持所需的自然语言。但是,打印机的“generated natural language supported”属性标识打印机对象支持的自然语言以及IPP对象生成的所有文本字符串所包含的任何作业。客户端可以查询此属性以确定生成的消息支持哪种自然语言。

For any of the attributes for which the Printer object generates text, i.e., for the "job-state-message", "printer-state-message", and status messages (see Section 4.1.6), the Printer object MUST be able to generate these text strings in any of its supported natural languages. If the Client requests a natural language that is not supported, the Printer object MUST return these generated messages in the Printer's configured natural language as specified by the Printer's "natural-language-configured" attribute (see Section 5.4.19).

对于打印机对象生成文本的任何属性,即“作业状态消息”、“打印机状态消息”和状态消息(参见第4.1.6节),打印机对象必须能够以其支持的任何自然语言生成这些文本字符串。如果客户端请求不受支持的自然语言,则打印机对象必须按照打印机的“自然语言配置”属性(见第5.4.19节)指定的打印机配置自然语言返回这些生成的消息。

For other 'text' and 'name' attributes supplied by the Client, authentication system, Operator, Administrator, or manufacturer (i.e., for "job-originating-user-name", "printer-name" (name), "printer-location" (text), "printer-info" (text), and "printer-make-and-model" (text)), the Printer object is only required to support the configured natural language of the Printer identified by the Printer's "natural-language-configured" attribute, though support of additional natural languages for these attributes is permitted.

对于客户、认证系统、操作员、管理员或制造商提供的其他“文本”和“名称”属性(即“作业发起用户名”、“打印机名称”(名称)、“打印机位置”(文本)、“打印机信息”(文本)和“打印机品牌和型号”(文本)),打印机对象仅需要支持由打印机的“自然语言配置”属性标识的打印机的已配置自然语言,但允许支持这些属性的其他自然语言。

For any 'text' or 'name' attribute in the request that is in a different natural language than the value supplied in the "attributes-natural-language" operation attribute, the Client MUST use the Natural Language Override mechanism (see Sections 5.1.2.2 and 5.1.3.2) for each such attribute value supplied. The Client MAY use the Natural Language Override mechanism redundantly, i.e., use it even when the value is in the same natural language as the value supplied in the "attributes-natural-language" operation attribute of the request.

对于请求中使用与“属性-自然语言”操作属性中提供的值不同的自然语言的任何“文本”或“名称”属性,客户端必须为提供的每个此类属性值使用自然语言覆盖机制(见第5.1.2.2节和第5.1.3.2节)。客户端可以冗余地使用自然语言覆盖机制,即,即使该值与请求的“attributes Natural Language”操作属性中提供的值使用相同的自然语言,也可以使用该机制。

The IPP object MUST accept any natural language and any Natural Language Override, whether the IPP object supports that natural language or not (and independent of the value of the "ipp-attribute-fidelity" operation attribute). That is, the IPP object accepts all Client-supplied values no matter what the values are in the Printer's "generated-natural-language-supported" attribute. That attribute, "generated-natural-language-supported", only applies to generated messages, not Client-supplied messages. The IPP object MUST remember that natural language for all Client-supplied attributes, and when returning those attributes in response to a query, the IPP object MUST indicate that natural language.

IPP对象必须接受任何自然语言和任何自然语言覆盖,无论IPP对象是否支持该自然语言(且独立于“IPP属性保真度”操作属性的值)。也就是说,IPP对象接受所有客户端提供的值,无论这些值在打印机的“支持的生成的自然语言”属性中是什么。该属性“支持生成的自然语言”仅适用于生成的消息,而不适用于客户端提供的消息。IPP对象必须记住所有客户端提供的属性的自然语言,并且在返回这些属性以响应查询时,IPP对象必须指示该自然语言。

Each value whose attribute syntax type is 'text' or 'name' (see Sections 5.1.2 and 5.1.3) has an Associated Natural Language. This document does not specify how this association is stored in a Printer or Job object. When such a value is encoded in a request or response, the natural language is either implicit or explicit:

属性语法类型为“text”或“name”的每个值(参见第5.1.2节和第5.1.3节)都有一个相关的自然语言。本文档未指定此关联在打印机或作业对象中的存储方式。当在请求或响应中对此类值进行编码时,自然语言是隐式或显式的:

* In the implicit case, the value contains only the text/name value, and the language is specified by the "attributes-natural-language" operation attribute in the request or response (see Sections 5.1.2.1 and 5.1.3.1).

* 在隐式情况下,该值仅包含文本/名称值,语言由请求或响应中的“属性-自然语言”操作属性指定(见第5.1.2.1和5.1.3.1节)。

* In the explicit case (also known as the Natural Language Override case), the value contains both the language and the text/name value (see Sections 5.1.2.2 and 5.1.3.2).

* 在显式情况下(也称为自然语言覆盖情况),该值同时包含语言和文本/名称值(见第5.1.2.2节和第5.1.3.2节)。

For example, the "job-name" attribute MAY be supplied by the Client in a Job Creation request. The text value for this attribute will be in the natural language identified by the "attribute-natural-language" attribute, or if different, as identified by the Natural Language Override mechanism. If supplied, the IPP object will use the value of the "job-name" attribute to populate the Job's "job-name" attribute. Whenever any Client queries the Job's "job-name" attribute, the IPP object returns the attribute as stored and uses the Natural Language Override mechanism to specify the natural language, if it is different from that reported in the "attributes-natural-language" operation attribute of the response. The IPP object MAY use the Natural Language Override mechanism redundantly, i.e., use it even when the value is in the same natural language as the value supplied in the "attributes-natural-language" operation attribute of the response.

例如,“作业名称”属性可以由客户端在作业创建请求中提供。此属性的文本值将使用“attribute natural language”属性标识的自然语言,如果不同,则使用自然语言覆盖机制标识的自然语言。如果提供,IPP对象将使用“作业名称”属性的值填充作业的“作业名称”属性。每当任何客户端查询作业的“作业名称”属性时,IPP对象将返回存储的属性,并使用自然语言覆盖机制指定自然语言(如果它与响应的“属性-自然语言”操作属性中报告的不同)。IPP对象可以冗余地使用自然语言覆盖机制,即,即使该值与响应的“attributes Natural Language”操作属性中提供的值使用相同的自然语言,也可以使用该机制。

An IPP object MUST NOT reject a request based on a supplied natural language in an "attributes-natural-language" operation attribute or in any attribute that uses the Natural Language Override.

IPP对象不得拒绝基于“attributes natural language”操作属性或使用自然语言覆盖的任何属性中提供的自然语言的请求。

Note: Supplying 'text' or 'name' attributes with an incompatible combination of natural language and charset can cause undesired behavior. For example, suppose a Printer supports charsets 'utf-8', 'iso-8859-1', and 'iso-8859-7'. Suppose also that it supports natural languages 'en' (English), 'fr' (French), and 'el' (Greek). Although the Printer supports the charset 'iso-8859-1' and natural language 'el', it probably does not support the combination of Greek text strings using the 'iso-8859-1' charset. The Printer handles this apparent incompatibility differently, depending on the context in which it occurs:

注意:使用自然语言和字符集的不兼容组合提供“text”或“name”属性可能会导致不期望的行为。例如,假设打印机支持字符集“utf-8”、“iso-8859-1”和“iso-8859-7”。还假设它支持自然语言“en”(英语)、“fr”(法语)和“el”(希腊语)。尽管打印机支持字符集“iso-8859-1”和自然语言“el”,但它可能不支持使用“iso-8859-1”字符集组合希腊文本字符串。打印机会根据出现这种明显不兼容的上下文,以不同的方式处理这种不兼容:

* In a Job Creation request: If the Client supplies a 'text' or 'name' attribute (for example, the "job-name" operation attribute) that uses an apparently incompatible combination, it is a Client choice that does not affect the Printer or its correct operation. Therefore, the Printer simply accepts the Client-supplied value, stores it with the Job, and responds back with the same combination whenever the Client (or any Client) queries for that attribute.

* 在作业创建请求中:如果客户端提供使用明显不兼容组合的“文本”或“名称”属性(例如,“作业名称”操作属性),则客户端选择不会影响打印机或其正确操作。因此,打印机只接受客户机提供的值,将其与作业一起存储,并在客户机(或任何客户机)查询该属性时以相同的组合进行响应。

* In a query-type operation, like Get-Printer-Attributes: If the Client requests an apparently incompatible combination, the Printer responds (as described in Section 4.1.4.2) using the Printer's configured natural language rather than the natural language requested by the Client.

* 在查询类型操作中,如获取打印机属性:如果客户端请求明显不兼容的组合,打印机将使用打印机配置的自然语言而不是客户端请求的自然语言进行响应(如第4.1.4.2节所述)。

In either case, the Printer does not reject the request because of the apparent incompatibility. The potential incompatible combination of charset and natural language can occur either at the global operation level or at the Natural Language Override attribute-by-attribute level. In addition, since the response always includes explicit charset and natural language information, there is never any question or ambiguity in how the Client interprets the response.

无论哪种情况,打印机都不会因为明显的不兼容而拒绝请求。字符集和自然语言的潜在不兼容组合可能发生在全局操作级别或自然语言逐个属性覆盖级别。此外,由于响应始终包含明确的字符集和自然语言信息,因此在客户机如何解释响应方面从来没有任何问题或歧义。

4.1.4.2. Response Operation Attributes
4.1.4.2. 响应操作属性

The Printer MUST supply and the Client MUST support the following REQUIRED operation attributes in every IPP/1.1 operation response:

打印机必须提供且客户机必须在每个IPP/1.1操作响应中支持以下所需的操作属性:

"attributes-charset" (charset):

“属性字符集”(字符集):

This operation attribute identifies the charset used by any 'text' and 'name' attributes that the Printer object is returning in this response. The value in this response MUST be the same value as the "attributes-charset" operation attribute supplied by the Client in the request. If this is not possible (i.e., the charset requested is not supported), the request would have been rejected. See "attributes-charset" described in Section 4.1.4.1 above.

此操作属性标识打印机对象在此响应中返回的任何“文本”和“名称”属性所使用的字符集。此响应中的值必须与客户端在请求中提供的“attributes charset”操作属性的值相同。如果这是不可能的(即,请求的字符集不受支持),则请求将被拒绝。见上文第4.1.4.1节所述的“属性字符集”。

If the Printer object supports more than just the 'utf-8' charset, the Printer object MUST be able to perform code conversion between each of the charsets supported on a "highest fidelity possible" basis in order to return the 'text' and 'name' attributes in the charset requested by the Client. However, some information loss can occur during the charset conversion, depending on the charsets involved. For example, depending on implementation, the Printer object can convert from a UTF-8 'a' to a US-ASCII 'a' (with no loss of information); from an ISO Latin 1 CAPITAL LETTER A WITH ACUTE ACCENT to US-ASCII 'A' (losing the accent); or from a UTF-8 Japanese Kanji character to some ISO Latin 1 error character indication such as '?', a decimal code equivalent, or the absence of a character.

如果打印机对象支持的不仅仅是“utf-8”字符集,则打印机对象必须能够在“尽可能高保真”的基础上支持的每个字符集之间执行代码转换,以便在客户端请求的字符集中返回“text”和“name”属性。但是,根据所涉及的字符集,在字符集转换过程中可能会发生一些信息丢失。例如,根据实现,打印机对象可以从UTF-8“a”转换为US-ASCII“a”(不丢失信息);从带有尖锐重音的ISO拉丁字母1大写字母A到US-ASCII“A”(失去重音);或从UTF-8日文汉字字符到某些ISO拉丁1错误字符指示,如“?”、十进制代码等效或缺少字符。

Whether an implementation that supports more than one charset stores the data in the charset supplied by the Client or performs code conversion to one of the other supported charsets depends on implementation. The strategy should try to minimize loss of information during code conversion. On each response, such an implementation converts from its internal charset to that requested.

支持多个字符集的实现是将数据存储在客户机提供的字符集中,还是执行到其他受支持字符集之一的代码转换,取决于实现。该策略应尽量减少代码转换过程中的信息丢失。在每个响应上,这样的实现将从其内部字符集转换为请求的字符集。

"attributes-natural-language" (naturalLanguage):

“自然语言属性”(自然语言):

This operation attribute identifies the natural language used by any 'text' and 'name' attributes that the IPP object is returning in this response. Unlike the "attributes-charset" operation attribute, the IPP object MAY return the natural language of the Job object or the Printer's configured natural language as identified by the Printer's "natural-language-configured" attribute, rather than the natural language supplied by the Client. For any 'text' or 'name' attribute or status message in the response that is in a different natural language than the value returned in the "attributes-natural-language" operation attribute, the IPP object MUST use the Natural Language Override mechanism (see Sections 5.1.2.2 and 5.1.3.2) on each attribute value returned. The IPP object MAY use the Natural Language Override mechanism redundantly, i.e., use it even when the value is in the same natural language as the value supplied in the "attributes-natural-language" operation attribute of the response.

此操作属性标识IPP对象在此响应中返回的任何“文本”和“名称”属性所使用的自然语言。与“attributes charset”操作属性不同,IPP对象可能返回作业对象的自然语言或打印机的“natural language configured”属性标识的打印机配置的自然语言,而不是客户端提供的自然语言。对于响应中的任何“文本”或“名称”属性或状态消息,其自然语言与“属性-自然语言”操作属性中返回的值不同,IPP对象必须对返回的每个属性值使用自然语言覆盖机制(见第5.1.2.2节和第5.1.3.2节)。IPP对象可以冗余地使用自然语言覆盖机制,即,即使该值与响应的“attributes Natural Language”操作属性中提供的值使用相同的自然语言,也可以使用该机制。

4.1.5. Operation Targets
4.1.5. 经营目标

All IPP operations are directed at IPP objects. For Printer operations, the operation is always directed at a Printer object using one of its URIs, i.e., one of the values in the Printer's "printer-uri-supported" attribute. Even if the Printer object supports more than one URI, the Client supplies only one URI as the target of the operation. The Client identifies the target object by supplying the correct URI in the "printer-uri" operation attribute.

所有IPP操作都针对IPP对象。对于打印机操作,操作始终使用其uri之一(即打印机的“支持的打印机uri”属性中的一个值)指向打印机对象。即使打印机对象支持多个URI,客户端也只提供一个URI作为操作的目标。客户端通过在“打印机URI”操作属性中提供正确的URI来标识目标对象。

For Job operations, the operation is directed at either:

对于作业操作,该操作针对以下任一操作:

o The Printer object that created the Job object using the Printer object's URI and the Job's numeric identifier (Job ID). Since the Printer object that created the Job object generated the Job ID, it MUST be able to correctly associate the Client-supplied Job ID with the correct Job object. The Client supplies the Printer's URI in the "printer-uri" operation attribute and the Job ID in the "job-id" operation attribute.

o 使用打印机对象的URI和作业的数字标识符(作业ID)创建作业对象的打印机对象。由于创建作业对象的打印机对象生成了作业ID,因此它必须能够将客户端提供的作业ID与正确的作业对象正确关联。客户端在“打印机URI”操作属性中提供打印机的URI,在“作业ID”操作属性中提供作业ID。

o The Job object itself using the Job's URI. In this case, the Client identifies the target object by supplying the correct URI in the "job-uri" (uri) operation attribute (Section 5.3.2).

o 作业对象本身使用作业的URI。在这种情况下,客户端通过在“作业URI”(URI)操作属性(第5.3.2节)中提供正确的URI来标识目标对象。

Clients SHOULD send the "printer-uri" and "job-id" operation attributes in Job operations.

客户端应在作业操作中发送“打印机uri”和“作业id”操作属性。

If the operation is directed at the Job object directly using the Job's URI, the Client MUST NOT include the redundant "job-id" operation attribute.

如果操作直接使用作业的URI指向作业对象,则客户端不得包含冗余的“作业id”操作属性。

The operation target attributes are REQUIRED operation attributes that are included in every operation request. Like the charset and natural language attributes (see Section 4.1.4), the operation target attributes are specially ordered operation attributes. In all cases, the operation target attributes immediately follow the "attributes-charset" and "attributes-natural-language" attributes within the Operation Attributes group; however, the specific ordering rules are as follows:

操作目标属性是包含在每个操作请求中的必需操作属性。与字符集和自然语言属性(见第4.1.4节)一样,操作目标属性也是经过特殊排序的操作属性。在所有情况下,操作目标属性都紧跟在操作属性组中的“属性字符集”和“属性自然语言”属性之后;但是,具体的订购规则如下:

o In the case where there is only one operation target attribute (i.e., either only the "printer-uri" attribute or only the "job-uri" attribute), that attribute MUST be the third attribute in the Operation Attributes group.

o 如果只有一个操作目标属性(即,只有“打印机uri”属性或只有“作业uri”属性),则该属性必须是操作属性组中的第三个属性。

o In the case where Job operations use two operation target attributes (i.e., the "printer-uri" and "job-id" attributes), the "printer-uri" attribute MUST be the third attribute and the "job-id" attribute MUST be the fourth attribute.

o 在作业操作使用两个操作目标属性(即“打印机uri”和“作业id”属性)的情况下,“打印机uri”属性必须是第三个属性,“作业id”属性必须是第四个属性。

In all cases, the target URIs contained within the body of IPP operation requests and responses MUST be in absolute format rather than relative format (a relative URL identifies a resource with the scope of the HTTP server, but does not include scheme, host, or port).

在所有情况下,IPP操作请求和响应主体中包含的目标URI必须是绝对格式,而不是相对格式(相对URL标识HTTP服务器范围内的资源,但不包括方案、主机或端口)。

The following rules apply to the use of port numbers in URIs that identify IPP objects:

以下规则适用于在标识IPP对象的URI中使用端口号:

1. If the URI scheme allows the port number to be explicitly included in the URI string, and a port number is specified within the URI, then that port number MUST be used by the Client to contact the IPP object.

1. 如果URI方案允许在URI字符串中显式包含端口号,并且在URI中指定了端口号,则客户端必须使用该端口号来联系IPP对象。

2. If the URI scheme allows the port number to be explicitly included in the URI string, and a port number is not specified within the URI, then the default port number implied by that URI scheme MUST be used by the Client to contact the IPP object.

2. 如果URI方案允许在URI字符串中显式包含端口号,并且URI中未指定端口号,则客户端必须使用该URI方案暗示的默认端口号来联系IPP对象。

3. If the URI scheme does not allow an explicit port number to be specified within the URI, then the default port number implied by that URI MUST be used by the Client to contact the IPP object.

3. 如果URI方案不允许在URI中指定显式端口号,则客户端必须使用该URI暗示的默认端口号来联系IPP对象。

Note: "Internet Printing Protocol/1.1: IPP URL Scheme" [RFC3510] and "Internet Printing Protocol (IPP) over HTTPS Transport Binding and the 'ipps' URI Scheme" [RFC7472] define the mapping of IPP onto HTTP and HTTPS, respectively, and define and register a default port number.

注:“Internet打印协议/1.1:IPP URL方案”[RFC3510]和“HTTPS传输绑定上的Internet打印协议(IPP)和“IPP”URI方案”[RFC7472]分别定义IPP到HTTP和HTTPS的映射,并定义和注册默认端口号。

4.1.6. Operation Response Status-Code Values and Status Messages
4.1.6. 操作响应状态代码值和状态消息

Every operation response includes a REQUIRED "status-code" parameter, SHOULD include the "status-message" operation attribute, and MAY include the "detailed-status-message" operation attribute. The Print-URI and Send-URI response MAY also include the "document-access-error" operation attribute.

每个操作响应包括一个必需的“状态代码”参数,应包括“状态消息”操作属性,并可能包括“详细状态消息”操作属性。打印URI和发送URI响应还可能包括“文档访问错误”操作属性。

4.1.6.1. "status-code" (type2 enum)
4.1.6.1. “状态代码”(类型2枚举)

The REQUIRED "status-code" parameter provides information on the processing of a request.

所需的“状态代码”参数提供有关请求处理的信息。

The status-code is intended for use by automata. A Client implementation of IPP SHOULD convert status-code values into any localized message that has semantic meaning to the End User.

状态代码供自动机使用。IPP的客户端实现应将状态代码值转换为对最终用户具有语义意义的任何本地化消息。

The "status-code" value is a numeric value that has semantic meaning. The "status-code" syntax is similar to a "type2 enum" (see Section 5.1 ("Attribute Syntaxes")), except that values can range only from 0x0000 to 0x7fff. Appendix B describes and assigns the status-code values, and suggests a corresponding status message for each status-code for use by the Client when the user's natural language is English.

“状态代码”值是具有语义意义的数值。“状态代码”语法类似于“type2枚举”(参见第5.1节(“属性语法”)),只是值的范围只能从0x0000到0x7fff。附录B描述并分配状态代码值,并建议在用户的自然语言为英语时,客户端使用每个状态代码的相应状态消息。

If the Printer performs an operation with no errors and it encounters no problems, it MUST return the status-code 'successful-ok' in the response. See Appendix B.

如果打印机执行的操作没有错误且没有遇到问题,则必须在响应中返回状态代码“successful ok”。见附录B。

If the Client supplies unsupported values for the following parameters or operation attributes, the Printer object MUST reject the operation, MAY return the unsupported attribute value in the Unsupported Attributes group, and MUST return the indicated status-code:

如果客户端为以下参数或操作属性提供了不支持的值,则打印机对象必须拒绝该操作,可以在“不支持的属性”组中返回不支持的属性值,并且必须返回指示的状态代码:

   +---------------------+---------------------------------------------+
   | Parameter/Attribute | Status-Code                                 |
   +---------------------+---------------------------------------------+
   | version-number      | server-error-version-not-supported          |
   +---------------------+---------------------------------------------+
   | operation-id        | server-error-operation-not-supported        |
   +---------------------+---------------------------------------------+
   | attributes-charset  | client-error-charset-not-supported          |
   +---------------------+---------------------------------------------+
   | compression         | client-error-compression-not-supported      |
   +---------------------+---------------------------------------------+
   | document-format     | client-error-document-format-not-supported  |
   +---------------------+---------------------------------------------+
   | document-uri        | client-error-uri-scheme-not-supported,      |
   |                     | client-error-document-access-error          |
   +---------------------+---------------------------------------------+
        
   +---------------------+---------------------------------------------+
   | Parameter/Attribute | Status-Code                                 |
   +---------------------+---------------------------------------------+
   | version-number      | server-error-version-not-supported          |
   +---------------------+---------------------------------------------+
   | operation-id        | server-error-operation-not-supported        |
   +---------------------+---------------------------------------------+
   | attributes-charset  | client-error-charset-not-supported          |
   +---------------------+---------------------------------------------+
   | compression         | client-error-compression-not-supported      |
   +---------------------+---------------------------------------------+
   | document-format     | client-error-document-format-not-supported  |
   +---------------------+---------------------------------------------+
   | document-uri        | client-error-uri-scheme-not-supported,      |
   |                     | client-error-document-access-error          |
   +---------------------+---------------------------------------------+
        

Table 1: Status-Code Values for All Requests

表1:所有请求的状态代码值

If the Client supplies unsupported values for other attributes, or unsupported attributes, the Printer returns the status-code defined in Section 4.1.7 ("Unsupported Attributes").

如果客户端为其他属性提供不支持的值,或不支持的属性,打印机将返回第4.1.7节(“不支持的属性”)中定义的状态代码。

4.1.6.2. "status-message" (text(255))
4.1.6.2. “状态信息”(文本(255))

The RECOMMENDED "status-message" operation attribute provides a short textual description of the status of the operation. The "status-message" attribute's syntax is "text(255)", so the maximum length is 255 octets (see Section 5.1.2). The status message is intended for the human End User. If a response does include a "status-message" attribute, an IPP Client can examine or display the messages in some implementation-specific manner. The "status-message" attribute is especially useful for a later version of a Printer to return as supplemental information for the human user, to accompany a status-code that an earlier version of a Client might not understand.

建议的“状态消息”操作属性提供操作状态的简短文本描述。“状态消息”属性的语法为“文本(255)”,因此最大长度为255个八位字节(见第5.1.2节)。状态消息是针对人类最终用户的。如果响应确实包含“状态消息”属性,则IPP客户端可以以某种特定于实现的方式检查或显示消息。“status message”(状态消息)属性对于更高版本的打印机特别有用,它可以作为人类用户的补充信息返回,以伴随早期版本的客户端可能无法理解的状态代码。

If the Printer supports the "status-message" operation attribute, it MUST be able to generate this message in any of the natural languages identified by the Printer's "generated-natural-language-supported" attribute and MUST honor any supported value for the "attributes-natural-language" operation attribute (Section 4.1.4.1)

如果打印机支持“状态消息”操作属性,则必须能够以打印机的“生成的支持的自然语言”属性标识的任何自然语言生成此消息,并且必须遵守“属性-自然语言”操作属性的任何支持值(第4.1.4.1节)

of the Client request. Appendix B suggests the text for the status message returned by the Printer for use with the English natural language.

客户端请求的。附录B建议使用打印机返回的状态消息文本,以便与英语自然语言一起使用。

As described in Section 4.1.4.1, for any returned 'text' attribute, if there is a choice for generating this message, the Printer uses the natural language indicated by the value of "attributes-natural-language" in the Client request, if supported; otherwise, the Printer uses the value in the Printer's own "natural-language-configured" attribute.

如第4.1.4.1节所述,对于任何返回的“文本”属性,如果可以选择生成此消息,打印机将使用客户端请求中“属性自然语言”值指示的自然语言(如果支持);否则,打印机将使用打印机自己的“自然语言配置”属性中的值。

If the Printer supports the "status-message" operation attribute, it SHOULD use the REQUIRED 'utf-8' charset to return a status message for the following error status-code values (see Appendix B): 'client-error-bad-request', 'client-error-charset-not-supported', 'server-error-internal-error', 'server-error-operation-not-supported', and 'server-error-version-not-supported'. In this case, it MUST set the value of the "attributes-charset" operation attribute to 'utf-8' in the error response.

如果打印机支持“状态消息”操作属性,则应使用所需的“utf-8”字符集为以下错误状态代码值返回状态消息(请参阅附录B):“客户端错误错误请求”、“客户端错误字符集不受支持”、“服务器错误内部错误”、“服务器错误操作不受支持”,和“不支持服务器错误版本”。在这种情况下,它必须在错误响应中将“attributes charset”操作属性的值设置为“utf-8”。

4.1.6.3. "detailed-status-message" (text(MAX))
4.1.6.3. “详细状态消息”(文本(最大值))

The OPTIONAL "detailed-status-message" operation attribute provides additional more-detailed technical and implementation-specific information about the operation for Administrators or other experienced technical people. The "detailed-status-message" attribute's syntax is "text(MAX)", so the maximum length is 1023 octets (see Section 5.1.2). If the Printer supports the "detailed-status-message" operation attribute, the Printer SHOULD localize the message, unless such localization would obscure the technical meaning of the message. Clients MUST NOT attempt to parse the value of this attribute. See the "document-access-error" operation attribute (Section 4.1.6.4) for additional errors that a program can process.

可选的“详细状态消息”操作属性为管理员或其他有经验的技术人员提供有关该操作的其他更详细的技术和实现特定信息。“详细状态消息”属性的语法为“text(MAX)”,因此最大长度为1023个八位字节(见第5.1.2节)。如果打印机支持“详细状态消息”操作属性,则打印机应本地化消息,除非此类本地化会模糊消息的技术含义。客户端不得尝试分析此属性的值。有关程序可以处理的其他错误,请参阅“文档访问错误”操作属性(第4.1.6.4节)。

4.1.6.4. "document-access-error" (text(MAX))
4.1.6.4. “文档访问错误”(文本(最大值))

This OPTIONAL operation attribute provides additional information about any Document access errors encountered by the Printer before it returned a response to the Print-URI (Section 4.2.2) or Send-URI (Section 4.3.2) operation. For errors in the protocol identified by the URI scheme in the "document-uri" operation attribute, such as 'http:' or 'ftp:', the error code is returned in parentheses, followed by the URI. For example:

此可选操作属性提供有关打印机在返回对打印URI(第4.2.2节)或发送URI(第4.3.2节)操作的响应之前遇到的任何文档访问错误的附加信息。对于由“文档URI”操作属性中的URI方案标识的协议中的错误,例如“http:”或“ftp:”,将在括号中返回错误代码,后跟URI。例如:

   (404) http://www.example.com/filename.pdf
        
   (404) http://www.example.com/filename.pdf
        

Most Internet protocols use decimal error codes (unlike IPP), so the ASCII error code representation is in decimal.

大多数互联网协议使用十进制错误代码(与IPP不同),因此ASCII错误代码表示为十进制。

4.1.7. Unsupported Attributes
4.1.7. 不支持的属性

The Unsupported Attributes group contains attributes that are not supported by the operation. This group is primarily for the Job Creation operations, but all operations can return this group.

“不支持的属性”组包含操作不支持的属性。此组主要用于创建作业操作,但所有操作都可以返回此组。

A Printer MUST include an Unsupported Attributes group in a response if the status-code is one of the following: 'successful-ok-ignored-or-substituted-attributes', 'successful-ok-conflicting-attributes', 'client-error-attributes-or-values-not-supported', or 'client-error-conflicting-attributes'.

如果状态代码为“成功确定忽略或替换属性”、“成功确定冲突属性”、“不支持的客户端错误属性或值”或“客户端错误冲突属性”,则打印机必须在响应中包含不支持的属性组。

If the status-code is one of the four specified in the preceding paragraph, the Unsupported Attributes group MUST contain all of those attributes and only those attributes that are:

如果状态代码是前段中指定的四个属性之一,则“不支持的属性”组必须包含所有这些属性,并且仅包含以下属性:

a. an operation or Job Template attribute supplied in the request, and

a. 请求中提供的操作或作业模板属性,以及

b. unsupported by the Printer. See below for details on the three categories of "unsupported" attributes.

b. 打印机不支持。有关三类“不受支持”属性的详细信息,请参见下文。

If the status-code is one of those in Table 1 in Section 4.1.6.1, the OPTIONAL Unsupported Attributes group contains the unsupported parameter or attribute indicated in that table.

如果状态代码是第4.1.6.1节表1中的状态代码之一,则可选的Unsupported Attributes(不支持的属性)组包含该表中指示的不支持的参数或属性。

If the Printer is not returning any unsupported attributes in the response, the Printer SHOULD omit the Unsupported Attributes group rather than sending an empty group. However, a Client MUST be able to accept an empty group.

如果打印机在响应中未返回任何不支持的属性,则打印机应忽略不支持的属性组,而不是发送空组。但是,客户端必须能够接受空组。

Unsupported attributes fall into three categories:

不受支持的属性分为三类:

1. The Printer does not support the supplied attribute (no matter what the attribute syntax or value).

1. 打印机不支持提供的属性(无论属性语法或值如何)。

2. The Printer does support the attribute, but it does not support some or all of the particular attribute syntaxes or values supplied by the Client, i.e., the Printer does not have those attribute syntaxes or values in its corresponding "xxx-supported" attribute.

2. 打印机确实支持该属性,但它不支持客户端提供的某些或所有特定属性语法或值,即打印机在其相应的“支持xxx”属性中没有这些属性语法或值。

3. The Printer does support the attributes and values supplied, but the particular values are in conflict with one another, because they violate a constraint, such as not being able to staple transparencies.

3. 打印机确实支持提供的属性和值,但特定值彼此冲突,因为它们违反了约束,例如无法装订透明胶片。

In the case of an unsupported attribute name, the Printer returns the Client-supplied attribute with a substituted value of 'unsupported'. This value's syntax type is "out-of-band", and its encoding is defined by special rules for "out-of-band" values in the Encoding and Transport document [RFC8010]. Its value indicates no support for the attribute itself -- see the beginning of Section 5.1 in this document.

如果属性名不受支持,打印机将返回客户机提供的属性,替换值为“unsupported”。该值的语法类型为“带外”,其编码由编码和传输文档[RFC8010]中“带外”值的特殊规则定义。它的值表示不支持属性本身——请参阅本文档第5.1节的开头。

In the case of a supported attribute with one or more unsupported attribute syntaxes or values, the Printer simply returns the Client-supplied attribute with the unsupported attribute syntaxes or values as supplied by the Client. This indicates support for the attribute but no support for that particular attribute syntax or value. If the Client supplies a multi-valued attribute with more than one value and the Printer supports the attribute but only supports a subset of the Client-supplied attribute syntaxes or values, the Printer MUST return only those attribute syntaxes or values that are unsupported.

对于具有一个或多个不受支持的属性语法或值的受支持属性,打印机仅返回客户端提供的具有客户端提供的不受支持的属性语法或值的属性。这表示支持该属性,但不支持该特定属性语法或值。如果客户端提供具有多个值的多值属性,并且打印机支持该属性,但仅支持客户端提供的属性语法或值的子集,则打印机必须仅返回不受支持的属性语法或值。

In the case of two (or more) supported attribute values that are in conflict with one another (although each is supported independently, the values conflict when requested together within the same Job), the Printer MUST return all the values that it ignores or substitutes to resolve the conflict but not any of the values that it is still using. The choice for exactly how to resolve the conflict is implementation dependent. See Section 4.2.1.2 and Appendix C. See the Implementor's Guides [RFC3196] [PWG5100.19] for examples.

如果两个(或多个)受支持的属性值彼此冲突(尽管每个属性值都独立支持,但在同一作业中请求时,这些值会发生冲突),打印机必须返回其忽略或替换的所有值以解决冲突,但不返回其仍在使用的任何值。解决冲突的具体方式取决于实现。参见第4.2.1.2节和附录C。示例参见实施者指南[RFC3196][PWG5100.19]。

4.1.8. Versions
4.1.8. 版本

Each operation request and response carries with it a "version-number" parameter. Each value of the "version-number" parameter is in the form "X.Y" where X is the major version number and Y is the minor version number. By including a version number in the Client request, it allows the Client to identify which version of IPP it is interested in using, i.e., the version whose conformance requirements the Client can depend upon the Printer to meet.

每个操作请求和响应都带有一个“版本号”参数。“版本号”参数的每个值的格式为“X.Y”,其中X是主要版本号,Y是次要版本号。通过在客户请求中包含版本号,客户可以识别其感兴趣使用的IPP版本,即客户可以依赖打印机满足其一致性要求的版本。

If the IPP object does not support that major version number supplied by the Client, i.e., the "major version number" portion of the "version-number" parameter does not match any of the values of the Printer's "ipp-versions-supported" attribute (see Section 5.4.14), the object MUST respond with a status-code of

如果IPP对象不支持客户端提供的主版本号,即“版本号”参数的“主版本号”部分与打印机的“支持的IPP版本”属性的任何值都不匹配(参见第5.4.14节),则对象必须以状态代码响应

'server-error-version-not-supported' along with the closest version number that is supported (see Appendix B.1.5.4). If the major version number is supported but the minor version number is not, the IPP object SHOULD accept the request and attempt to perform it (or reject the request if the operation is not supported); otherwise, it rejects the request and returns the 'server-error-version-not-supported' status-code. In all cases, the IPP object MUST return the "version-number" value that it supports that is closest to the version number supplied by the Client in the request.

“不支持服务器错误版本”以及支持的最接近的版本号(见附录B.1.5.4)。如果主要版本号受支持,但次要版本号不受支持,IPP对象应接受请求并尝试执行该请求(如果不支持该操作,则拒绝该请求);否则,它将拒绝请求并返回“服务器错误版本不受支持”状态代码。在所有情况下,IPP对象都必须返回其支持的“版本号”值,该值与客户端在请求中提供的版本号最接近。

There is no version negotiation per se. However, if a Client has received a 'server-error-version-not-supported' status-code from an IPP object, the Client SHOULD try again with a different version number. A Client MAY also determine the versions supported either from a directory that conforms to Appendix D or by querying the Printer's "ipp-versions-supported" attribute (see Section 5.4.14) to determine which versions are supported.

没有版本协商本身。但是,如果客户端从IPP对象接收到“服务器错误版本不受支持”状态代码,则客户端应使用其他版本号重试。客户还可以通过符合附录D的目录或通过查询打印机的“支持的ipp版本”属性(参见第5.4.14节)来确定支持的版本。

An IPP/1.1 object implementation MUST support version '1.1', i.e., meet the conformance requirements for IPP/1.1 as specified in this document and [RFC8010]. IPP implementations SHOULD accept any request with the major version '1' or '2', or reject the request if the operation is not supported.

IPP/1.1对象实现必须支持版本“1.1”,即满足本文件和[RFC8010]中规定的IPP/1.1一致性要求。IPP实施应接受主版本为“1”或“2”的任何请求,如果不支持该操作,则应拒绝该请求。

There is only one notion of "version number" that covers both IPP Model and IPP protocol changes. Changes to the major version number of the Model and Semantics document can indicate structural or syntactic changes that make it impossible for older versions of IPP Clients and Printers to correctly parse and correctly process the new or changed attributes, operations, and responses. If the major version number changes, the minor version number is set to zero. As an example, adding the REQUIRED "ipp-attribute-fidelity" attribute to version '1.1' (if it had not been part of version '1.0') would have required a change to the major version number, since an IPP/1.0 Printer would not have processed a request with the correct semantics that contained the "ipp-attribute-fidelity" attribute that it did not know about. Items that might affect the changing of the major version number include any changes to the Model and Semantics document (this document) or the Encoding and Transport document [RFC8010] itself, such as:

“版本号”只有一个概念涵盖IPP型号和IPP协议变更。模型和语义文档的主要版本号的更改可能表示结构或语法的更改,这使得旧版本的IPP客户端和打印机无法正确解析和正确处理新的或更改的属性、操作和响应。如果主版本号更改,则次版本号设置为零。例如,将所需的“ipp属性保真度”属性添加到版本“1.1”(如果它不是版本“1.0”的一部分)将需要更改主要版本号,因为ipp/1.0打印机不会处理包含“ipp属性保真度”的正确语义的请求它不知道的属性。可能影响主要版本号更改的项目包括对模型和语义文档(本文档)或编码和传输文档[RFC8010]本身的任何更改,例如:

o reordering of ordered attributes or attribute sets

o 有序属性或属性集的重新排序

o changes to the syntax of existing attributes

o 对现有属性语法的更改

o adding REQUIRED (for an IPP object to support) Operation Attributes groups

o 添加所需的(IPP对象支持的)操作属性组

o adding values to existing REQUIRED operation attributes

o 向现有必需的操作属性添加值

o adding REQUIRED operations

o 添加所需的操作

Changes to the minor version number indicate the addition of new features, attributes, and attribute values that might not be understood by all IPP objects but that can be ignored if not understood. Items that might affect the changing of the minor version number include any changes to the model objects and attributes but not the encoding and transport rules [RFC8010] (except adding attribute syntaxes). Examples of such changes are:

次要版本号的更改表示添加了新功能、属性和属性值,这些功能、属性和属性值可能无法被所有IPP对象理解,但如果无法理解,则可以忽略。可能影响次要版本号更改的项目包括对模型对象和属性的任何更改,但不包括编码和传输规则[RFC8010](添加属性语法除外)。这些变化的例子包括:

o grouping all extensions not included in a previous version into a new version

o 将以前版本中未包含的所有扩展分组到新版本中

o adding new attribute values

o 添加新属性值

o adding new object attributes

o 添加新对象属性

o adding OPTIONAL (for an IPP object to support) operation attributes (i.e., those attributes that an IPP object can ignore without confusing Clients)

o 添加可选(IPP对象支持)操作属性(即IPP对象可以忽略而不会混淆客户端的那些属性)

o adding OPTIONAL (for an IPP object to support) Operation Attributes groups (i.e., those attributes that an IPP object can ignore without confusing Clients)

o 添加可选(IPP对象支持)操作属性组(即IPP对象可以忽略而不会混淆客户端的那些属性)

o adding new attribute syntaxes

o 添加新的属性语法

o adding OPTIONAL operations

o 添加可选操作

o changing Job attributes or Printer attributes from OPTIONAL to REQUIRED or vice versa

o 将作业属性或打印机属性从可选更改为必需,反之亦然

o adding OPTIONAL attribute syntaxes to an existing attribute

o 向现有属性添加可选属性语法

The encoding [RFC8010] of the "version-number" parameter MUST NOT change over any version number (either major or minor). This rule guarantees that all future versions will be backwards compatible with all previous versions (at least for checking the "version-number" parameter). In addition, any protocol elements (attributes, error codes, tags, etc.) that are not carried forward from one version to the next are DEPRECATED so that they can never be reused with new semantics.

“版本号”参数的编码[RFC8010]不得更改为任何版本号(主要或次要)。此规则保证所有未来版本将与所有以前的版本向后兼容(至少用于检查“版本号”参数)。此外,任何协议元素(属性、错误代码、标记等)如果没有从一个版本转移到下一个版本,都会被弃用,因此它们永远不能用新的语义重用。

Implementations that support a certain version SHOULD support all previous Standards Track versions. As each new version is defined (through the release of a new IPP specification document), that version will specify which previous versions MUST and which versions SHOULD be supported in compliant implementations.

支持特定版本的实现应该支持所有以前的标准跟踪版本。随着每个新版本的定义(通过发布新的IPP规范文档),该版本将指定哪些以前的版本必须支持,哪些版本应该在兼容实施中支持。

4.1.9. Job Creation Operations
4.1.9. 创造就业机会行动

In order to "submit a Print Job" and create a new Job, a Client issues a Job Creation request. A Job Creation request is any one of the following three operation requests:

为了“提交打印作业”并创建新作业,客户机发出作业创建请求。作业创建请求是以下三个操作请求之一:

o The Print-Job Request: A Client that wants to submit a Print Job with only a single Document can use the Print-Job operation. The operation allows for the Client to "push" the Document data to the Printer by including the Document data in the request itself. Note that Clients SHOULD instead use the Create-Job and Send-Document requests, if supported by the Printer, since they allow for Job monitoring and control during submission of the Document data.

o 打印作业请求:如果客户端只想提交一个文档的打印作业,则可以使用打印作业操作。该操作允许客户端通过将文档数据包含在请求本身中,将文档数据“推送”到打印机。请注意,如果打印机支持,客户端应改为使用创建作业并发送文档请求,因为它们允许在提交文档数据期间进行作业监视和控制。

o The Print-URI Request: A Client that wants to submit a Print Job with only a single Document (where the Printer "pulls" the Document data instead of the Client "pushing" the data to the Printer) uses the Print-URI operation. In this case, the Client includes in the request only a URI reference to the Document data (not the Document data itself).

o 打印URI请求:希望提交仅包含单个文档的打印作业的客户端(其中打印机“拉”文档数据,而不是客户端“推”数据到打印机)使用打印URI操作。在这种情况下,客户机在请求中只包含对文档数据(而不是文档数据本身)的URI引用。

o The Create-Job Request: A Client that wants to submit a Print Job with zero or more Documents uses the Create-Job operation. This operation is followed by an arbitrary number of Send-Document and/or Send-URI operations, each creating another Document for the newly created Job. The Send-Document operation includes the Document data in the request (the Client "pushes" the Document data to the Printer), and the Send-URI operation includes only a URI reference to the Document data in the request (the Printer "pulls" the Document data from the referenced location). The last Send-Document or Send-URI request for a given Job includes a "last-document" operation attribute set to 'true' indicating that this is the last request.

o 创建作业请求:希望提交包含零个或多个文档的打印作业的客户端使用创建作业操作。此操作之后是任意数量的发送文档和/或发送URI操作,每个操作都为新创建的作业创建另一个文档。发送文档操作包括请求中的文档数据(客户端“推送”文档数据到打印机),发送URI操作仅包括请求中文档数据的URI引用(打印机从引用位置“拉取”文档数据)。给定作业的最后一次发送文档或发送URI请求包括设置为“true”的“最后一次文档”操作属性,指示这是最后一次请求。

Throughout this document, the term "Job Creation request" is used to refer to any of these three operation requests.

在本文件中,术语“创造就业机会请求”用于指这三个操作请求中的任何一个。

A Create-Job operation followed by only one Send-Document operation is semantically equivalent to a Print-Job operation; however, the Client SHOULD use the Create-Job and Send-Document operations (when supported) for all Jobs with a single Document to allow for reliable

仅后跟一个发送文档操作的创建作业操作在语义上等同于打印作业操作;但是,客户机应使用“创建作业”和“发送文档”操作(在支持时)来处理具有单个文档的所有作业,以实现可靠的

Job control and monitoring. Print-Job is a REQUIRED operation (all implementations MUST support it), whereas Create-Job is a RECOMMENDED operation and hence some implementations might not support it.

作业控制和监控。打印作业是必需的操作(所有实现都必须支持它),而创建作业是建议的操作,因此某些实现可能不支持它。

Job submission time is the point in time when a Client issues a Job Creation request. The initial state of every Job is the 'pending', 'pending-held', or 'processing' state (see Section 5.3.7). When the Printer begins processing the Print Job, the Job's state moves to 'processing'. This is known as Job processing time.

作业提交时间是客户端发出作业创建请求的时间点。每个作业的初始状态为“挂起”、“挂起”或“处理”状态(见第5.3.7节)。当打印机开始处理打印作业时,作业的状态变为“正在处理”。这称为作业处理时间。

At Job submission time and at the time a Validate-Job operation is received, the Printer MUST do the following:

在作业提交时和收到验证作业操作时,打印机必须执行以下操作:

1. Process the Client-supplied attributes and either accept or reject the request

1. 处理客户端提供的属性并接受或拒绝请求

2. Validate the syntax of and support for the scheme of any Client-supplied URI

2. 验证任何客户端提供的URI的语法和对方案的支持

At Job submission time, the Printer MUST validate whether the supplied attributes, attribute syntaxes, and values are supported by matching them with the Printer's corresponding "xxx-supported" attributes. See Section 4.1.7 for details. See the Implementor's Guides [RFC3196] [PWG5100.19] for guidance on processing Job Creation requests.

在作业提交时,打印机必须通过将提供的属性、属性语法和值与打印机相应的“支持xxx”属性进行匹配来验证它们是否受支持。详见第4.1.7节。请参阅实施者指南[RFC3196][PWG5100.19]以了解处理创造就业机会请求的指南。

At Job submission time, the Printer MAY perform the validation checks reserved for Job processing time, such as:

在作业提交时,打印机可以执行为作业处理时间保留的验证检查,例如:

1. Validating the format of the Document data

1. 正在验证文档数据的格式

2. Validating the actual contents of any Client-supplied URI (resolve the reference and follow the link to the Document data)

2. 验证任何客户端提供的URI的实际内容(解析引用并遵循指向文档数据的链接)

At Job submission time, these additional Job processing time validation checks are essentially useless, since they require actually parsing and interpreting the Document data, are not guaranteed to be 100% accurate, and MUST be done, yet again, at Job processing time. Also, in the case of a URI, checking for availability at Job submission time does not guarantee availability at Job processing time. In addition, at Job processing time, the Printer might discover any of the following conditions that were not detectable at Job submission time:

在作业提交时,这些额外的作业处理时间验证检查基本上是无用的,因为它们需要实际解析和解释文档数据,不能保证100%准确,而且必须在作业处理时完成。此外,对于URI,在作业提交时检查可用性并不能保证作业处理时的可用性。此外,在作业处理时,打印机可能会发现在作业提交时无法检测到的以下任何情况:

o runtime errors in the Document data,

o 文档数据中的运行时错误,

o nested Document data that is in an unsupported format,

o 格式不受支持的嵌套文档数据,

o the URI reference is no longer valid (i.e., the server hosting the Document might be down), or

o URI引用不再有效(即承载文档的服务器可能已关闭),或者

o any other Job processing error.

o 任何其他作业处理错误。

At Job submission time, a Printer, especially a non-spooling Printer, MAY accept Jobs for which it does not have enough space. In such a situation, a Printer MAY stop reading data from a Client for an indefinite period of time. A Client MUST be prepared for a write operation to block for an indefinite period of time (see Section 6.1 ("Client Conformance Requirements")).

在作业提交时,打印机(尤其是非后台打印打印机)可能会接受其空间不足的作业。在这种情况下,打印机可能会无限期地停止从客户机读取数据。客户必须为无限期阻止写入操作做好准备(见第6.1节(“客户一致性要求”))。

When a Printer has too little space for starting a new Job, it MAY reject a new Job Creation request. In this case, a Printer MUST return a response (in reply to the rejected request) with a status-code of 'server-error-busy' (see Appendix B.1.5.8), and it MAY close the connection before receiving all bytes of the operation. A Printer SHOULD indicate that it is temporarily unable to accept Jobs by setting the 'spool-space-full' value in its "printer-state-reasons" attribute and removing the value when it can accept another Job (see Section 5.4.12).

当打印机启动新作业的空间太小时,它可能会拒绝新作业创建请求。在这种情况下,打印机必须返回一个状态代码为“服务器错误忙”的响应(响应拒绝的请求)(见附录B.1.5.8),并且在收到操作的所有字节之前,打印机可能会关闭连接。打印机应通过在其“打印机状态原因”属性中设置“假脱机空间已满”值,并在可以接受另一个作业时删除该值来指示其暂时无法接受作业(请参阅第5.4.12节)。

When receiving a 'server-error-busy' status-code in an operation response, a Client MUST be prepared for the Printer to close the connection before the Client has sent all of the data (especially for the Print-Job operation). A Client MUST be prepared to keep submitting a Job Creation request until the Printer accepts the Job Creation request.

在操作响应中接收到“服务器错误忙”状态代码时,客户端必须在发送所有数据(尤其是打印作业操作)之前为打印机关闭连接做好准备。在打印机接受作业创建请求之前,客户端必须准备好继续提交作业创建请求。

At Job processing time, since the Printer has already responded with a successful status-code in the response to the Job Creation request, if the Printer detects an error, the Printer is unable to inform the End User of the error with an operation status-code. In this case, the Printer, depending on the error, can set the Job's "job-state", "job-state-reasons", and/or "job-state-message" attributes to the appropriate value(s) so that later queries can report the correct Job status.

在作业处理时,由于打印机在响应作业创建请求时已使用成功的状态代码进行响应,因此如果打印机检测到错误,则打印机无法使用操作状态代码通知最终用户该错误。在这种情况下,打印机可以根据错误将作业的“作业状态”、“作业状态原因”和/或“作业状态消息”属性设置为适当的值,以便以后的查询可以报告正确的作业状态。

Note: Asynchronous notification of events is defined in "Internet Printing Protocol (IPP): Event Notifications and Subscriptions" [RFC3995].

注:事件的异步通知在“Internet打印协议(IPP):事件通知和订阅”[RFC3995]中定义。

4.2. Printer Operations
4.2. 打印机操作

All Printer operations are directed at Printers. A Client MUST always supply the "printer-uri" operation attribute in order to identify the correct target of the operation.

所有打印机操作都针对打印机。客户端必须始终提供“打印机uri”操作属性,以便标识正确的操作目标。

4.2.1. Print-Job Operation
4.2.1. 打印作业操作

This REQUIRED operation allows a Client to submit a Print Job with only one Document and supply the Document data (rather than just a reference to the data). See Appendix C for the suggested steps for processing Job Creation requests and their operation and Job Template attributes.

此必需的操作允许客户端提交仅包含一个文档的打印作业,并提供文档数据(而不仅仅是对数据的引用)。有关处理作业创建请求及其操作和作业模板属性的建议步骤,请参见附录C。

4.2.1.1. Print-Job Request
4.2.1.1. 打印作业请求

The following groups of attributes are supplied as part of the Print-Job request:

以下属性组作为打印作业请求的一部分提供:

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.1. The Printer MUST copy these values to the corresponding Job Status attributes described in Sections 5.3.19 and 5.3.20.

“属性字符集”和“属性自然语言”属性如第4.1.4.1节所述。打印机必须将这些值复制到第5.3.19节和第5.3.20节中描述的相应作业状态属性。

Target:

目标:

The "printer-uri" (uri) operation attribute, which is the target for this operation as described in Section 4.1.5.

“打印机uri”(uri)操作属性,如第4.1.5节所述,它是此操作的目标。

Requesting User Name:

请求用户名:

The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the Client as described in Section 9.3.

“请求用户名”(name(MAX))属性应由客户机提供,如第9.3节所述。

"job-name" (name(MAX)):

“作业名称”(名称(最大值)):

The Client MAY supply and the Printer MUST support this attribute. It contains the Client-supplied Job name. If this attribute is supplied by the Client, its value is used for the "job-name" attribute of the newly created Job. The Client MAY automatically include any information that will help the End User distinguish amongst his/her Jobs, such as the name of the application program along with information from the Document, such as the Document name, Document subject, or source file name. If this attribute is not supplied by the Client, the Printer generates a name to use in the "job-name" attribute of the newly created Job (see Section 5.3.5).

客户端可能提供,打印机必须支持此属性。它包含客户端提供的作业名称。如果此属性由客户端提供,则其值将用于新创建作业的“作业名称”属性。客户机可以自动包括有助于最终用户区分其工作的任何信息,例如应用程序的名称以及来自文档的信息,例如文档名称、文档主题或源文件名。如果客户端未提供此属性,打印机将生成一个名称,用于新创建作业的“作业名称”属性(请参阅第5.3.5节)。

"ipp-attribute-fidelity" (boolean):

“ipp属性保真度”(布尔值):

The Client MAY supply and the Printer MUST support this attribute. The value 'true' indicates that total fidelity to Client-supplied Job Template attributes and values is required; otherwise, the Printer MUST reject the Print-Job request. The value 'false' indicates that a reasonable attempt to print the Job is acceptable and the Printer MUST accept the Print-Job request. If not supplied, the Printer assumes that the value is 'false'. All Printers MUST support both types of Job processing. See Appendix C for a full description of "ipp-attribute-fidelity" and its relationship to other attributes, especially the Printer's "pdl-override-supported" attribute.

客户端可能提供,打印机必须支持此属性。值“true”表示需要对客户提供的作业模板属性和值的总逼真度;否则,打印机必须拒绝打印作业请求。值“false”表示可以接受打印作业的合理尝试,并且打印机必须接受打印作业请求。如果未提供,打印机将假定该值为“false”。所有打印机必须支持这两种类型的作业处理。有关“ipp属性保真度”及其与其他属性(尤其是打印机的“支持pdl覆盖”属性)的关系的完整说明,请参见附录C。

"document-name" (name(MAX)):

“文件名”(名称(最大值)):

The Client MAY supply and the Printer MUST support this attribute. It contains the Client-supplied Document name. The Document name MAY be different than the Job name. Typically, the Client software automatically supplies the Document name on behalf of the End User by using a file name or an application-generated name. If this attribute is supplied, its value can be used in a manner defined by each implementation. Examples include the following: printed along with the Job (Job start sheet, page adornments, etc.), used by accounting or resource-tracking management tools, or even stored along with the Document as a Document-level attribute.

客户端可能提供,打印机必须支持此属性。它包含客户端提供的文档名。文档名称可能与作业名称不同。通常,客户端软件通过使用文件名或应用程序生成的名称,代表最终用户自动提供文档名。如果提供了此属性,则可以按照每个实现定义的方式使用其值。示例包括:与作业一起打印(作业开始页、页面装饰等),由会计或资源跟踪管理工具使用,甚至作为文档级属性与文档一起存储。

"compression" (type2 keyword):

“压缩”(type2关键字):

The Client MAY supply and the Printer MUST support this attribute. The Client-supplied "compression" operation attribute identifies the compression algorithm used on the Document data. The following cases exist:

客户端可能提供,打印机必须支持此属性。客户机提供的“压缩”操作属性标识文档数据上使用的压缩算法。存在以下情况:

a. If the Client omits this attribute, the Printer MUST assume that the data is not compressed, i.e., the Printer follows the rules below as if the Client supplied the "compression" attribute with a value of 'none'.

a. 如果客户端忽略此属性,打印机必须假定数据未压缩,即打印机遵循以下规则,就好像客户端提供的“compression”属性的值为“none”。

b. If the Client supplies this attribute but the value is not supported by the Printer, i.e., the value is not one of the values of the Printer's "compression-supported" attribute, the Printer MUST reject the request and return the 'client-error-compression-not-supported' status-code. See Section 4.1.7 for details on returning unsupported attributes and values.

b. 如果客户端提供此属性,但打印机不支持该值,即该值不是打印机“支持压缩”属性的值之一,则打印机必须拒绝请求并返回“客户端错误压缩不支持”状态代码。有关返回不支持的属性和值的详细信息,请参见第4.1.7节。

c. If the Client supplies the attribute and the Printer supports the attribute value, the Printer uses the corresponding decompression algorithm on the Document data.

c. 如果客户端提供该属性,并且打印机支持该属性值,则打印机将对文档数据使用相应的解压缩算法。

d. If the decompression algorithm fails before the Printer returns an operation response, the Printer MUST reject the request and return the 'client-error-compression-error' status-code.

d. 如果解压算法在打印机返回操作响应之前失败,打印机必须拒绝请求并返回“客户端错误压缩错误”状态代码。

e. If the decompression algorithm fails after the Printer returns an operation response, the Printer MUST abort the Job and add the 'compression-error' value to the Job's "job-state-reasons" attribute.

e. 如果解压算法在打印机返回操作响应后失败,打印机必须中止作业,并将“压缩错误”值添加到作业的“作业状态原因”属性中。

f. If the decompression algorithm succeeds, the Document data MUST then have the format specified by the Job's "document-format" attribute, if supplied (see the "document-format" operation attribute definition below).

f. 如果解压缩算法成功,则文档数据必须具有作业的“文档格式”属性(如果提供)指定的格式(请参阅下面的“文档格式”操作属性定义)。

"document-format" (mimeMediaType):

“文档格式”(mimeMediaType):

The Client MAY supply and the Printer MUST support this attribute. The value identifies the format of the supplied Document data. The following cases exist:

客户端可能提供,打印机必须支持此属性。该值标识所提供文档数据的格式。存在以下情况:

a. If the Client does not supply this attribute, the Printer assumes that the Document data is in the format defined by the Printer's "document-format-default" attribute (i.e., the Printer follows the rules below as if the Client supplied the "document-format" attribute with a value equal to the Printer's default value).

a. 如果客户端未提供此属性,打印机将假定文档数据的格式由打印机的“文档格式默认值”属性定义(即,打印机遵循以下规则,就像客户端提供的“文档格式”属性的值等于打印机的默认值一样)。

b. If the Client supplies this attribute but the value is not supported by the Printer, i.e., the value is not one of the values of the Printer's "document-format-supported" attribute, the Printer MUST reject the request and return the 'client-error-document-format-not-supported' status-code.

b. 如果客户端提供此属性,但打印机不支持该值,即该值不是打印机“支持的文档格式”属性的值之一,则打印机必须拒绝请求并返回“客户端错误文档格式不支持”状态代码。

c. If the Client supplies this attribute and its value is 'application/octet-stream' (i.e., to be auto-sensed; see Section 5.1.10.1), and the format is not one of the Document formats that the Printer can auto-sense, and this check occurs before the Printer returns an operation response, then the Printer MUST reject the request and return the 'client-error-document-format-not-supported' status-code.

c. 如果客户机提供此属性,且其值为“应用程序/八位字节流”(即自动感测;请参阅第5.1.10.1节),且该格式不是打印机可以自动感测的文档格式之一,且此检查在打印机返回操作响应之前发生,然后,打印机必须拒绝请求并返回“客户端错误文档格式不受支持”状态代码。

d. If the Client supplies this attribute and the value is supported by the Printer, the Printer is capable of interpreting the Document data.

d. 如果客户端提供此属性,并且打印机支持该值,则打印机能够解释文档数据。

e. If interpretation of the Document data fails before the Printer returns an operation response, the Printer MUST reject the request and return the 'client-error-document-format-error' status-code.

e. 如果在打印机返回操作响应之前文档数据解释失败,打印机必须拒绝请求并返回“客户端错误文档格式错误”状态代码。

f. If interpretation of the Document data fails after the Printer returns an operation response, the Printer MUST abort the Job and add the 'document-format-error' value to the Job's "job-state-reasons" attribute.

f. 如果在打印机返回操作响应后文档数据的解释失败,打印机必须中止作业,并将“文档格式错误”值添加到作业的“作业状态原因”属性中。

"document-natural-language" (naturalLanguage):

“文档自然语言”(自然语言):

The Client MAY supply and the Printer SHOULD support this attribute. The value specifies the natural language of the Document content for those Document formats that require a specification of the natural language in order to properly image the Document.

客户端可能提供,打印机应支持此属性。该值指定文档内容的自然语言,这些文档格式需要自然语言规范才能正确地对文档进行映像。

"job-k-octets" (integer(0:MAX)):

“job-k-octets”(整数(0:MAX)):

The Client MAY supply and the Printer SHOULD support this attribute. The Client-supplied "job-k-octets" operation attribute identifies the total size of the Document(s) in K octets being submitted (see Section 5.3.17.1 for the complete semantics). If the Client supplies the attribute and the Printer supports the attribute, the value of the attribute is used to populate the Job's "job-k-octets" Job Description attribute.

客户端可能提供,打印机应支持此属性。客户机提供的“job-k-octets”操作属性以提交的k个八位字节为单位标识文档的总大小(完整语义见第5.3.17.1节)。如果客户机提供该属性且打印机支持该属性,则该属性的值将用于填充作业的“作业k八位字节”作业描述属性。

For this attribute and the following two attributes ("job-impressions" and "job-media-sheets"), if the Client supplies the attribute but the Printer does not support the attribute, the Printer ignores the Client-supplied value. If the Client supplies the attribute and the Printer supports the attribute, and the value is within the range of the corresponding Printer's "xxx-supported" attribute, the Printer MUST use the value to populate the Job's "xxx" attribute. If the Client supplies the attribute and the Printer supports the attribute, but the value is outside the range of the corresponding Printer's "xxx-supported" attribute, the Printer MUST copy the attribute and its value to the Unsupported Attributes group, reject the request, and return the 'client-error-attributes-or-values-not-supported' status-code. If the Client does not supply the attribute, the Printer SHOULD

对于此属性和以下两个属性(“作业印象”和“作业介质表”),如果客户端提供该属性,但打印机不支持该属性,则打印机将忽略客户端提供的值。如果客户端提供该属性且打印机支持该属性,且该值在相应打印机的“支持的xxx”属性的范围内,则打印机必须使用该值填充作业的“xxx”属性。如果客户端提供该属性且打印机支持该属性,但该值超出了相应打印机的“支持的xxx”属性的范围,则打印机必须将该属性及其值复制到“不支持的属性”组,拒绝请求,并返回“不支持的客户端错误属性或值”状态代码。如果客户端不提供该属性,则打印机应

populate the corresponding Job attribute if it supports the attribute and is able to calculate or discern the correct value.

如果相应的作业属性支持该属性并且能够计算或识别正确的值,则填充该属性。

"job-impressions" (integer(0:MAX)):

“工作印象”(整数(0:MAX)):

The Client MAY supply and the Printer SHOULD support this attribute. The Client-supplied "job-impressions" operation attribute identifies the total size in number of Impressions of the Document(s) being submitted (see Section 5.3.17.2 for the complete semantics).

客户端可能提供,打印机应支持此属性。客户提供的“工作印象”操作属性标识提交文件的印象总数(完整语义见第5.3.17.2节)。

See the last paragraph under "job-k-octets".

见“job-k-octets”下的最后一段。

"job-media-sheets" (integer(1:MAX)):

“作业介质表”(整数(1:MAX)):

The Client MAY supply and the Printer SHOULD support this attribute. The Client-supplied "job-media-sheets" operation attribute identifies the total number of Media Sheets to be produced for this Job (see Section 5.3.17.3 for the complete semantics).

客户端可能提供,打印机应支持此属性。客户机提供的“作业介质表”操作属性标识要为此作业生成的介质表总数(完整语义见第5.3.17.3节)。

See the last paragraph under "job-k-octets".

见“job-k-octets”下的最后一段。

Group 2: Job Template Attributes

组2:作业模板属性

The Client MAY supply a set of Job Template attributes as defined in Section 5.2. If the Client is not supplying any Job Template attributes in the request, the Client SHOULD omit Group 2 rather than sending an empty group. However, a Printer MUST be able to accept an empty group.

客户可以提供第5.2节中定义的一组作业模板属性。如果客户端未在请求中提供任何作业模板属性,则客户端应省略组2,而不是发送空组。但是,打印机必须能够接受空组。

Group 3: Document Data

第3组:文件数据

The Client MUST supply the Document data to be processed.

客户必须提供要处理的文档数据。

The simplest Print-Job request consists of just the "attributes-charset" and "attributes-natural-language" operation attributes, the "printer-uri" target operation attribute, and the Document data. In this simple case, the Printer:

最简单的打印作业请求仅由“attributes charset”和“attributes natural language”操作属性、“printer uri”目标操作属性以及文档数据组成。在这种简单的情况下,打印机:

o creates a new Job containing a single Document,

o 创建包含单个文档的新作业,

o stores a generated Job name in the "job-name" attribute in the natural language and charset requested (see Section 4.1.4.1) (if those are supported; otherwise, using the Printer's default natural language and charset), and

o 以请求的自然语言和字符集(请参阅第4.1.4.1节)将生成的作业名称存储在“作业名称”属性中(如果支持,则使用打印机的默认自然语言和字符集),以及

o at Job processing time, uses its corresponding default value attributes for the supported Job Template attributes that were not supplied by the Client as an IPP attribute or embedded instructions in the Document data.

o 在作业处理时,将其对应的默认值属性用于客户端未作为IPP属性或文档数据中的嵌入指令提供的受支持作业模板属性。

4.2.1.2. Print-Job Response
4.2.1.2. 打印作业响应

The Printer MUST return to the Client the following sets of attributes as part of the Print-Job response:

打印机必须向客户端返回以下属性集,作为打印作业响应的一部分:

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.2.

“属性字符集”和“属性自然语言”属性如第4.1.4.2节所述。

Status Message:

状态消息:

In addition to the REQUIRED status-code returned in every response, the response MAY include a "status-message" (text(255)) and/or a "detailed-status-message" (text(MAX)) operation attribute as described in Appendix B and Section 4.1.6. If the Client supplies unsupported or conflicting Job Template attributes or values, the Printer MUST reject or accept the Print-Job request, depending on whether the Client supplied a 'true' or 'false' value for the "ipp-attribute-fidelity" operation attribute. See the Implementor's Guides [RFC3196] [PWG5100.19] for guidance on processing Job Creation requests.

除了在每个响应中返回的所需状态代码外,响应可能包括“状态消息”(文本(255))和/或“详细状态消息”(文本(最大))操作属性,如附录B和第4.1.6节所述。如果客户端提供不受支持或冲突的作业模板属性或值,打印机必须拒绝或接受打印作业请求,具体取决于客户端为“ipp属性保真度”操作属性提供的值是“真”还是“假”。请参阅实施者指南[RFC3196][PWG5100.19]以了解处理创造就业机会请求的指南。

Group 2: Unsupported Attributes

第2组:不支持的属性

See Section 4.1.7 for details on returning unsupported attributes.

有关返回不支持的属性的详细信息,请参见第4.1.7节。

The value of "ipp-attribute-fidelity" supplied by the Client does not affect what attributes the Printer returns in this group. The value of "ipp-attribute-fidelity" only affects whether the Print-Job operation is accepted or rejected. If the Job is accepted, the Client can query the Job using the Get-Job-Attributes operation, requesting the unsupported attributes that were returned in the Print-Job response to see which attributes were ignored (not stored in the Job) and which attributes were stored with other (substituted) values.

客户端提供的“ipp属性保真度”值不影响打印机在此组中返回的属性。“ipp属性保真度”的值仅影响接受还是拒绝打印作业操作。如果接受作业,客户端可以使用“获取作业属性”操作查询作业,请求打印作业响应中返回的不受支持的属性,以查看哪些属性被忽略(未存储在作业中),哪些属性与其他(替换的)值一起存储。

Group 3: Job Attributes

第3组:作业属性

"job-id" (integer(1:MAX)):

“作业id”(整数(1:MAX)):

The Printer MUST return the Job's ID in the REQUIRED "job-id" Job attribute. The Client uses this "job-id" attribute in conjunction with the "printer-uri" attribute used in the Print-Job request when directing Job operations at the Printer.

打印机必须在所需的“作业ID”作业属性中返回作业ID。在打印机上指导作业操作时,客户端将此“作业id”属性与打印作业请求中使用的“打印机uri”属性结合使用。

"job-uri" (uri):

“作业uri”(uri):

The Printer MUST return the Job's URI by returning the contents of the REQUIRED "job-uri" Job attribute.

打印机必须通过返回所需“作业URI”作业属性的内容来返回作业的URI。

"job-state" (type1 enum):

“作业状态”(类型1枚举):

The Printer MUST return the Job's REQUIRED "job-state" attribute. The value of this attribute along with the value of the "job-state-reasons" attribute is a "snapshot" of the new Job's state when the Printer returns the response.

打印机必须返回作业所需的“作业状态”属性。当打印机返回响应时,此属性的值以及“作业状态原因”属性的值是新作业状态的“快照”。

"job-state-reasons" (1setOf type2 keyword):

“作业状态原因”(1setOf type2关键字):

The Printer MUST return the Job's REQUIRED "job-state-reasons" attribute.

打印机必须返回作业所需的“作业状态原因”属性。

"job-state-message" (text(MAX)):

“作业状态消息”(文本(最大值)):

The Printer SHOULD return the Job's RECOMMENDED "job-state-message" attribute. If the Printer supports this attribute, then it MUST be returned in the response. If this attribute is not returned in the response, the Client can assume that the "job-state-message" attribute is not supported and will not be returned in a subsequent Job query.

打印机应返回作业的建议“作业状态消息”属性。如果打印机支持此属性,则必须在响应中返回该属性。如果响应中未返回此属性,则客户端可以假定“作业状态消息”属性不受支持,并且不会在后续作业查询中返回。

"number-of-intervening-jobs" (integer(0:MAX)):

“中间作业数”(整数(0:MAX)):

The Printer SHOULD return the Job's RECOMMENDED "number-of-intervening-jobs" attribute. If the Printer supports this attribute, then it MUST be returned in the response. If this attribute is not returned in the response, the Client can assume that the "number-of-intervening-jobs" attribute is not supported and will not be returned in a subsequent Job query.

打印机应返回作业的建议“中间作业数”属性。如果打印机支持此属性,则必须在响应中返回该属性。如果响应中未返回此属性,则客户端可以假定“中间作业数”属性不受支持,并且不会在后续作业查询中返回。

Note: Since any Printer state information that affects a Job's state is reflected in the "job-state" and "job-state-reasons" attributes, it is sufficient to return only these attributes and no additional Printer Status attributes.

注意:由于影响作业状态的任何打印机状态信息都反映在“作业状态”和“作业状态原因”属性中,因此只返回这些属性而不返回其他打印机状态属性就足够了。

Note: The simplest response consists of just the "attributes-charset" and "attributes-natural-language" operation attributes and the "job-uri", "job-id", and "job-state" Job attributes. In this simplest case, the status-code is 'successful-ok' and there is no "status-message" or "detailed-status-message" operation attribute.

注意:最简单的响应只包括“attributes charset”和“attributes natural language”操作属性以及“job uri”、“job id”和“job state”作业属性。在这种最简单的情况下,状态代码为“成功确定”,没有“状态消息”或“详细状态消息”操作属性。

4.2.2. Print-URI Operation
4.2.2. 打印URI操作

This OPTIONAL operation is identical to the Print-Job operation (Section 4.2.1), except that a Client supplies a URI reference to the Document data using the "document-uri" (uri) operation attribute (in Group 1) rather than including the Document data itself. Before returning the response, the Printer MUST validate that the Printer supports the retrieval method (e.g., 'http', 'ftp', etc.) implied by the URI and MUST check for valid URI syntax. If the Client-supplied URI scheme is not supported, i.e., the value is not in the Printer's "referenced-uri-scheme-supported" attribute, the Printer MUST reject the request and return the 'client-error-uri-scheme-not-supported' status-code.

此可选操作与打印作业操作(第4.2.1节)相同,只是客户端使用“文档URI”(URI)操作属性(在组1中)提供文档数据的URI引用,而不包括文档数据本身。在返回响应之前,打印机必须验证打印机是否支持URI隐含的检索方法(例如,“http”、“ftp”等),并且必须检查有效的URI语法。如果客户端提供的URI方案不受支持,即该值不在打印机的“受支持的引用URI方案”属性中,则打印机必须拒绝请求并返回“客户端错误URI方案不受支持”状态代码。

The Printer MAY validate the accessibility of the Document as part of the operation, or subsequently. If the Printer discovers an accessibility problem before returning an operation response, it MUST reject the request and return the 'client-error-document-access-error' status-code. The Printer MAY also return a specific Document access error code using the "document-access-error" operation attribute (see Section 4.1.6.4).

作为操作的一部分,打印机可能会验证文档的可访问性,或随后进行验证。如果打印机在返回操作响应之前发现可访问性问题,则必须拒绝请求并返回“客户端错误文档访问错误”状态代码。打印机还可以使用“文档访问错误”操作属性返回特定的文档访问错误代码(参见第4.1.6.4节)。

If the Printer discovers this Document accessibility problem after accepting the request and returning an operation response with one of the successful status-code values, the Printer MUST add the "document-access-error" value to the Job's "job-state-reasons" attribute and MAY populate the Job's "job-document-access-errors" Job Status attribute (see Section 5.3.11). See the Implementor's Guides [RFC3196] [PWG5100.19] for guidance on processing Job Creation requests.

如果打印机在接受请求并返回带有一个成功状态代码值的操作响应后发现此文档可访问性问题,则打印机必须将“文档访问错误”值添加到作业的“作业状态原因”属性中,并可以填充作业的“作业文档访问错误”作业状态属性(见第5.3.11节)。有关处理创造就业机会请求的指南,请参见实施者指南[RFC3196][PWG5100.19]。

If the Printer supports this operation, it MUST support the "reference-uri-schemes-supported" Printer attribute (see Section 5.4.27).

如果打印机支持此操作,则必须支持“支持的引用uri方案”打印机属性(参见第5.4.27节)。

It is up to the Printer to interpret the URI and subsequently "pull" the Document data from the source referenced by the URI string.

由打印机解释URI,然后从URI字符串引用的源中“提取”文档数据。

4.2.3. Validate-Job Operation
4.2.3. 验证作业操作

This REQUIRED operation is similar to the Print-Job operation (Section 4.2.1), except that a Client supplies no Document data and the Printer allocates no resources, i.e., it does not create a new Job. This operation is used only to verify the capabilities of a Printer against whatever attributes are supplied by the Client in the Validate-Job request. By using the Validate-Job operation, a Client can validate that an identical Job Creation request (with the Document data) would be accepted. The Validate-Job operation also performs the same security negotiation as the Print-Job, Print-URI, and Create-Job operations (see Section 9) so that a Client can check that the Client and Printer security requirements can be met before performing a Job Creation request.

此要求的操作与打印作业操作(第4.2.1节)类似,只是客户机不提供文档数据,打印机不分配资源,即不创建新作业。此操作仅用于根据客户端在验证作业请求中提供的任何属性验证打印机的功能。通过使用Validate Job操作,客户机可以验证是否接受相同的作业创建请求(带有文档数据)。验证作业操作还执行与打印作业、打印URI和创建作业操作相同的安全协商(请参阅第9节),以便客户机可以在执行作业创建请求之前检查客户机和打印机安全要求是否得到满足。

The Validate-Job operation does not accept a "document-uri" attribute in order to allow a Client to check that the same Print-URI operation will be accepted, since the Client doesn't send the data with the Print-URI operation. The Client SHOULD just issue the Print-URI request.

验证作业操作不接受“文档uri”属性,以便允许客户端检查是否接受相同的打印uri操作,因为客户端不使用打印uri操作发送数据。客户端应该只发出打印URI请求。

The Printer returns the same status-code values, Operation Attributes (Group 1), and Unsupported Attributes (Group 2) as the Print-Job operation. However, no Job Attributes (Group 3) are returned, since no Job is created.

打印机返回与打印作业操作相同的状态代码值、操作属性(组1)和不支持的属性(组2)。但是,由于未创建作业,因此不会返回作业属性(组3)。

4.2.4. Create-Job Operation
4.2.4. 创建作业操作

This RECOMMENDED operation is similar to the Print-Job operation (Section 4.2.1), except that in the Create-Job request, a Client does not supply Document data or any reference to Document data. Also, the Client does not supply any of the "document-name", "document-format", "compression", or "document-natural-language" operation attributes. This operation is followed by one or more Send-Document or Send-URI operations. In each of those operation requests, the Client MAY supply the "document-name", "document-format", and "document-natural-language" attributes for each Document in the Job.

建议的操作与打印作业操作(第4.2.1节)类似,只是在创建作业请求中,客户端不提供文档数据或对文档数据的任何引用。此外,客户端不提供任何“文档名称”、“文档格式”、“压缩”或“文档自然语言”操作属性。此操作之后是一个或多个发送文档或发送URI操作。在这些操作请求中,客户机可以为作业中的每个文档提供“文档名称”、“文档格式”和“文档自然语言”属性。

If a Printer supports the Create-Job operation, it MUST also support the Send-Document operation. If the Printer supports the Create-Job and Print-URI operations, it MUST also support the Send-URI operation.

如果打印机支持创建作业操作,则它还必须支持发送文档操作。如果打印机支持创建作业和打印URI操作,则它还必须支持发送URI操作。

If the Printer supports this operation, it MUST support the "multiple-operation-time-out" Printer attribute (see Section 5.4.31).

如果打印机支持此操作,则必须支持“多次操作超时”打印机属性(参见第5.4.31节)。

If the Printer supports this operation, then it MUST support the "multiple-document-jobs-supported" Printer Description attribute (see Section 5.4.16) and indicate whether it supports multiple Documents in a Job.

如果打印机支持此操作,则它必须支持“支持的多个文档作业”打印机描述属性(请参阅第5.4.16节),并指示它是否支持作业中的多个文档。

If the Printer supports this operation and supports multiple Documents in a Job, then it MUST support the "multiple-document-handling" Job Template attribute with at least one value (see Section 5.2.4), and the associated "multiple-document-handling-default" and "multiple-document-handling-supported" Printer attributes (see Section 5.2).

如果打印机支持此操作并支持一个作业中的多个文档,则它必须至少支持一个值的“多文档处理”作业模板属性(请参见第5.2.4节),以及关联的“多文档处理默认值”和“支持的多文档处理”打印机属性(请参见第5.2节)。

After the Create-Job operation has completed, the value of the "job-state" attribute is similar to the "job-state" after a Print-Job operation, even though no Document data has arrived. A Printer MAY set the 'job-data-insufficient' value of the Job's "job-state-reasons" attribute to indicate that processing cannot begin until sufficient data has arrived and set the "job-state" to either 'pending' or 'pending-held'. A non-spooling Printer that doesn't implement the 'pending' Job state can set "job-state" to 'processing', even though there is not yet any data to process. See Sections 5.3.7 and 5.3.8.

创建作业操作完成后,“作业状态”属性的值与打印作业操作后的“作业状态”类似,即使没有文档数据到达。打印机可以设置作业“作业状态原因”属性的“作业数据不足”值,以指示在到达足够数据之前无法开始处理,并将“作业状态”设置为“挂起”或“挂起”。未实现“挂起”作业状态的非后台打印打印机可以将“作业状态”设置为“处理”,即使尚未处理任何数据。见第5.3.7节和第5.3.8节。

4.2.5. Get-Printer-Attributes Operation
4.2.5. 获取打印机属性操作

This REQUIRED operation allows a Client to request the values of the attributes of a Printer. In the request, the Client supplies the set of Printer attribute names and/or attribute group names in which the requester is interested. In the response, the Printer returns a corresponding attribute set with the appropriate attribute values filled in.

此必需操作允许客户端请求打印机属性的值。在请求中,客户端提供请求者感兴趣的打印机属性名称和/或属性组名称集。在响应中,打印机返回一个相应的属性集,并填入相应的属性值。

For Printers, the possible names of attribute groups are:

对于打印机,属性组的可能名称为:

o 'job-template': the subset of the Job Template attributes that apply to a Printer (the last two columns of Table 8 in Section 5.2) that the implementation supports for Printers.

o “作业模板”:应用于打印机的作业模板属性子集(第5.2节表8的最后两列),该实现支持打印机。

o 'printer-description': the subset of the attributes specified in Section 5.4 that the implementation supports for Printers.

o “打印机描述”:第5.4节中指定的实现支持打印机的属性子集。

o 'all': the special group 'all' that includes all attributes that the implementation supports for Printers.

o “全部”:特殊组“全部”,包括实现支持的打印机的所有属性。

Since a Client MAY request specific attributes or named groups, there is a potential for some overlap. For example, if a Client requests 'printer-name' and 'all', the Client is actually requesting the

由于客户端可能会请求特定的属性或命名组,因此可能存在一些重叠。例如,如果客户机请求“打印机名称”和“全部”,则客户机实际上是在请求

"printer-name" attribute twice: once by naming it explicitly, and once by inclusion in the 'all' group. In such cases, the Printer returns each attribute only once in the response even if it is requested multiple times. The Client SHOULD NOT request the same attribute in multiple ways.

“打印机名称”属性两次:一次显式命名,一次包含在“全部”组中。在这种情况下,打印机在响应中仅返回每个属性一次,即使请求多次也是如此。客户端不应以多种方式请求同一属性。

Printers MUST support all group names and MUST return all supported attributes belonging to the group.

打印机必须支持所有组名,并且必须返回属于该组的所有受支持的属性。

4.2.5.1. Get-Printer-Attributes Request
4.2.5.1. 获取打印机属性请求

The following sets of attributes are part of the Get-Printer-Attributes request:

以下属性集是获取打印机属性请求的一部分:

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.1.

“属性字符集”和“属性自然语言”属性如第4.1.4.1节所述。

Target:

目标:

The "printer-uri" (uri) operation attribute, which is the target for this operation as described in Section 4.1.5.

“打印机uri”(uri)操作属性,如第4.1.5节所述,它是此操作的目标。

Requesting User Name:

请求用户名:

The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the Client as described in Section 9.3.

“请求用户名”(name(MAX))属性应由客户机提供,如第9.3节所述。

"requested-attributes" (1setOf keyword):

“请求的属性”(1setOf关键字):

The Client MAY supply a set of attribute names and/or attribute group names in whose values the requester is interested. The Printer MUST support this attribute. If the Client omits this attribute, the Printer MUST respond as if this attribute had been supplied with a value of 'all'.

客户机可以提供一组属性名称和/或属性组名称,请求者对其值感兴趣。打印机必须支持此属性。如果客户端忽略此属性,则打印机必须响应,就像此属性已提供值“all”一样。

"document-format" (mimeMediaType):

“文档格式”(mimeMediaType):

The Client MAY supply and the Printer MUST support this attribute. It is useful for a Client to determine the set of supported attribute values that relate to the requested Document format. The Printer MUST return the attributes and values that it uses to validate a Job in a Job Creation or Validate-Job operation in which this Document format is supplied. The Printer SHOULD return only (1) those attributes

客户端可能提供,打印机必须支持此属性。对于客户机来说,确定与请求的文档格式相关的一组受支持的属性值非常有用。打印机必须返回属性和值,用于在提供此文档格式的作业创建或验证作业操作中验证作业。打印机应仅返回(1)这些属性

that are supported for the specified format and (2) the attribute values that are supported for the specified Document format. By specifying the Document format, the Client can get the Printer to eliminate the attributes and values that are not supported for a specific Document format. For example, a Printer might have multiple interpreters to support both 'application/postscript' (for PostScript) and 'text/plain' (for text) Documents. However, only one of those interpreters might support the "number-up" Job Template attribute with values of '1', '2', and '4'. The other interpreter might only be able to support the "number-up" Job Template attribute with a value of '1'. Thus, a Client can use the Get-Printer-Attributes operation to obtain the attributes and values that will be used to accept/reject a Job Creation request.

(2)指定文档格式支持的属性值。通过指定文档格式,客户端可以让打印机消除特定文档格式不支持的属性和值。例如,打印机可能有多个解释器来支持“应用程序/postscript”(用于postscript)和“文本/普通”(用于文本)文档。但是,这些口译员中只有一个可能支持值为“1”、“2”和“4”的“编号”作业模板属性。另一个解释器可能只能支持值为“1”的“编号”作业模板属性。因此,客户机可以使用Get Printer Attributes(获取打印机属性)操作来获取将用于接受/拒绝作业创建请求的属性和值。

If the Printer does not distinguish between different sets of supported values for each different Document format when validating Jobs in the Create-Job, Print-Job, Print-URI, and Validate-Job operations, it MUST NOT distinguish between different Document formats in the Get-Printer-Attributes operation. If the Printer does distinguish between different sets of supported values for each different Document format specified by the Client, this specialization applies only to the following Printer attributes:

如果在“创建作业”、“打印作业”、“打印URI”和“验证作业”操作中验证作业时,打印机不能区分不同文档格式的不同支持值集,则在“获取打印机属性”操作中不能区分不同的文档格式。如果打印机确实区分客户端指定的每种不同文档格式的不同支持值集,则此专门化仅适用于以下打印机属性:

+ Printer attributes that are Job Template attributes ("xxx-default", "xxx-supported", and "xxx-ready") (see Table 8 in Section 5.2),

+ 作为作业模板属性的打印机属性(“xxx默认”、“xxx支持”和“xxx准备”)(见第5.2节中的表8),

+ "pdl-override-supported",

+ “支持pdl覆盖”,

+ "compression-supported",

+ “支持压缩”,

+ "job-k-octets-supported",

+ “支持job-k-octets”,

+ "job-impressions-supported,

+ “支持工作印象,

+ "job-media-sheets-supported",

+ “支持的工作介质表”,

+ "printer-driver-installer",

+ “打印机驱动程序安装程序”,

+ "color-supported", and

+ “支持颜色”,以及

+ "reference-uri-schemes-supported"

+ “支持引用uri方案”

The values of all other Printer attributes (including "document-format-supported") remain invariant with respect to the Client-supplied Document format (except for new Printer Description attributes as registered according to Section 7.2).

所有其他打印机属性(包括“支持的文档格式”)的值相对于客户提供的文档格式保持不变(根据第7.2节注册的新打印机描述属性除外)。

If the Client omits this "document-format" operation attribute, the Printer MUST respond as if the attribute had been supplied with the value of the Printer's "document-format-default" attribute. Clients SHOULD always supply a value for "document-format", since the Printer's "document-format-default" value can be 'application/octet-stream', in which case the returned attributes and values are for the union of the Document formats that the Printer can automatically sense. For more details, see the description of the 'mimeMediaType' attribute syntax in Section 5.1.10.

如果客户端忽略此“文档格式”操作属性,则打印机必须响应,就像该属性已提供打印机的“文档格式默认”属性值一样。客户端应始终为“文档格式”提供一个值,因为打印机的“文档格式默认值”可以是“应用程序/八位字节流”,在这种情况下,返回的属性和值用于打印机可以自动感知的文档格式的并集。有关更多详细信息,请参阅第5.1.10节中对“mimeMediaType”属性语法的描述。

If the Client supplies a value for the "document-format" operation attribute that is not supported by the Printer, i.e., is not among the values of the Printer's "document-format-supported" attribute, the Printer MUST reject the operation and return the 'client-error-document-format-not-supported' status-code.

如果客户端为打印机不支持的“文档格式”操作属性提供值,即不在打印机的“支持的文档格式”属性的值中,则打印机必须拒绝该操作并返回“客户端错误文档格式不支持”状态码。

4.2.5.2. Get-Printer-Attributes Response
4.2.5.2. 获取打印机属性响应

The Printer returns the following sets of attributes as part of the Get-Printer-Attributes response:

打印机返回以下属性集,作为获取打印机属性响应的一部分:

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.2.

“属性字符集”和“属性自然语言”属性如第4.1.4.2节所述。

Status Message:

状态消息:

In addition to the REQUIRED status-code returned in every response, the response MAY include a "status-message" (text(255)) and/or a "detailed-status-message" (text(MAX)) operation attribute as described in Appendix B and Section 4.1.6.

除了在每个响应中返回的所需状态代码外,响应可能包括“状态消息”(文本(255))和/或“详细状态消息”(文本(最大))操作属性,如附录B和第4.1.6节所述。

Group 2: Unsupported Attributes

第2组:不支持的属性

See Section 4.1.7 for details on returning unsupported attributes.

有关返回不支持的属性的详细信息,请参见第4.1.7节。

The response MAY contain the "requested-attributes" operation attribute with any supplied values (attribute keywords) that were requested by the Client but are not supported by the Printer. If the Printer does return unsupported attributes referenced in the "requested-attributes" operation attribute and that attribute included group names, such as 'all', the unsupported attributes MUST NOT include attributes described in this document but not supported by the implementation.

响应可能包含“请求的属性”操作属性以及客户端请求但打印机不支持的任何提供的值(属性关键字)。如果打印机返回“请求的属性”操作属性中引用的不受支持的属性,并且该属性包含组名,例如“全部”,则不受支持的属性不得包含本文档中描述但实现不支持的属性。

Group 3: Printer Attributes

组3:打印机属性

This is the set of requested attributes and their current values. The Printer ignores (does not respond with) any requested attribute that is not supported. The Printer MAY respond with a subset of the supported attributes and values, depending on the security policy in force. However, the Printer MUST respond with the 'unknown' value for any supported attribute (including all REQUIRED attributes) for which the Printer does not know the value. Also, the Printer MUST respond with 'no-value' for any supported attribute (including all REQUIRED attributes) for which the Administrator has not configured a value. See the description of the "out-of-band" values in the beginning of Section 5.1.

这是一组请求的属性及其当前值。打印机忽略(不响应)任何不受支持的请求属性。打印机可能会响应支持的属性和值的子集,具体取决于有效的安全策略。但是,对于打印机不知道其值的任何受支持属性(包括所有必需属性),打印机必须使用“未知”值进行响应。此外,对于管理员尚未配置值的任何受支持属性(包括所有必需属性),打印机必须以“无值”响应。参见第5.1节开头的“带外”值说明。

4.2.6. Get-Jobs Operation
4.2.6. 找工作操作

This REQUIRED operation allows a Client to retrieve the list of Jobs belonging to the target Printer. The Client can also supply a list of Job attribute names and/or attribute group names. A group of Job attributes will be returned for each Job that is returned.

此必需操作允许客户端检索属于目标打印机的作业列表。客户机还可以提供作业属性名称和/或属性组名称的列表。将为返回的每个作业返回一组作业属性。

This operation is similar to the Get-Job-Attributes operation, except that this Get-Jobs operation returns attributes from possibly more than one Job.

此操作类似于“获取作业属性”操作,只是此“获取作业”操作可能会从多个作业返回属性。

4.2.6.1. Get-Jobs Request
4.2.6.1. 获取作业请求

The Client submits the Get-Jobs request to a Printer.

客户端向打印机提交获取作业请求。

The following groups of attributes are part of the Get-Jobs request:

以下属性组是Get Jobs请求的一部分:

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.1.

“属性字符集”和“属性自然语言”属性如第4.1.4.1节所述。

Target:

目标:

The "printer-uri" (uri) operation attribute, which is the target for this operation as described in Section 4.1.5.

“打印机uri”(uri)操作属性,如第4.1.5节所述,它是此操作的目标。

Requesting User Name:

请求用户名:

The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the Client as described in Section 9.3.

“请求用户名”(name(MAX))属性应由客户机提供,如第9.3节所述。

"limit" (integer(1:MAX)):

“限制”(整数(1:MAX)):

The Client MAY supply and the Printer MUST support this attribute. It is an integer value that determines the maximum number of Jobs that a Client will receive from the Printer even if "which-jobs" or "my-jobs" (described below) constrain which Jobs are returned. The limit is a "stateless limit" in that if the value supplied by the Client is 'N', then only the first 'N' Jobs are returned in the Get-Jobs response. If the Client does not supply this attribute, the Printer responds with all applicable Jobs.

客户端可能提供,打印机必须支持此属性。它是一个整数值,用于确定客户端将从打印机接收的最大作业数,即使“哪些作业”或“我的作业”(如下所述)限制返回哪些作业。该限制是一个“无状态限制”,因为如果客户端提供的值为“N”,则在Get Jobs响应中只返回前“N”个作业。如果客户机不提供此属性,打印机将使用所有适用的作业进行响应。

"requested-attributes" (1setOf type2 keyword):

“请求的属性”(1setOf type2关键字):

The Client MAY supply and the Printer MUST support this attribute. It is a set of Job attribute names and/or attribute group names in whose values the requester is interested. This set of attributes is returned for each Job that is returned. The allowed attribute group names are the same as those defined in the Get-Job-Attributes operation in Section 4.3.4. If the Client does not supply this attribute, the Printer MUST respond as if the Client had supplied this attribute with two values: "job-uri" and "job-id".

客户端可能提供,打印机必须支持此属性。它是一组作业属性名称和/或属性组名称,请求者对其值感兴趣。为返回的每个作业返回此属性集。允许的属性组名称与第4.3.4节“获取作业属性”操作中定义的名称相同。如果客户端未提供此属性,则打印机必须作出响应,就像客户端提供了此属性的两个值:“作业uri”和“作业id”。

"which-jobs" (type2 keyword):

“哪些作业”(type2关键字):

The Client MAY supply and the Printer MUST support this attribute. It indicates which Jobs MUST be returned by the Printer. The values for this attribute include:

客户端可能提供,打印机必须支持此属性。它指示打印机必须返回的作业。此属性的值包括:

+ 'completed': Any Job whose state is 'completed', 'canceled', or 'aborted'.

+ “已完成”:状态为“已完成”、“已取消”或“已中止”的任何作业。

+ 'not-completed': Any Job whose state is 'pending', 'processing', 'processing-stopped', or 'pending-held'.

+ “未完成”:状态为“挂起”、“正在处理”、“处理已停止”或“挂起”的任何作业。

A Printer MUST support both values. However, if the implementation does not keep Jobs in the 'completed', 'canceled', and 'aborted' states, then it returns no Jobs when the 'completed' value is supplied.

打印机必须同时支持这两个值。但是,如果实现没有将作业保持在“已完成”、“已取消”和“已中止”状态,则在提供“已完成”值时,它不会返回任何作业。

If a Client supplies some other value that is not supported by the Printer, the Printer MUST copy the attribute and the unsupported value to the Unsupported Attributes group, reject the request, and return the 'client-error-attributes-or-values-not-supported' status-code.

如果客户端提供打印机不支持的其他值,打印机必须将属性和不支持的值复制到不支持的属性组,拒绝请求,并返回“客户端错误属性或不支持的值”状态代码。

If the Client does not supply this attribute, the Printer MUST respond as if the Client had supplied the attribute with a value of 'not-completed'.

如果客户端未提供此属性,则打印机必须作出响应,就像客户端提供的属性值为“not completed”(未完成)一样。

"my-jobs" (boolean):

“我的工作”(布尔值):

The Client MAY supply and the Printer MUST support this attribute. It indicates whether Jobs from all users or just the Jobs submitted by the requesting user of this request MUST be considered as candidate Jobs to be returned by the Printer. If the Client does not supply this attribute, the Printer MUST respond as if the Client had supplied the attribute with a value of 'false', i.e., Jobs from all users. The means for authenticating the requesting user and matching the Jobs is described in Section 9.

客户端可能提供,打印机必须支持此属性。它指示是否必须将来自所有用户的作业或仅此请求的请求用户提交的作业视为打印机返回的候选作业。如果客户端未提供此属性,则打印机必须作出响应,就像客户端已提供属性值为“false”(即来自所有用户的作业)一样。第9节描述了认证请求用户和匹配作业的方法。

4.2.6.2. Get-Jobs Response
4.2.6.2. 获得工作响应

The Printer returns all of the Jobs up to the number specified by the "limit" attribute that match the criteria as defined by the attribute values supplied by the Client in the request. It is possible that no Jobs are returned, since there can literally be no Jobs at the Printer or there can be no Jobs that match the criteria supplied by the Client. If the Client requests any Job attributes at all, there is a set of Job Attributes returned for each Job.

打印机返回所有作业,其数量不超过“limit”属性指定的数量,这些作业与客户端在请求中提供的属性值定义的条件相匹配。可能不会返回任何作业,因为打印机上可能没有作业,也可能没有与客户端提供的条件匹配的作业。如果客户端请求任何作业属性,则会为每个作业返回一组作业属性。

It is not an error for the Printer to return 0 Jobs. If the response returns 0 Jobs because there are no Jobs matching the criteria, and the request would have returned one or more Jobs with a status-code of 'successful-ok' if there had been Jobs matching the criteria, then the status-code for 0 Jobs MUST be 'successful-ok'.

打印机返回0个作业不是错误。如果响应返回0个作业,因为没有与条件匹配的作业,并且如果有与条件匹配的作业,请求将返回一个或多个状态代码为“成功确定”的作业,则0个作业的状态代码必须为“成功确定”。

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.2.

“属性字符集”和“属性自然语言”属性如第4.1.4.2节所述。

Status Message:

状态消息:

In addition to the REQUIRED status-code returned in every response, the response MAY include a "status-message" (text(255)) and/or a "detailed-status-message" (text(MAX)) operation attribute as described in Appendix B and Section 4.1.6.

除了在每个响应中返回的所需状态代码外,响应可能包括“状态消息”(文本(255))和/或“详细状态消息”(文本(最大))操作属性,如附录B和第4.1.6节所述。

Group 2: Unsupported Attributes

第2组:不支持的属性

See Section 4.1.7 for details on returning unsupported attributes.

有关返回不支持的属性的详细信息,请参见第4.1.7节。

The response MAY contain the "requested-attributes" operation attribute with any supplied values (attribute keywords) that were requested by the Client but are not supported by the Printer. If the Printer does return unsupported attributes referenced in the "requested-attributes" operation attribute and that attribute included group names, such as 'all', the unsupported attributes MUST NOT include attributes described in this document but not supported by the implementation.

响应可能包含“请求的属性”操作属性以及客户端请求但打印机不支持的任何提供的值(属性关键字)。如果打印机返回“请求的属性”操作属性中引用的不受支持的属性,并且该属性包含组名,例如“全部”,则不受支持的属性不得包含本文档中描述但实现不支持的属性。

Groups 3 to N: Job Attributes

第3至N组:作业属性

The Printer responds with one set of Job Attributes for each returned Job. The Printer ignores (does not respond with) any requested attribute or value that is not supported or that is restricted by the security policy in force, including whether the requesting user is the user that submitted the Job (Job-originating user) or not (see Section 9). However, the Printer MUST respond with the 'unknown' value for any supported attribute (including all REQUIRED attributes) for which the Printer does not know the value, unless it would violate the security policy. See the description of the "out-of-band" values in the beginning of Section 5.1.

打印机为每个返回的作业响应一组作业属性。打印机忽略(不响应)任何不受支持或受现行安全策略限制的请求属性或值,包括请求用户是否是提交作业的用户(作业发起用户)(请参阅第9节)。但是,对于打印机不知道其值的任何受支持属性(包括所有必需属性),打印机必须使用“未知”值进行响应,除非违反安全策略。参见第5.1节开头的“带外”值说明。

Jobs are returned in the following order:

作业按以下顺序返回:

* If the Client requests all 'completed' Jobs (Jobs in the 'completed', 'aborted', or 'canceled' states), then the Jobs are returned newest to oldest (with respect to actual completion time).

* 如果客户端请求所有“已完成”作业(处于“已完成”、“已中止”或“已取消”状态的作业),则将从最新的作业返回到最旧的作业(相对于实际完成时间)。

* If the Client requests all 'not-completed' Jobs (Jobs in the 'pending', 'processing', 'pending-held', and 'processing-stopped' states), then Jobs are returned in relative chronological order of expected time to complete (based on whatever scheduling algorithm is configured for the Printer).

* 如果客户端请求所有“未完成”作业(处于“挂起”、“处理”、“挂起保留”和“处理已停止”状态的作业),则将按照预期完成时间的相对时间顺序返回作业(基于为打印机配置的任何排程算法)。

4.2.7. Pause-Printer Operation
4.2.7. 暂停打印机操作

This OPTIONAL operation allows a Client to stop the Printer from scheduling Jobs on all its devices. Depending on implementation, the Pause-Printer operation MAY also stop the Printer from processing the current Job or Jobs. Any Job that is currently being printed is either (1) stopped as soon as the implementation permits or (2) completed, depending on implementation. The Printer MUST still accept Job Creation requests to create new Jobs but MUST prevent any Jobs from entering the 'processing' state.

此可选操作允许客户端停止打印机在其所有设备上安排作业。根据具体实施,暂停打印机操作也可能会停止打印机处理当前作业。当前正在打印的任何作业要么(1)在实施许可后立即停止,要么(2)根据实施情况完成。打印机仍必须接受创建新作业的作业创建请求,但必须防止任何作业进入“处理”状态。

If the Pause-Printer operation is supported, then the Resume-Printer operation MUST be supported, and vice versa.

如果支持暂停打印机操作,则必须支持恢复打印机操作,反之亦然。

The IPP Printer stops the current Job(s) on its device or devices that were in the 'processing' or 'processing-stopped' state as soon as the implementation permits. If the implementation will take appreciable time to stop, the IPP Printer adds the 'moving-to-paused' value to the Printer's "printer-state-reasons" attribute (see Section 5.4.12). When the device or devices have all stopped, the IPP Printer transitions the Printer to the 'stopped' state; removes the 'moving-to-paused' value, if present; and adds the 'paused' value to the Printer's "printer-state-reasons" attribute.

一旦实施允许,IPP打印机将立即停止其设备上处于“正在处理”或“已停止处理”状态的当前作业。如果实施需要相当长的时间才能停止,IPP打印机会将“移动到暂停”值添加到打印机的“打印机状态原因”属性中(参见第5.4.12节)。当设备全部停止时,IPP打印机将打印机转换为“停止”状态;删除“移动到暂停”值(如果存在);并将“暂停”值添加到打印机的“打印机状态原因”属性中。

When the current Job or Jobs complete that were in the 'processing' state, the IPP Printer transitions them to the 'completed' state. When the current Job or Jobs stop in mid-processing that were in the 'processing' state, the IPP Printer transitions them to the 'processing-stopped' state and adds the 'printer-stopped' value to the Jobs' "job-state-reasons" attribute.

当当前作业或处于“处理”状态的作业完成时,IPP打印机将其转换为“完成”状态。当当前作业或处于“处理”状态的作业在处理过程中停止时,IPP打印机会将其转换为“处理已停止”状态,并将“打印机已停止”值添加到作业的“作业状态原因”属性中。

For any Jobs that are 'pending' or 'pending-held', the 'printer-stopped' value of the Jobs' "job-state-reasons" attribute also applies. However, the IPP Printer MAY update those Jobs' "job-state-reasons" values when those Jobs are queried (so-called "lazy evaluation").

对于“挂起”或“挂起保留”的任何作业,作业的“作业状态原因”属性的“打印机已停止”值也适用。但是,当查询这些作业时,IPP打印机可能会更新这些作业的“作业状态原因”值(所谓的“延迟评估”)。

The IPP Printer MUST accept the request in any state and transition the Printer to the indicated new "printer-state" before returning, as shown in Table 2.

IPP打印机必须在任何状态下接受请求,并在返回之前将打印机转换到指定的新“打印机状态”,如表2所示。

Access Rights: The authenticated user (see Section 9.3) performing this operation MUST be an Operator or Administrator of the Printer (see Sections 1 and 9.5). Otherwise, the IPP Printer MUST reject the operation and return 'client-error-forbidden', 'client-error-not-authenticated', or 'client-error-not-authorized' as appropriate.

访问权限:执行此操作的经过身份验证的用户(参见第9.3节)必须是打印机的操作员或管理员(参见第1节和第9.5节)。否则,IPP打印机必须拒绝该操作,并根据需要返回“禁止客户端错误”、“未验证客户端错误”或“未授权客户端错误”。

   +--------------+--------------+-----------------+-------------------+
   | Current      | New          | "printer-state- | IPP Printer's     |
   | "printer-    | "printer-    | reasons"        | response status-  |
   | state"       | state"       |                 | code and action:  |
   +--------------+--------------+-----------------+-------------------+
   | 'idle'       | 'stopped'    | 'paused'        | 'successful-ok'   |
   +--------------+--------------+-----------------+-------------------+
   | 'processing' | 'processing' | 'moving-to-     | Option 1:         |
   |              |              | paused'         | 'successful-ok';  |
   |              |              |                 | Later, when all   |
   |              |              |                 | output has        |
   |              |              |                 | stopped, the      |
   |              |              |                 | "printer-state"   |
   |              |              |                 | becomes           |
   |              |              |                 | 'stopped', and    |
   |              |              |                 | the 'paused'      |
   |              |              |                 | value replaces    |
   |              |              |                 | the 'moving-to-   |
   |              |              |                 | paused' value in  |
   |              |              |                 | the "printer-     |
   |              |              |                 | state-reasons"    |
   |              |              |                 | attribute         |
   +--------------+--------------+-----------------+-------------------+
   | 'processing' | 'stopped'    | 'paused'        | Option 2:         |
   |              |              |                 | 'successful-ok';  |
   |              |              |                 | all device output |
   |              |              |                 | stopped           |
   |              |              |                 | immediately       |
   +--------------+--------------+-----------------+-------------------+
   | 'stopped'    | 'stopped'    | 'paused'        | 'successful-ok'   |
   +--------------+--------------+-----------------+-------------------+
        
   +--------------+--------------+-----------------+-------------------+
   | Current      | New          | "printer-state- | IPP Printer's     |
   | "printer-    | "printer-    | reasons"        | response status-  |
   | state"       | state"       |                 | code and action:  |
   +--------------+--------------+-----------------+-------------------+
   | 'idle'       | 'stopped'    | 'paused'        | 'successful-ok'   |
   +--------------+--------------+-----------------+-------------------+
   | 'processing' | 'processing' | 'moving-to-     | Option 1:         |
   |              |              | paused'         | 'successful-ok';  |
   |              |              |                 | Later, when all   |
   |              |              |                 | output has        |
   |              |              |                 | stopped, the      |
   |              |              |                 | "printer-state"   |
   |              |              |                 | becomes           |
   |              |              |                 | 'stopped', and    |
   |              |              |                 | the 'paused'      |
   |              |              |                 | value replaces    |
   |              |              |                 | the 'moving-to-   |
   |              |              |                 | paused' value in  |
   |              |              |                 | the "printer-     |
   |              |              |                 | state-reasons"    |
   |              |              |                 | attribute         |
   +--------------+--------------+-----------------+-------------------+
   | 'processing' | 'stopped'    | 'paused'        | Option 2:         |
   |              |              |                 | 'successful-ok';  |
   |              |              |                 | all device output |
   |              |              |                 | stopped           |
   |              |              |                 | immediately       |
   +--------------+--------------+-----------------+-------------------+
   | 'stopped'    | 'stopped'    | 'paused'        | 'successful-ok'   |
   +--------------+--------------+-----------------+-------------------+
        

Table 2: Pause-Printer State Transitions

表2:暂停打印机状态转换

4.2.7.1. Pause-Printer Request
4.2.7.1. 暂停打印机请求

The following groups of attributes are part of the Pause-Printer request:

以下属性组是暂停打印机请求的一部分:

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.1.

“属性字符集”和“属性自然语言”属性如第4.1.4.1节所述。

Target:

目标:

The "printer-uri" (uri) operation attribute, which is the target for this operation as described in Section 4.1.5.

“打印机uri”(uri)操作属性,如第4.1.5节所述,它是此操作的目标。

Requesting User Name:

请求用户名:

The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the Client as described in Section 9.3.

“请求用户名”(name(MAX))属性应由客户机提供,如第9.3节所述。

4.2.7.2. Pause-Printer Response
4.2.7.2. 暂停打印机响应

The following groups of attributes are part of the Pause-Printer response:

以下属性组是暂停打印机响应的一部分:

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.2.

“属性字符集”和“属性自然语言”属性如第4.1.4.2节所述。

Status Message:

状态消息:

In addition to the REQUIRED status-code returned in every response, the response MAY include a "status-message" (text(255)) and/or a "detailed-status-message" (text(MAX)) operation attribute as described in Appendix B and Section 4.1.6.

除了在每个响应中返回的所需状态代码外,响应可能包括“状态消息”(文本(255))和/或“详细状态消息”(文本(最大))操作属性,如附录B和第4.1.6节所述。

Group 2: Unsupported Attributes

第2组:不支持的属性

See Section 4.1.7 for details on returning unsupported attributes.

有关返回不支持的属性的详细信息,请参见第4.1.7节。

4.2.8. Resume-Printer Operation
4.2.8. 恢复打印机操作

This OPTIONAL operation allows a Client to resume the Printer scheduling Jobs on all its devices. The Printer MUST remove the 'paused' and 'moving-to-paused' values from the Printer's "printer-state-reasons" attribute, if present. If there are no other reasons to keep a device paused (such as a media jam), the IPP Printer is free to transition itself to the 'processing' or 'idle' state, depending on whether there are Jobs to be processed or not, respectively, and the device(s) resumes processing Jobs.

此可选操作允许客户端恢复其所有设备上的打印机计划作业。打印机必须从打印机的“打印机状态原因”属性(如果存在)中删除“暂停”和“移动到暂停”值。如果没有其他原因使设备暂停(如卡纸),IPP打印机可以自由地将自身转换为“正在处理”或“空闲”状态,具体取决于是否有要处理的作业,并且设备恢复处理作业。

If the Pause-Printer operation is supported, then the Resume-Printer operation MUST be supported, and vice versa.

如果支持暂停打印机操作,则必须支持恢复打印机操作,反之亦然。

The IPP Printer removes the 'printer-stopped' value from any Job's "job-state-reasons" attributes contained in that Printer.

IPP打印机从该打印机中包含的任何作业的“作业状态原因”属性中删除“打印机已停止”值。

The IPP Printer MUST accept the request in any state and transition the Printer to the indicated new state as shown in Table 3.

IPP打印机必须在任何状态下接受请求,并将打印机转换到表3所示的新状态。

Access Rights: The authenticated user (see Section 9.3) performing this operation MUST be an Operator or Administrator of the Printer (see Sections 1 and 9.5). Otherwise, the IPP Printer MUST reject the operation and return 'client-error-forbidden', 'client-error-not-authenticated', or 'client-error-not-authorized' as appropriate.

访问权限:执行此操作的经过身份验证的用户(参见第9.3节)必须是打印机的操作员或管理员(参见第1节和第9.5节)。否则,IPP打印机必须拒绝该操作,并根据需要返回“禁止客户端错误”、“未验证客户端错误”或“未授权客户端错误”。

The Resume-Printer request and Resume-Printer response have the same attribute groups and attributes as the Pause-Printer operation (see Sections 4.2.7.1 and 4.2.7.2).

恢复打印机请求和恢复打印机响应具有与暂停打印机操作相同的属性组和属性(请参阅第4.2.7.1节和第4.2.7.2节)。

   +-----------------+-----------------+-------------------------------+
   | Current         | New "printer-   | IPP Printer's response        |
   | "printer-state" | state"          | status-code and action:       |
   +-----------------+-----------------+-------------------------------+
   | 'idle'          | 'idle'          | 'successful-ok'               |
   +-----------------+-----------------+-------------------------------+
   | 'processing'    | 'processing'    | 'successful-ok'               |
   +-----------------+-----------------+-------------------------------+
   | 'stopped'       | 'processing'    | 'successful-ok', when there   |
   |                 |                 | are Jobs to be processed      |
   +-----------------+-----------------+-------------------------------+
   | 'stopped'       | 'idle'          | 'successful-ok', when there   |
   |                 |                 | are no Jobs to be processed   |
   +-----------------+-----------------+-------------------------------+
        
   +-----------------+-----------------+-------------------------------+
   | Current         | New "printer-   | IPP Printer's response        |
   | "printer-state" | state"          | status-code and action:       |
   +-----------------+-----------------+-------------------------------+
   | 'idle'          | 'idle'          | 'successful-ok'               |
   +-----------------+-----------------+-------------------------------+
   | 'processing'    | 'processing'    | 'successful-ok'               |
   +-----------------+-----------------+-------------------------------+
   | 'stopped'       | 'processing'    | 'successful-ok', when there   |
   |                 |                 | are Jobs to be processed      |
   +-----------------+-----------------+-------------------------------+
   | 'stopped'       | 'idle'          | 'successful-ok', when there   |
   |                 |                 | are no Jobs to be processed   |
   +-----------------+-----------------+-------------------------------+
        

Table 3: Resume-Printer State Transitions

表3:恢复打印机状态转换

4.2.9. Purge-Jobs Operation
4.2.9. 清除作业操作

This DEPRECATED operation allows a Client to remove all Jobs from a Printer, regardless of their Job states, including Jobs in the Printer's Job History (see Section 5.3.7.2). After a Purge-Jobs operation has been performed, a Printer MUST return no Jobs in subsequent Get-Job-Attributes and Get-Jobs responses (until new Jobs are submitted).

此不推荐使用的操作允许客户端从打印机中删除所有作业,而不管其作业状态如何,包括打印机作业历史记录中的作业(请参阅第5.3.7.2节)。执行清除作业操作后,打印机必须在后续的“获取作业属性”和“获取作业”响应中不返回任何作业(直到提交新作业)。

Note: This operation SHOULD NOT be supported in new implementations, since it destroys Printer accounting information.

注意:新实现中不应支持此操作,因为它会破坏打印机记帐信息。

Whether the Purge-Jobs (and Get-Jobs) operation affects Jobs that were submitted to the device from sources other than the IPP Printer in the same way that the Purge-Jobs operation affects Jobs that were submitted to the IPP Printer using IPP depends on implementation, i.e., on whether IPP is being used as a universal management protocol or just to manage IPP Jobs, respectively.

清除作业(和获取作业)操作是否影响从IPP打印机以外的源提交到设备的作业,就像清除作业操作影响使用IPP提交到IPP打印机的作业一样,取决于实施情况,即。,IPP是用作通用管理协议还是仅用于管理IPP作业。

Note: If an Operator wants to cancel all Jobs without clearing out the Job History, the Operator uses the Cancel-Job operation on each Job instead of using the Purge-Jobs operation.

注意:如果操作员希望在不清除作业历史记录的情况下取消所有作业,则操作员将对每个作业使用“取消作业”操作,而不是使用“清除作业”操作。

If this OPTIONAL operation is supported, the Printer MUST accept this operation in any state and transition the Printer to the 'idle' state.

如果支持此可选操作,打印机必须在任何状态下接受此操作,并将打印机转换为“空闲”状态。

Access Rights: The authenticated user (see Section 9.3) performing this operation MUST be an Operator or Administrator of the Printer (see Sections 1 and 9.5). Otherwise, the Printer MUST reject the operation and return 'client-error-forbidden', 'client-error-not-authenticated', and 'client-error-not-authorized' as appropriate.

访问权限:执行此操作的经过身份验证的用户(参见第9.3节)必须是打印机的操作员或管理员(参见第1节和第9.5节)。否则,打印机必须拒绝该操作,并根据需要返回“禁止客户端错误”、“未验证客户端错误”和“未授权客户端错误”。

The Purge-Jobs request and Purge-Jobs response have the same attribute groups and attributes as the Pause-Printer operation (see Sections 4.2.7.1 and 4.2.7.2).

清除作业请求和清除作业响应具有与暂停打印机操作相同的属性组和属性(请参阅第4.2.7.1和4.2.7.2节)。

4.3. Job Operations
4.3. 作业操作

All Job operations are directed at Jobs. A Client MUST always supply some means of identifying the Job object in order to identify the correct target of the operation. That Job identification SHOULD be the combination of a Printer URI with a Job ID but MAY be the (single) Job URI. The IPP implementation MUST support both forms of identification for every Job.

所有作业操作都针对作业。客户机必须始终提供一些识别作业对象的方法,以便识别正确的操作目标。该作业标识应该是打印机URI与作业ID的组合,但也可以是(单个)作业URI。IPP实施必须支持每个作业的两种标识形式。

4.3.1. Send-Document Operation
4.3.1. 发送文档操作

This RECOMMENDED operation allows a Client to add a Document to a Job that was created using the Create-Job operation. In the Create-Job response, the Printer returns the Job's URI (the "job-uri" attribute) and the Job's 32-bit identifier (the "job-id" attribute). For each new Document that the Client desires to add, the Client uses a Send-Document operation. Each Send-Document request contains the entire stream of Document data for one Document.

此推荐操作允许客户端将文档添加到使用创建作业操作创建的作业中。在创建作业响应中,打印机返回作业的URI(“作业URI”属性)和作业的32位标识符(“作业id”属性)。对于客户端希望添加的每个新文档,客户端使用发送文档操作。每个发送文档请求都包含一个文档的整个文档数据流。

If the Printer supports this operation but does not support multiple Documents per Job, the Printer MUST reject subsequent Send-Document operations supplied with data and return the 'server-error-multiple-document-jobs-not-supported' status-code. However, the Printer MUST accept the first Document with a 'true' or 'false' value for the "last-document" operation attribute (see below), so that Clients MAY always submit one Document Job with a 'false' value for "last-document" in the first Send-Document and a 'true' value for "last-document" in the second Send-Document (with no data).

如果打印机支持此操作,但不支持每个作业有多个文档,则打印机必须拒绝随数据提供的后续发送文档操作,并返回“服务器错误-不支持多个文档作业”状态代码。但是,打印机必须接受“最后一份文档”操作属性值为“真”或“假”的第一份文档(见下文),以便客户端可以始终提交一份文档作业,第一份发送文档中的“最后一份文档”值为“假”,第二份发送文档中的“最后一份文档”值为“真”(无数据)。

Since the Create-Job and the send operations (Send-Document or Send-URI operations) that follow could occur over an arbitrarily long period of time for a particular Job, a Client MUST send another send operation within a minimum time interval, as defined by the IPP Printer, after the receipt of the previous request for the Job. If a Printer supports the Create-Job and Send-Document operations, the Printer MUST support the "multiple-operation-time-out" attribute (see Section 5.4.31). This attribute indicates the minimum number of seconds the Printer will wait for the next send operation before taking some recovery action.

由于创建作业和随后的发送操作(发送文档或发送URI操作)可能会在特定作业的任意长时间内发生,因此客户端必须在收到上一个作业请求后,在IPP打印机定义的最小时间间隔内发送另一个发送操作。如果打印机支持创建作业和发送文档操作,则打印机必须支持“多次操作超时”属性(参见第5.4.31节)。此属性表示打印机在执行某些恢复操作之前等待下一次发送操作的最短秒数。

A Printer MUST recover from an errant Client that does not supply a send operation, sometime after the minimum time interval specified by the Printer's "multiple-operation-time-out" attribute. Such recovery MAY include any of the following actions or other recovery actions:

打印机必须在打印机的“多次操作超时”属性指定的最短时间间隔后的某个时间段从未提供发送操作的错误客户端恢复。此类恢复可能包括以下任何行动或其他恢复行动:

1. Assume that the Job is an invalid Job, start the process of changing the Job state to 'aborted', add the 'aborted-by-system' value to the Job's "job-state-reasons" attribute (see Section 5.3.8), and clean up all resources associated with the Job. In this case, if another send operation is finally received, the Printer responds with a 'client-error-not-possible' or 'client-error-not-found' status-code, depending on whether the Job is still around when the send operation finally arrives.

1. 假设作业是无效作业,启动将作业状态更改为“中止”的过程,将“系统中止”值添加到作业的“作业状态原因”属性(参见第5.3.8节),并清理与作业相关的所有资源。在这种情况下,如果最终收到另一个发送操作,打印机将根据发送操作最终到达时作业是否仍然存在,以“客户端错误不可能”或“客户端错误未找到”状态代码进行响应。

2. Assume that the last send operation received was in fact the last Document (as if the "last-document" flag had been set to 'true'), close the Job, and proceed to process it (i.e., move the Job's state to 'pending').

2. 假设接收到的最后一个发送操作实际上是最后一个文档(好像“last Document”标志已设置为“true”),关闭作业,然后继续处理它(即,将作业的状态移动到“pending”)。

3. Assume that the last send operation received was in fact the last Document and close the Job, but move it to the 'pending-held' state and add the 'submission-interrupted' value to the Job's "job-state-reasons" attribute (see Section 5.3.8). This action allows the user or an Operator to determine whether to continue processing the Job by moving it back to the 'pending' state using the Release-Job operation (see Section 4.3.6) or to cancel the Job using the Cancel-Job operation (see Section 4.3.3).

3. 假设收到的最后一次发送操作实际上是最后一份文档,并关闭作业,但将其移动到“挂起”状态,并将“提交中断”值添加到作业的“作业状态原因”属性中(见第5.3.8节)。此操作允许用户或操作员通过使用“释放作业”操作(参见第4.3.6节)将作业移回“挂起”状态来确定是否继续处理作业,或使用“取消作业”操作(参见第4.3.3节)取消作业。

Each implementation is free to decide the "best" action to take, depending on the following: local policy, whether any Documents have been added, whether the implementation spools Jobs or not, and/or any other piece of information available to it. If the choice is to abort the Job, it is possible that the Job has already been processed to the point that some Media Sheet pages have been printed.

每个实现都可以自由决定要采取的“最佳”操作,具体取决于以下内容:本地策略、是否添加了任何文档、实现是否后台处理作业和/或其可用的任何其他信息。如果选择中止作业,则作业可能已被处理到某些介质页已被打印的程度。

Access Rights: The authenticated user (see Section 9.3) performing this operation must be either the Job owner (as determined in the Create-Job operation) or an Operator or Administrator of the Printer (see Sections 1 and 9.5). Otherwise, the Printer MUST reject the operation and return 'client-error-forbidden', 'client-error-not-authenticated', or 'client-error-not-authorized' as appropriate.

访问权限:执行此操作的经过身份验证的用户(请参阅第9.3节)必须是作业所有者(在创建作业操作中确定)或打印机的操作员或管理员(请参阅第1节和第9.5节)。否则,打印机必须拒绝该操作,并根据需要返回“禁止客户端错误”、“未验证客户端错误”或“未授权客户端错误”。

4.3.1.1. Send-Document Request
4.3.1.1. 发送文件请求

The following attribute sets are part of the Send-Document request:

以下属性集是发送文档请求的一部分:

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.1.

“属性字符集”和“属性自然语言”属性如第4.1.4.1节所述。

Target:

目标:

Either the "printer-uri" (uri) plus "job-id" (integer(1:MAX)), or the "job-uri" (uri) operation attribute(s), which define the target for this operation as described in Section 4.1.5.

“打印机uri”(uri)加上“作业id”(整数(1:MAX)),或“作业uri”(uri)操作属性,如第4.1.5节所述,定义此操作的目标。

Requesting User Name:

请求用户名:

The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the Client as described in Section 9.3.

“请求用户名”(name(MAX))属性应由客户机提供,如第9.3节所述。

"document-name" (name(MAX)):

“文件名”(名称(最大值)):

The Client MAY supply and the Printer MUST support this attribute. It contains the Client-supplied Document name. The Document name MAY be different than the Job name and is not guaranteed to be unique across multiple Documents in the same Job. Typically, the Client software automatically supplies the Document name on behalf of the End User by using a file name or an application-generated name. See the description of the "document-name" operation attribute in the Print-Job request (Section 4.2.1.1) for more information about this attribute.

客户端可能提供,打印机必须支持此属性。它包含客户端提供的文档名。文档名称可能与作业名称不同,并且不能保证在同一作业中的多个文档中是唯一的。通常,客户端软件通过使用文件名或应用程序生成的名称,代表最终用户自动提供文档名。有关此属性的更多信息,请参阅打印作业请求(第4.2.1.1节)中“文档名称”操作属性的说明。

"compression" (type2 keyword):

“压缩”(type2关键字):

See the description of "compression" for the Print-Job operation in Section 4.2.1.1.

有关打印作业操作,请参见第4.2.1.1节中的“压缩”说明。

"document-format" (mimeMediaType):

“文档格式”(mimeMediaType):

See the description of "document-format" for the Print-Job operation in Section 4.2.1.1.

有关打印作业操作,请参见第4.2.1.1节中的“文档格式”说明。

"document-natural-language" (naturalLanguage):

“文档自然语言”(自然语言):

The Client MAY supply and the Printer MAY support this attribute. It specifies the natural language of the Document content for those Document formats that require a specification of the natural language in order to properly image the Document.

客户端可能提供,打印机可能支持此属性。它为那些需要自然语言规范的文档格式指定文档内容的自然语言,以便正确地对文档进行映像。

"last-document" (boolean):

“最后一个文档”(布尔值):

The Client MUST supply and the Printer MUST support this attribute. It is a boolean flag that is set to 'true' if this is the last Document for the Job; otherwise, it is set to 'false'.

客户端必须提供并且打印机必须支持此属性。如果这是作业的最后一个文档,则它是一个布尔标志,设置为“true”;否则,它将设置为“false”。

Group 2: Document Data

第2组:文件数据

The Client MUST supply the Document data if the "last-document" flag is set to 'false'. However, since a Client might not know that the previous Document sent with a Send-Document (or Send-URI) operation was the last Document (i.e., the "last-document" attribute was set to 'false'), it is legal to send a Send-Document request with no Document data where the "last-document" flag is set to 'true'. Such a request MUST NOT increment the value of the Job's "number-of-documents" attribute, since no real Document was added to the Job. It is not an error for a Client to submit a Job with no actual Document data, i.e., only a single Create-Job and Send-Document request with a "last-document" operation attribute set to 'true' with no Document data.

如果“last Document”标志设置为“false”,则客户端必须提供文档数据。但是,由于客户端可能不知道使用发送文档(或发送URI)操作发送的上一个文档是最后一个文档(即,“最后一个文档”属性设置为“false”),因此在“最后一个文档”标志设置为“true”的情况下,发送没有文档数据的发送文档请求是合法的。这样的请求不能增加作业的“文档数”属性的值,因为没有向作业添加真正的文档。客户端提交没有实际文档数据的作业(即,只有一个创建作业并发送“最后一个文档”操作属性设置为“true”且没有文档数据的文档请求)不是错误。

4.3.1.2. Send-Document Response
4.3.1.2. 发送文档响应

The following sets of attributes are part of the Send-Document response:

以下属性集是发送文档响应的一部分:

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.2.

“属性字符集”和“属性自然语言”属性如第4.1.4.2节所述。

Status Message:

状态消息:

In addition to the REQUIRED status-code returned in every response, the response MAY include a "status-message" (text(255)) and/or a "detailed-status-message" (text(MAX)) operation attribute as described in Appendix B and Section 4.1.6.

除了在每个响应中返回的所需状态代码外,响应可能包括“状态消息”(文本(255))和/或“详细状态消息”(文本(最大))操作属性,如附录B和第4.1.6节所述。

Group 2: Unsupported Attributes

第2组:不支持的属性

See Section 4.1.7 for details on returning unsupported attributes.

有关返回不支持的属性的详细信息,请参见第4.1.7节。

Group 3: Job Object Attributes

组3:作业对象属性

This is the same set of attributes as those described in the Print-Job response (see Section 4.2.1.2).

这与打印作业响应中描述的属性集相同(参见第4.2.1.2节)。

4.3.2. Send-URI Operation
4.3.2. 发送URI操作

This RECOMMENDED operation is identical to the Send-Document operation (see Section 4.3.1), except that a Client MUST supply a URI reference ("document-uri" operation attribute) rather than the Document data itself. If a Printer supports this operation, Clients can use both Send-URI and Send-Document operations to add new Documents to an existing Job. However, if a Client needs to indicate that the previous Send-URI or Send-Document was the last Document, the Client MUST use the Send-Document operation with no Document data and the "last-document" flag set to 'true' (rather than using a Send-URI operation with no "document-uri" operation attribute).

建议的操作与发送文档操作相同(参见第4.3.1节),不同之处在于客户端必须提供URI引用(“文档URI”操作属性),而不是文档数据本身。如果打印机支持此操作,则客户端可以使用发送URI和发送文档操作向现有作业添加新文档。但是,如果客户机需要指示上一个发送URI或发送文档是最后一个文档,则客户机必须使用没有文档数据且“最后一个文档”标志设置为“true”的发送文档操作(而不是使用没有“文档URI”操作属性的发送URI操作)。

If a Printer supports this operation, it MUST also support the Print-URI operation (see Section 4.2.2).

如果打印机支持此操作,它还必须支持打印URI操作(请参阅第4.2.2节)。

The Printer MUST validate the syntax and URI scheme of the supplied URI before returning a response, just as in the Print-URI operation. The Printer MAY validate the accessibility of the Document as part of the operation, or subsequently (see Section 4.2.2).

打印机必须在返回响应之前验证所提供URI的语法和URI方案,就像在打印URI操作中一样。打印机可作为操作的一部分或随后验证文档的可访问性(见第4.2.2节)。

4.3.3. Cancel-Job Operation
4.3.3. 取消作业操作

This REQUIRED operation allows a Client to cancel a Print Job from the time the Job is created up to the time it is completed, canceled, or aborted. Since a Job might already be printing by the time a Cancel-Job is received, some Media Sheet pages might be printed before the Job is actually terminated.

此必需的操作允许客户端从创建打印作业到完成、取消或中止打印作业为止取消打印作业。由于在收到“取消”作业时,作业可能已经在打印,因此某些介质页可能会在作业实际终止之前打印。

The Printer MUST accept or reject the request based on the Job's current state and transition the Job to the indicated new state as shown in Table 4.

打印机必须根据作业的当前状态接受或拒绝请求,并将作业转换到表4所示的新状态。

Access Rights: The authenticated user (see Section 9.3) performing this operation must be either the Job owner or an Operator or Administrator of the Printer (see Sections 1 and 9.5). Otherwise, the Printer MUST reject the operation and return 'client-error-forbidden', 'client-error-not-authenticated', or 'client-error-not-authorized' as appropriate.

访问权限:执行此操作的经过身份验证的用户(参见第9.3节)必须是作业所有者或打印机的操作员或管理员(参见第1节和第9.5节)。否则,打印机必须拒绝该操作,并根据需要返回“禁止客户端错误”、“未验证客户端错误”或“未授权客户端错误”。

   +-------------------+--------------------+--------------------------+
   | Current "job-     | New "job-state"    | Printer's response       |
   | state"            |                    | status-code and action:  |
   +-------------------+--------------------+--------------------------+
   | 'pending'         | 'canceled'         | 'successful-ok'          |
   +-------------------+--------------------+--------------------------+
   | 'pending-held'    | 'canceled'         | 'successful-ok'          |
   +-------------------+--------------------+--------------------------+
   | 'processing'      | 'canceled'         | 'successful-ok'          |
   +-------------------+--------------------+--------------------------+
   | 'processing'      | 'processing'       | 'successful-ok' (note 1) |
   +-------------------+--------------------+--------------------------+
   | 'processing'      | 'processing'       | 'client-error-not-       |
   |                   |                    | possible' (note 2)       |
   +-------------------+--------------------+--------------------------+
   | 'processing-      | 'canceled'         | 'successful-ok'          |
   | stopped'          |                    |                          |
   +-------------------+--------------------+--------------------------+
   | 'processing-      | 'processing-       | 'successful-ok' (note 1) |
   | stopped'          | stopped'           |                          |
   +-------------------+--------------------+--------------------------+
   | 'processing-      | 'processing-       | 'client-error-not-       |
   | stopped'          | stopped'           | possible' (note 2)       |
   +-------------------+--------------------+--------------------------+
   | 'completed'       | 'completed'        | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'canceled'        | 'canceled'         | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'aborted'         | 'aborted'          | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
        
   +-------------------+--------------------+--------------------------+
   | Current "job-     | New "job-state"    | Printer's response       |
   | state"            |                    | status-code and action:  |
   +-------------------+--------------------+--------------------------+
   | 'pending'         | 'canceled'         | 'successful-ok'          |
   +-------------------+--------------------+--------------------------+
   | 'pending-held'    | 'canceled'         | 'successful-ok'          |
   +-------------------+--------------------+--------------------------+
   | 'processing'      | 'canceled'         | 'successful-ok'          |
   +-------------------+--------------------+--------------------------+
   | 'processing'      | 'processing'       | 'successful-ok' (note 1) |
   +-------------------+--------------------+--------------------------+
   | 'processing'      | 'processing'       | 'client-error-not-       |
   |                   |                    | possible' (note 2)       |
   +-------------------+--------------------+--------------------------+
   | 'processing-      | 'canceled'         | 'successful-ok'          |
   | stopped'          |                    |                          |
   +-------------------+--------------------+--------------------------+
   | 'processing-      | 'processing-       | 'successful-ok' (note 1) |
   | stopped'          | stopped'           |                          |
   +-------------------+--------------------+--------------------------+
   | 'processing-      | 'processing-       | 'client-error-not-       |
   | stopped'          | stopped'           | possible' (note 2)       |
   +-------------------+--------------------+--------------------------+
   | 'completed'       | 'completed'        | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'canceled'        | 'canceled'         | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'aborted'         | 'aborted'          | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
        

Table 4: Cancel-Job State Transitions

表4:取消作业状态转换

Note 1: If the implementation requires some measurable time to cancel the Job in the 'processing' or 'processing-stopped' Job state, the Printer MUST add the 'processing-to-stop-point' value to the Job's "job-state-reasons" attribute and then transition the Job to the 'canceled' state when the processing ceases (see Section 5.3.8).

注1:如果实施需要一些可测量的时间来取消处于“处理”或“处理已停止”作业状态的作业,打印机必须将“处理至停止点”值添加到作业的“作业状态原因”属性中,然后在处理停止时将作业转换为“已取消”状态(见第5.3.8节)。

Note 2: If the Job already has the 'processing-to-stop-point' value in its "job-state-reasons" attribute, then the Printer MUST reject a Cancel-Job operation.

注2:如果作业在其“作业状态原因”属性中已具有“处理到停止点”值,则打印机必须拒绝取消作业操作。

4.3.3.1. Cancel-Job Request
4.3.3.1. 取消作业请求

The following groups of attributes are part of the Cancel-Job request:

以下属性组是取消作业请求的一部分:

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.1.

“属性字符集”和“属性自然语言”属性如第4.1.4.1节所述。

Target:

目标:

Either the "printer-uri" (uri) plus "job-id" (integer(1:MAX)), or the "job-uri" (uri) operation attribute(s), which define the target for this operation as described in Section 4.1.5.

“打印机uri”(uri)加上“作业id”(整数(1:MAX)),或“作业uri”(uri)操作属性,如第4.1.5节所述,定义此操作的目标。

Requesting User Name:

请求用户名:

The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the Client as described in Section 9.3.

“请求用户名”(name(MAX))属性应由客户机提供,如第9.3节所述。

"message" (text(127)):

“信息”(文本(127)):

The Client MAY supply and the Printer MAY support this attribute. It is a message to the Operator. This "message" attribute is not the same as the "job-message-from-operator" attribute. That attribute is used to report a message from the Operator to the End User that queries that attribute. This "message" operation attribute is used to send a message from the Client to the Operator along with the operation request. How or where to display this message to the Operator (if at all) is an implementation decision.

客户端可能提供,打印机可能支持此属性。这是给操作员的信息。此“消息”属性与“来自操作员的作业消息”属性不同。该属性用于向查询该属性的最终用户报告来自操作员的消息。此“消息”操作属性用于将消息与操作请求一起从客户端发送给操作员。如何或在何处向操作员显示此消息(如果有)是一项实施决策。

4.3.3.2. Cancel-Job Response
4.3.3.2. 取消作业响应

The following sets of attributes are part of the Cancel-Job response:

以下属性集是“取消作业”响应的一部分:

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.2.

“属性字符集”和“属性自然语言”属性如第4.1.4.2节所述。

Status Message:

状态消息:

In addition to the REQUIRED status-code returned in every response, the response MAY include a "status-message" (text(255)) and/or a "detailed-status-message" (text(MAX)) operation attribute as described in Appendix B and Section 4.1.6.

除了在每个响应中返回的所需状态代码外,响应可能包括“状态消息”(文本(255))和/或“详细状态消息”(文本(最大))操作属性,如附录B和第4.1.6节所述。

Group 2: Unsupported Attributes

第2组:不支持的属性

See Section 4.1.7 for details on returning unsupported attributes.

有关返回不支持的属性的详细信息,请参见第4.1.7节。

Once a successful response has been sent, the implementation guarantees that the Job will eventually end up in the 'canceled' state. Between the time that the Cancel-Job operation is accepted and when the Job enters the 'canceled' job-state (see Section 5.3.7), the "job-state-reasons" attribute SHOULD contain the 'processing-to-stop-point' value, which indicates to later queries that although the Job might still be 'processing' it will eventually end up in the 'canceled' state, not the 'completed' state.

成功发送响应后,实现将确保作业最终处于“已取消”状态。在接受取消作业操作和作业进入“已取消”作业状态之间(见第5.3.7节),“作业状态原因”属性应包含“处理到停止点”值,这向以后的查询表明,尽管作业可能仍在“处理”,但最终将进入“已取消”状态,不是“已完成”状态。

4.3.4. Get-Job-Attributes Operation
4.3.4. 获取作业属性操作

This REQUIRED operation allows a Client to request the values of attributes of a Job, and it is almost identical to the Get-Printer-Attributes operation (see Section 4.2.5). The only differences are that the operation is directed at a Job rather than a Printer, there is no "document-format" operation attribute used when querying a Job, and the returned attribute group is a set of Job attributes rather than a set of Printer attributes.

此必需操作允许客户端请求作业的属性值,与获取打印机属性操作几乎相同(请参阅第4.2.5节)。唯一的区别是操作针对的是作业而不是打印机,查询作业时没有使用“文档格式”操作属性,返回的属性组是一组作业属性而不是一组打印机属性。

For Jobs, the possible names of attribute groups are:

对于作业,属性组的可能名称为:

o 'job-template': the subset of the Job Template attributes that apply to a Job (the first column of Table 8 in Section 5.2) that the implementation supports for Jobs.

o “作业模板”:应用于作业(第5.2节表8的第一列)的作业模板属性子集,实现支持作业。

o 'job-description': the subset of the Job Description and Status attributes specified in Section 5.3 that the implementation supports for Jobs.

o “职务说明”:第5.3节中指定的职务说明和状态属性的子集,实现支持该职务。

o 'all': the special group 'all' that includes all attributes that the implementation supports for Jobs.

o “全部”:特殊组“全部”,包括实现支持的所有作业属性。

Since a Client MAY request specific attributes or named groups, there is a potential for some overlap. For example, if a Client requests 'job-name' and 'job-description', the Client is actually requesting the "job-name" attribute once by naming it explicitly, and once by inclusion in the 'job-description' group. In such cases, the Printer returns the attribute only once in the response even if it is requested multiple times. The Client SHOULD NOT request the same attribute in multiple ways.

由于客户端可能会请求特定的属性或命名组,因此可能存在一些重叠。例如,如果客户机请求“职务名称”和“职务说明”,则客户机实际上通过显式命名“职务名称”属性请求了一次,通过包含在“职务说明”组中请求了一次。在这种情况下,即使多次请求属性,打印机也只在响应中返回一次属性。客户端不应以多种方式请求同一属性。

Jobs MUST support all group names and MUST return all supported attributes belonging to the group.

作业必须支持所有组名,并且必须返回属于该组的所有受支持属性。

4.3.4.1. Get-Job-Attributes Request
4.3.4.1. 获取作业属性请求

The following groups of attributes are part of the Get-Job-Attributes request when the request is directed at a Job:

当请求指向作业时,以下属性组是Get Job attributes请求的一部分:

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.1.

“属性字符集”和“属性自然语言”属性如第4.1.4.1节所述。

Target:

目标:

Either the "printer-uri" (uri) plus "job-id" (integer(1:MAX)), or the "job-uri" (uri) operation attribute(s), which define the target for this operation as described in Section 4.1.5.

“打印机uri”(uri)加上“作业id”(整数(1:MAX)),或“作业uri”(uri)操作属性,如第4.1.5节所述,定义此操作的目标。

Requesting User Name:

请求用户名:

The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the Client as described in Section 9.3.

“请求用户名”(name(MAX))属性应由客户机提供,如第9.3节所述。

"requested-attributes" (1setOf keyword):

“请求的属性”(1setOf关键字):

The Client MAY supply and the Printer MUST support this attribute. It is a set of attribute names and/or attribute group names in whose values the requester is interested. If the Client omits this attribute, the Printer MUST respond as if this attribute had been supplied with a value of 'all'.

客户端可能提供,打印机必须支持此属性。它是一组属性名称和/或属性组名称,请求者对其值感兴趣。如果客户端忽略此属性,则打印机必须响应,就像此属性已提供值“all”一样。

4.3.4.2. Get-Job-Attributes Response
4.3.4.2. 获取作业属性响应

The Printer returns the following sets of attributes as part of the Get-Job-Attributes response:

打印机返回以下属性集,作为Get Job attributes响应的一部分:

Group 1: Operation Attributes

第1组:操作属性

Natural Language and Character Set:

自然语言和字符集:

The "attributes-charset" and "attributes-natural-language" attributes as described in Section 4.1.4.2. "attributes-natural-language" MAY be the natural language of the Job, rather than the one requested.

“属性字符集”和“属性自然语言”属性如第4.1.4.2节所述。“自然语言属性”可能是工作的自然语言,而不是要求的自然语言。

Status Message:

状态消息:

In addition to the REQUIRED status-code returned in every response, the response MAY include a "status-message" (text(255)) and/or a "detailed-status-message" (text(MAX)) operation attribute as described in Appendix B and Section 4.1.6.

除了在每个响应中返回的所需状态代码外,响应可能包括“状态消息”(文本(255))和/或“详细状态消息”(文本(最大))操作属性,如附录B和第4.1.6节所述。

Group 2: Unsupported Attributes

第2组:不支持的属性

See Section 4.1.7 for details on returning unsupported attributes.

有关返回不支持的属性的详细信息,请参见第4.1.7节。

The response MAY contain the "requested-attributes" operation attribute with any supplied values (attribute keywords) that were requested by the Client but are not supported by the Printer. If the Printer does return unsupported attributes referenced in the "requested-attributes" operation attribute and that attribute included group names, such as 'all', the unsupported attributes MUST NOT include attributes described in this document but not supported by the implementation.

响应可能包含“请求的属性”操作属性以及客户端请求但打印机不支持的任何提供的值(属性关键字)。如果打印机返回“请求的属性”操作属性中引用的不受支持的属性,并且该属性包含组名,例如“全部”,则不受支持的属性不得包含本文档中描述但实现不支持的属性。

Group 3: Job Attributes

第3组:作业属性

This is the set of requested attributes and their current values. The Printer ignores (does not respond with) any requested attribute or value that is not supported or that is restricted by the security policy in force, including whether the requesting user is the user that submitted the Job (Job-originating user) or not (see Section 9). However, the Printer MUST respond with the 'unknown' value for any supported attribute (including all REQUIRED attributes) for which the Printer does not know the value, unless it would violate the security policy. See the description of the "out-of-band" values in the beginning of Section 5.1.

这是一组请求的属性及其当前值。打印机忽略(不响应)任何不受支持或受现行安全策略限制的请求属性或值,包括请求用户是否是提交作业的用户(作业发起用户)(请参阅第9节)。但是,对于打印机不知道其值的任何受支持属性(包括所有必需属性),打印机必须使用“未知”值进行响应,除非违反安全策略。参见第5.1节开头的“带外”值说明。

4.3.5. Hold-Job Operation
4.3.5. 停工作业

This OPTIONAL operation allows a Client to hold a pending Job in the queue so that it is not eligible for scheduling. If the Hold-Job operation is supported, then the Release-Job operation MUST be supported, and vice versa. The OPTIONAL "job-hold-until" operation attribute allows a Client to specify whether to hold the Job indefinitely or until a specified time period, if supported.

此可选操作允许客户端在队列中保留挂起的作业,从而使其不符合调度条件。如果支持保留作业操作,则必须支持释放作业操作,反之亦然。可选的“作业保留到”操作属性允许客户端指定是无限期保留作业,还是保留到指定的时间段(如果支持)。

The Printer MUST accept or reject the request based on the Job's current state and transition the Job to the indicated new state as shown in Table 5.

打印机必须根据作业的当前状态接受或拒绝请求,并将作业转换到表5所示的新状态。

Note: In order to keep the Hold-Job operation simple, such a request is rejected when the Job is in the 'processing' or 'processing-stopped' state. If an operation is needed to hold Jobs while in either of these states, it will be added as an additional operation, rather than overloading the Hold-Job operation. Then it is clear to Clients by querying the Printer's "operations-supported" (see Section 5.4.15) and the Job's "job-state" (see Section 5.3.7) attributes which operations are possible.

注意:为了简化保留作业操作,当作业处于“正在处理”或“正在处理已停止”状态时,会拒绝此类请求。如果在这些状态中的任何一种状态下需要一个操作来保持作业,则该操作将作为附加操作添加,而不是重载保持作业操作。然后,通过查询打印机的“支持的操作”(参见第5.4.15节)和作业的“作业状态”(参见第5.3.7节)属性,客户可以清楚地知道哪些操作是可能的。

Access Rights: The authenticated user (see Section 9.3) performing this operation must be either the Job owner or an Operator or Administrator of the Printer (see Sections 1 and 9.5). Otherwise, the Printer MUST reject the operation and return 'client-error-forbidden', 'client-error-not-authenticated', or 'client-error-not-authorized' as appropriate.

访问权限:执行此操作的经过身份验证的用户(参见第9.3节)必须是作业所有者或打印机的操作员或管理员(参见第1节和第9.5节)。否则,打印机必须拒绝该操作,并根据需要返回“禁止客户端错误”、“未验证客户端错误”或“未授权客户端错误”。

   +-------------------+--------------------+--------------------------+
   | Current "job-     | New "job-state"    | Printer's response       |
   | state"            |                    | status-code and action:  |
   +-------------------+--------------------+--------------------------+
   | 'pending'         | 'pending-held'     | 'successful-ok' (note 1) |
   +-------------------+--------------------+--------------------------+
   | 'pending'         | 'pending'          | 'successful-ok' (note 2) |
   +-------------------+--------------------+--------------------------+
   | 'pending-held'    | 'pending-held'     | 'successful-ok' (note 1) |
   +-------------------+--------------------+--------------------------+
   | 'pending-held'    | 'pending'          | 'successful-ok' (note 2) |
   +-------------------+--------------------+--------------------------+
   | 'processing'      | 'processing'       | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'processing-      | 'processing-       | 'client-error-not-       |
   | stopped'          | stopped'           | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'completed'       | 'completed'        | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'canceled'        | 'canceled'         | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'aborted'         | 'aborted'          | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
        
   +-------------------+--------------------+--------------------------+
   | Current "job-     | New "job-state"    | Printer's response       |
   | state"            |                    | status-code and action:  |
   +-------------------+--------------------+--------------------------+
   | 'pending'         | 'pending-held'     | 'successful-ok' (note 1) |
   +-------------------+--------------------+--------------------------+
   | 'pending'         | 'pending'          | 'successful-ok' (note 2) |
   +-------------------+--------------------+--------------------------+
   | 'pending-held'    | 'pending-held'     | 'successful-ok' (note 1) |
   +-------------------+--------------------+--------------------------+
   | 'pending-held'    | 'pending'          | 'successful-ok' (note 2) |
   +-------------------+--------------------+--------------------------+
   | 'processing'      | 'processing'       | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'processing-      | 'processing-       | 'client-error-not-       |
   | stopped'          | stopped'           | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'completed'       | 'completed'        | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'canceled'        | 'canceled'         | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'aborted'         | 'aborted'          | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
        

Table 5: Hold-Job State Transitions

表5:保持作业状态转换

Note 1: If the implementation supports multiple reasons for a Job to be in the 'pending-held' state, the Printer MUST add the "job-hold-until-specified" value to the Job's "job-state-reasons" attribute.

注1:如果实现支持作业处于“挂起保留”状态的多个原因,则打印机必须将“作业保留直到指定”值添加到作业的“作业状态原因”属性中。

Note 2: If the Printer supports the "job-hold-until" operation attribute, but the specified time period has already started (or is the 'no-hold' value) and there are no other reasons to hold the Job, the Printer MUST make the Job be a candidate for processing immediately (see Section 5.2.2) by putting the Job in the 'pending' state.

注2:如果打印机支持“作业保留到”操作属性,但指定的时间段已经开始(或为“无保留”值),并且没有其他原因保留作业,则打印机必须将作业置于“挂起”状态,使其成为立即处理的候选作业(见第5.2.2节)。

4.3.5.1. Hold-Job Request
4.3.5.1. 保留作业请求

The groups and operation attributes are the same as those defined for a Cancel-Job request (see Section 4.3.3.1), with the addition of the following Group 1 operation attribute:

组和操作属性与为取消作业请求定义的组和操作属性相同(参见第4.3.3.1节),但添加了以下组1操作属性:

"job-hold-until" (type2 keyword | name(MAX)):

“作业保留至”(键入2关键字|名称(最大值)):

The Client MAY supply and the Printer MUST support this operation attribute in a Hold-Job request if it supports the "job-hold-until" Job Template attribute in Job Creation requests. See Section 5.2.2. The Printer SHOULD support the "job-hold-until" Job Template attribute for use in Job Creation requests with at least the 'indefinite' value, if it supports the Hold-Job operation. Otherwise, a Client cannot create a Job and hold it immediately (without picking some supported time period in the future).

如果客户端支持作业创建请求中的“作业保留到”作业模板属性,则客户端可以在保留作业请求中提供并且打印机必须支持此操作属性。见第5.2.2节。如果打印机支持保留作业操作,则打印机应支持“作业保留到”作业模板属性,以便在至少具有“不确定”值的作业创建请求中使用。否则,客户端无法创建作业并立即保留它(如果不选择将来支持的某个时间段)。

If supplied and supported as specified in the Printer's "job-hold-until-supported" attribute, the Printer copies the supplied operation attribute to the Job, replacing the Job's previous "job-hold-until" attribute, if present, and makes the Job a candidate for scheduling during the supplied named time period.

如果按照打印机的“作业保持到受支持”属性中的指定提供和支持,打印机会将提供的操作属性复制到作业,替换作业以前的“作业保持到”属性(如果存在),并使作业成为在提供的指定时间段内安排的候选作业。

If supplied but either the "job-hold-until" operation attribute itself or the value supplied is not supported, the Printer accepts the request, returns the unsupported attribute or value in the Unsupported Attributes group according to Section 4.1.7, returns the 'successful-ok-ignored-or-substituted-attributes' status-code, and holds the Job indefinitely until a Client performs a subsequent Release-Job operation.

如果提供了“作业保持到”操作属性本身或提供的值不受支持,则打印机接受请求,根据第4.1.7节返回不支持的属性或不支持的属性组中的值,返回“成功确定忽略或替换属性”状态代码,并无限期保留作业,直到客户端执行后续发布作业操作。

If (1) the Client supplies either a value that specifies a time period that has already started or the 'no-hold' value (meaning don't hold the Job) and (2) the Printer supports the "job-hold-until" operation attribute and there are no other reasons to hold the Job, the Printer MUST accept the operation and make the Job be a candidate for processing immediately (see Section 5.2.2).

如果(1)客户端提供指定已开始的时间段的值或“不保留”值(表示不保留作业)和(2)打印机支持“作业保留到”操作属性,并且没有其他原因保留作业,打印机必须接受该操作,并使作业成为立即处理的候选作业(见第5.2.2节)。

If the Client does not supply a "job-hold-until" operation attribute in the request, the Printer MUST populate the Job with a "job-hold-until" attribute with the 'indefinite' value (if the Printer supports the "job-hold-until" attribute) and hold the Job indefinitely, until a Client performs a Release-Job operation.

如果客户端在请求中未提供“作业保留直到”操作属性,则打印机必须使用“不确定”值的“作业保留直到”属性(如果打印机支持“作业保留直到”属性)填充作业,并无限期保留作业,直到客户端执行释放作业操作。

4.3.5.2. Hold-Job Response
4.3.5.2. 等待工作响应

The groups and attributes are the same as those defined for a Cancel-Job response (see Section 4.3.3.2).

组和属性与为取消作业响应定义的组和属性相同(见第4.3.3.2节)。

4.3.6. Release-Job Operation
4.3.6. 发布作业操作

This OPTIONAL operation allows a Client to release a previously held Job so that it is again eligible for scheduling. If the Hold-Job operation is supported, then the Release-Job operation MUST be supported, and vice versa.

此可选操作允许客户端释放以前保留的作业,以便再次符合调度条件。如果支持保留作业操作,则必须支持释放作业操作,反之亦然。

This operation removes the "job-hold-until" Job attribute, if present, from the Job that had been supplied in the Create-Job or most recent Hold-Job or Restart-Job operation and removes its effect on the Job. The Printer MUST remove the "job-hold-until-specified" value from the Job's "job-state-reasons" attribute, if present. See Section 5.3.8.

此操作将从创建作业或最近的保留作业或重新启动作业操作中提供的作业中删除“作业保留到”作业属性(如果存在),并删除其对作业的影响。打印机必须从作业的“作业状态原因”属性(如果存在)中删除“作业保留直到指定”值。见第5.3.8节。

The Printer MUST accept or reject the request based on the Job's current state and transition the Job to the indicated new state as shown in Table 6.

打印机必须根据作业的当前状态接受或拒绝请求,并将作业转换到表6所示的新状态。

Access Rights: The authenticated user (see Section 9.3) performing this operation must be either the Job owner or an Operator or Administrator of the Printer (see Sections 1 and 9.5). Otherwise, the Printer MUST reject the operation and return 'client-error-forbidden', 'client-error-not-authenticated', or 'client-error-not-authorized' as appropriate.

访问权限:执行此操作的经过身份验证的用户(参见第9.3节)必须是作业所有者或打印机的操作员或管理员(参见第1节和第9.5节)。否则,打印机必须拒绝该操作,并根据需要返回“禁止客户端错误”、“未验证客户端错误”或“未授权客户端错误”。

The Release-Job request and Release-Job response have the same attribute groups and attributes as the Cancel-Job operation (see Sections 4.3.3.1 and 4.3.3.2).

发布作业请求和发布作业响应与取消作业操作具有相同的属性组和属性(参见第4.3.3.1节和第4.3.3.2节)。

   +-------------------+--------------------+--------------------------+
   | Current "job-     | New "job-state"    | Printer's response       |
   | state"            |                    | status-code and action:  |
   +-------------------+--------------------+--------------------------+
   | 'pending'         | 'pending'          | 'successful-ok'.  No     |
   |                   |                    | effect on the Job.       |
   +-------------------+--------------------+--------------------------+
   | 'pending-held'    | 'pending-held'     | 'successful-ok' (note 1) |
   +-------------------+--------------------+--------------------------+
   | 'pending-held'    | 'pending'          | 'successful-ok'          |
   +-------------------+--------------------+--------------------------+
   | 'processing'      | 'processing'       | 'successful-ok'.  No     |
   |                   |                    | effect on the Job.       |
   +-------------------+--------------------+--------------------------+
   | 'processing-      | 'processing-       | 'successful-ok'.  No     |
   | stopped'          | stopped'           | effect on the Job.       |
   +-------------------+--------------------+--------------------------+
   | 'completed'       | 'completed'        | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'canceled'        | 'canceled'         | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'aborted'         | 'aborted'          | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
        
   +-------------------+--------------------+--------------------------+
   | Current "job-     | New "job-state"    | Printer's response       |
   | state"            |                    | status-code and action:  |
   +-------------------+--------------------+--------------------------+
   | 'pending'         | 'pending'          | 'successful-ok'.  No     |
   |                   |                    | effect on the Job.       |
   +-------------------+--------------------+--------------------------+
   | 'pending-held'    | 'pending-held'     | 'successful-ok' (note 1) |
   +-------------------+--------------------+--------------------------+
   | 'pending-held'    | 'pending'          | 'successful-ok'          |
   +-------------------+--------------------+--------------------------+
   | 'processing'      | 'processing'       | 'successful-ok'.  No     |
   |                   |                    | effect on the Job.       |
   +-------------------+--------------------+--------------------------+
   | 'processing-      | 'processing-       | 'successful-ok'.  No     |
   | stopped'          | stopped'           | effect on the Job.       |
   +-------------------+--------------------+--------------------------+
   | 'completed'       | 'completed'        | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'canceled'        | 'canceled'         | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'aborted'         | 'aborted'          | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
        

Table 6: Release-Job State Transitions

表6:发布作业状态转换

Note 1: If there are other reasons to keep the Job in the 'pending-held' state, such as 'resources-are-not-ready', the Job remains in the 'pending-held' state. Thus, the 'pending-held' state is not just for Jobs that have the "job-hold-until" attribute applied to them but is also used for any reason that will keep the Job from being a candidate for scheduling and processing, such as 'resources-are-not-ready'. See the "job-hold-until" attribute (Section 5.2.2).

注1:如果有其他原因使作业保持“挂起挂起”状态,例如“资源未就绪”,则作业将保持“挂起挂起”状态。因此,“挂起挂起”状态不仅适用于应用了“作业挂起直到”属性的作业,而且还用于任何将阻止作业成为调度和处理候选对象的原因,例如“资源未就绪”。请参阅“作业保留至”属性(第5.2.2节)。

4.3.7. Restart-Job Operation
4.3.7. 重新启动作业操作

This DEPRECATED operation allows a Client to restart a Job that is retained in the queue after processing has completed (see Section 5.3.7.2).

此不推荐使用的操作允许客户端在处理完成后重新启动保留在队列中的作业(请参阅第5.3.7.2节)。

Note: This operation SHOULD NOT be supported in new implementations, since it destroys Printer accounting information. The Resubmit-Job operation [PWG5100.11] is the safe replacement for this operation and makes a copy of the Job, assigns a new "job-uri" and "job-id" to the copy, and resets the Job progress attributes in the new copy only.

注意:新实现中不应支持此操作,因为它会破坏打印机记帐信息。重新提交作业操作[PWG5100.11]是此操作的安全替代操作,它生成作业的副本,为副本分配新的“作业uri”和“作业id”,并仅重置新副本中的作业进度属性。

The Restart-Job operation moves the Job to the 'pending' or 'pending-held' Job state and restarts at the beginning on the same Printer with the same attribute values. If any of the Documents in the Job were passed by reference (Print-URI or Send-URI), the Printer MUST refetch the data, since the semantics of Restart-Job are to repeat all Job processing. The Job Status attributes that accumulate Job progress, such as "job-impressions-completed", "job-media-sheets-completed", and "job-k-octets-processed", MUST be reset to 0 so that they give an accurate record of the Job from its restart point. The Job MUST continue to use the same "job-uri" and "job-id" attribute values.

“重新启动作业”操作会将作业移动到“挂起”或“挂起已挂起”作业状态,并在同一打印机上以相同的属性值重新启动。如果作业中的任何文档是通过引用(打印URI或发送URI)传递的,则打印机必须重新提取数据,因为重新启动作业的语义是重复所有作业处理。累积作业进度的作业状态属性,如“作业印象已完成”、“作业媒体表已完成”和“作业k八位字节已处理”必须重置为0,以便它们提供作业从重新启动点开始的准确记录。作业必须继续使用相同的“作业uri”和“作业id”属性值。

The Printer MUST accept or reject the request based on the Job's current state and transition the Job to the indicated new state as shown in Table 7.

打印机必须根据作业的当前状态接受或拒绝请求,并将作业转换到表7所示的新状态。

Note: In order to prevent a user from inadvertently restarting a Job in the middle, the Restart-Job request is rejected when the Job is in the 'processing' or 'processing-stopped' state. If in the future an operation is needed to hold or restart Jobs while in either of these states, it will be added as an additional operation, rather than overloading the Restart-Job operation, so that it is clear that the user intended that the current Job not be completed.

注意:为了防止用户在中间无意中重新启动作业,当作业处于“处理”或“处理停止”状态时,重新启动作业请求被拒绝。如果将来需要某个操作来保持或重新启动处于上述任一状态的作业,则该操作将作为附加操作添加,而不是重载重新启动作业操作,以便用户明确表示当前作业未完成。

Access Rights: The authenticated user (see Section 9.3) performing this operation must be either the Job owner or an Operator or Administrator of the Printer (see Sections 1 and 9.5). Otherwise, the Printer MUST reject the operation and return 'client-error-forbidden', 'client-error-not-authenticated', or 'client-error-not-authorized' as appropriate.

访问权限:执行此操作的经过身份验证的用户(参见第9.3节)必须是作业所有者或打印机的操作员或管理员(参见第1节和第9.5节)。否则,打印机必须拒绝该操作,并根据需要返回“禁止客户端错误”、“未验证客户端错误”或“未授权客户端错误”。

   +-------------------+--------------------+--------------------------+
   | Current "job-     | New "job-state"    | Printer's response       |
   | state"            |                    | status-code and action:  |
   +-------------------+--------------------+--------------------------+
   | 'pending'         | 'pending'          | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'pending-held'    | 'pending-held'     | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'processing'      | 'processing'       | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'processing-      | 'processing-       | 'client-error-not-       |
   | stopped'          | stopped'           | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'completed'       | 'pending' or       | 'successful-ok' - Job is |
   |                   | 'pending-held'     | started over.            |
   +-------------------+--------------------+--------------------------+
   | 'completed'       | 'completed'        | 'client-error-not-       |
   |                   |                    | possible' - see Rule 1.  |
   +-------------------+--------------------+--------------------------+
   | 'canceled'        | 'pending' or       | 'successful-ok' - Job is |
   |                   | 'pending-held'     | started over.            |
   +-------------------+--------------------+--------------------------+
   | 'canceled'        | 'canceled'         | 'client-error-not-       |
   |                   |                    | possible' - see Rule 1.  |
   +-------------------+--------------------+--------------------------+
   | 'aborted'         | 'pending' or       | 'successful-ok' - Job is |
   |                   | 'pending-held'     | started over.            |
   +-------------------+--------------------+--------------------------+
   | 'aborted'         | 'aborted'          | 'client-error-not-       |
   |                   |                    | possible' - see Rule 1.  |
   +-------------------+--------------------+--------------------------+
        
   +-------------------+--------------------+--------------------------+
   | Current "job-     | New "job-state"    | Printer's response       |
   | state"            |                    | status-code and action:  |
   +-------------------+--------------------+--------------------------+
   | 'pending'         | 'pending'          | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'pending-held'    | 'pending-held'     | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'processing'      | 'processing'       | 'client-error-not-       |
   |                   |                    | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'processing-      | 'processing-       | 'client-error-not-       |
   | stopped'          | stopped'           | possible'                |
   +-------------------+--------------------+--------------------------+
   | 'completed'       | 'pending' or       | 'successful-ok' - Job is |
   |                   | 'pending-held'     | started over.            |
   +-------------------+--------------------+--------------------------+
   | 'completed'       | 'completed'        | 'client-error-not-       |
   |                   |                    | possible' - see Rule 1.  |
   +-------------------+--------------------+--------------------------+
   | 'canceled'        | 'pending' or       | 'successful-ok' - Job is |
   |                   | 'pending-held'     | started over.            |
   +-------------------+--------------------+--------------------------+
   | 'canceled'        | 'canceled'         | 'client-error-not-       |
   |                   |                    | possible' - see Rule 1.  |
   +-------------------+--------------------+--------------------------+
   | 'aborted'         | 'pending' or       | 'successful-ok' - Job is |
   |                   | 'pending-held'     | started over.            |
   +-------------------+--------------------+--------------------------+
   | 'aborted'         | 'aborted'          | 'client-error-not-       |
   |                   |                    | possible' - see Rule 1.  |
   +-------------------+--------------------+--------------------------+
        

Table 7: Restart-Job State Transitions

表7:重新启动作业状态转换

Rule 1: If the Job Retention Period has expired for the Job in this state, then the Printer rejects the operation. See Section 5.3.7.2.

规则1:如果处于此状态的作业的作业保留期已过期,则打印机将拒绝该操作。见第5.3.7.2节。

4.3.7.1. Restart-Job Request
4.3.7.1. 重新启动作业请求

The groups and attributes are the same as those defined for a Cancel-Job request (see Section 4.3.3.1), with the addition of the following Group 1 operation attribute:

这些组和属性与为取消作业请求定义的组和属性相同(参见第4.3.3.1节),添加了以下组1操作属性:

"job-hold-until" (type2 keyword | name(MAX)):

“作业保留至”(键入2关键字|名称(最大值)):

The Client MAY supply and the Printer MUST support this operation attribute in a Restart-Job request if it supports the "job-hold-until" Job Template attribute in Job Creation requests. See Section 5.2.2.

如果客户端支持作业创建请求中的“作业保留到”作业模板属性,则客户端可以在重新启动作业请求中提供并且打印机必须支持此操作属性。见第5.2.2节。

If supplied and supported as specified in the Printer's "job-hold-until-supported" attribute, the Printer copies the supplied operation attribute to the Job, replacing the Job's previous "job-hold-until" attribute, if present, and makes the Job a candidate for scheduling during the supplied named time period. See Section 5.2.2.

如果按照打印机的“作业保持到受支持”属性中的指定提供和支持,打印机会将提供的操作属性复制到作业,替换作业以前的“作业保持到”属性(如果存在),并使作业成为在提供的指定时间段内安排的候选作业。见第5.2.2节。

If supplied but the value is not supported, the Printer accepts the request, returns the unsupported attribute or value in the Unsupported Attributes group according to Section 4.1.7, returns the 'successful-ok-ignored-or-substituted-attributes' status-code, and holds the Job indefinitely until a Client performs a subsequent Release-Job operation.

如果提供了但不支持该值,打印机将接受请求,根据第4.1.7节返回不支持的属性或不支持属性组中的值,返回“成功确定忽略或替换属性”状态代码,并无限期保留作业,直到客户端执行后续发布作业操作。

If supplied but the "job-hold-until" operation attribute itself is not supported, the Printer accepts the request, returns the unsupported attribute with the out-of-band 'unsupported' value in the Unsupported Attributes group according to Section 4.1.7, returns the 'successful-ok-ignored-or-substituted-attributes' status-code, and restarts the Job, i.e., ignores the "job-hold-until" attribute.

如果提供了“作业保留直到”操作属性本身不受支持,则打印机接受请求,根据第4.1.7节返回不支持属性组中带外“unsupported”值的不支持属性,返回“successful ok ignored or substitude Attributes”状态码,并重新启动作业,即,忽略“作业保留到”属性。

If (1) the Client supplies either a value that specifies a time period that has already started or the 'no-hold' value (meaning don't hold the Job) and (2) the Printer supports the "job-hold-until" operation attribute and there are no other reasons to hold the Job, the Printer makes the Job a candidate for processing immediately (see Section 5.2.2).

如果(1)客户端提供指定已开始的时间段的值或“不保留”值(表示不保留作业)和(2)打印机支持“作业保留到”操作属性,并且没有其他原因保留作业,则打印机会将作业作为立即处理的候选对象(参见第5.2.2节).

If the Client does not supply a "job-hold-until" operation attribute in the request, the Printer removes the "job-hold-until" attribute, if present, from the Job. If there are no other reasons to hold the Job, the Restart-Job operation makes the Job a candidate for processing immediately (see Section 5.2.2).

如果客户端在请求中未提供“作业保留直到”操作属性,打印机将从作业中删除“作业保留直到”属性(如果存在)。如果没有其他原因保留作业,则“重新启动作业”操作会使该作业成为立即处理的候选作业(见第5.2.2节)。

4.3.7.2. Restart-Job Response
4.3.7.2. 重新启动作业响应

The groups and attributes are the same as those defined for a Cancel-Job response (see Section 4.3.3.2).

组和属性与为取消作业响应定义的组和属性相同(见第4.3.3.2节)。

5. Object Attributes
5. 对象属性

This section describes the attributes with their corresponding attribute syntaxes and values that are part of the IPP Model. The sections below show the objects and their associated attributes that are included within the scope of this protocol. Many of these attributes are derived from other relevant documents:

本节描述了属性及其对应的属性语法和值,它们是IPP模型的一部分。以下各节显示了包含在此协议范围内的对象及其关联属性。其中许多属性源自其他相关文档:

o Document Printing Application (DPA) [ISO10175]

o 文件打印应用程序(DPA)[ISO10175]

o Printer MIB v2 [RFC3805]

o 打印机MIB v2[RFC3805]

Each attribute is uniquely identified in this document using a "keyword" (see Section 2.3.7) that is the name of the attribute. The keyword is included in the section title describing that attribute.

在本文件中,每个属性都使用“关键字”(见第2.3.7节)作为属性名称进行唯一标识。关键字包含在描述该属性的部分标题中。

Note: Not only are keywords used to identify attributes, but one of the attribute syntaxes described below is "keyword" so that some attributes have 'keyword' values. Therefore, these attributes are defined as having an attribute syntax that is a set of keywords.

注意:不仅关键字用于标识属性,下面描述的属性语法之一是“关键字”,因此某些属性具有“关键字”值。因此,这些属性被定义为具有一组关键字的属性语法。

5.1. Attribute Syntaxes
5.1. 属性语法

This section defines the basic attribute syntax types that all Clients and IPP objects MUST be able to accept in responses and accept in requests, respectively. Each attribute description in Sections 4 and 5 includes in the section title the name of the attribute with its syntax(es) in parentheses. A conforming implementation of an attribute MUST include the semantics of the attribute syntax(es) so identified. Section 7.7 describes how the protocol can be extended with new attribute syntaxes.

本节定义了所有客户端和IPP对象必须能够分别在响应和请求中接受的基本属性语法类型。第4节和第5节中的每个属性描述在章节标题中包括属性名称及其括号中的语法。属性的一致性实现必须包括这样标识的属性语法的语义。第7.7节描述了如何使用新的属性语法扩展协议。

The attribute syntaxes are specified in the following subsections, where the subsection title is the keyword name of the attribute syntax inside the single quotes. In operation requests and responses, each attribute value MUST be represented as one of the attribute syntaxes specified in the subsection title for the attribute. In addition, the value of an attribute in a response (but not in a request) MAY be one of the "out-of-band" values (Section 5.1.1) whose special encoding rules are defined in the Encoding and Transport document [RFC8010].

属性语法在以下小节中指定,其中小节标题是单引号内属性语法的关键字名称。在操作请求和响应中,每个属性值必须表示为属性的子节标题中指定的属性语法之一。此外,响应(但不是请求)中属性的值可以是“带外”值之一(第5.1.1节),其特殊编码规则在编码和传输文档[RFC8010]中定义。

All attributes in a request MUST have one or more values as defined in Sections 5.2, 5.3, and 5.4. All attributes in a response MUST have either (1) one or more values as defined in Sections 5.2, 5.3, and 5.4 or (2) a single "out-of-band" value.

请求中的所有属性必须具有第5.2、5.3和5.4节中定义的一个或多个值。响应中的所有属性必须具有(1)第5.2、5.3和5.4节中定义的一个或多个值,或(2)单个“带外”值。

Most attributes are defined to have a single attribute syntax. However, a few attributes (e.g., "job-sheet", "media", "job-hold-until") are defined to have several attribute syntaxes, depending on the value. These multiple attribute syntaxes are separated by the "|" character in the subsection title to indicate the choice. Since each value MUST be tagged as to its attribute syntax in the protocol, a single-valued attribute instance can have any one of its attribute syntaxes and a multi-valued attribute instance can have a mixture of its defined attribute syntaxes.

大多数属性定义为具有单个属性语法。但是,一些属性(例如,“工作表”、“介质”、“作业保留到”)被定义为具有多个属性语法,具体取决于值。这些多属性语法在小节标题中用“|”字符分隔,以表示选择。由于每个值都必须根据其在协议中的属性语法进行标记,因此单值属性实例可以具有其任何一个属性语法,而多值属性实例可以具有其定义的属性语法的混合。

5.1.1. Out-of-Band Values - 'unknown', 'unsupported', and 'no-value'
5.1.1. 带外值-“未知”、“不支持”和“无值”

This document defines three "out-of-band" values that are used in place of an attribute's defined syntax:

本文档定义了三个“带外”值,用于代替属性定义的语法:

o 'unknown': The attribute is supported by the IPP object, but the value is unknown to the IPP object for some reason. This out-of-band value is used for attributes that have an intrinsic, physical value that cannot be determined by the IPP object at a given time, e.g., sheet count, geo-location, etc.

o “未知”:IPP对象支持该属性,但由于某些原因,IPP对象不知道该值。该带外值用于具有IPP对象在给定时间无法确定的内在物理值的属性,例如,图纸计数、地理位置等。

o 'unsupported': The attribute is unsupported by the IPP object. This value MUST be returned only as the value of an attribute in the Unsupported Attributes group.

o “unsupported”:IPP对象不支持该属性。此值只能作为“不支持的属性”组中的属性值返回。

o 'no-value': The attribute is supported by the Printer, but the Administrator has not yet configured a value.

o “无值”:打印机支持该属性,但管理员尚未配置值。

5.1.2. 'text'
5.1.2. “文本”

A 'text' attribute is an attribute whose value is a sequence of zero or more characters encoded in a maximum of 1023 ('MAX') octets. MAX is the maximum length for each value of any 'text' attribute. However, if an attribute will always contain values whose maximum length is much less than MAX, the definition of that attribute will include a qualifier that defines the maximum length for values of that attribute. For example, the "printer-location" attribute is specified as "printer-location (text(127))". In this case, text values for "printer-location" MUST NOT exceed 127 octets; if supplied with a longer text string via some external interface (other than the protocol), implementations are free to truncate to this shorter length limitation.

“文本”属性是一种属性,其值为编码为最多1023(“MAX”)个八位字节的零个或多个字符序列。MAX是任何“文本”属性的每个值的最大长度。但是,如果属性始终包含最大长度远小于MAX的值,则该属性的定义将包含一个限定符,该限定符定义该属性值的最大长度。例如,“打印机位置”属性被指定为“打印机位置(文本(127))”。在这种情况下,“打印机位置”的文本值不得超过127个八位字节;如果通过某个外部接口(协议除外)提供了较长的文本字符串,则实现可以自由截断到此较短的长度限制。

In this document, all 'text' attributes are defined using the 'text' syntax. However, 'text' is used only for brevity; the formal interpretation of 'text' is 'textWithoutLanguage | textWithLanguage'. That is, for any attribute defined in this document using the 'text' attribute syntax, all IPP objects and Clients MUST support both the 'textWithoutLanguage' and 'textWithLanguage' attribute syntaxes. However, in actual usage and protocol execution, IPP objects and Clients accept and return only one of the two syntaxes per attribute. The syntax 'text' never appears "on-the-wire".

在本文档中,所有“文本”属性都是使用“文本”语法定义的。然而,“文本”仅用于简洁;“文本”的正式解释是“带外文的文本|带语言的文本”。也就是说,对于本文档中使用“text”属性语法定义的任何属性,所有IPP对象和客户端都必须支持“textWithoutLanguage”和“textWithLanguage”属性语法。但是,在实际使用和协议执行中,IPP对象和客户端只接受并返回每个属性的两个语法中的一个。语法“text”从未出现在“在线”上。

Both 'textWithoutLanguage' and 'textWithLanguage' are needed to support the real-world needs of interoperability between sites and systems that use different natural languages as the basis for human communication. Generally, one natural language applies to all 'text' attributes in a given request or response. The language is indicated by the "attributes-natural-language" operation attribute defined in Section 4.1.4 or the "attributes-natural-language" Job attribute defined in Section 5.3.20, and there is no need to identify the natural language for each text string on a value-by-value basis. In these cases, the attribute syntax 'textWithoutLanguage' is used for 'text' attributes. In other cases, the Client needs to supply or the Printer needs to return a text value in a natural language that is different from the rest of the text values in the request or response. In these cases, the Client or Printer uses the attribute syntax 'textWithLanguage' for 'text' attributes (this is the Natural Language Override mechanism described in Section 4.1.4).

“textWithoutLanguage”和“textWithLanguage”都需要支持使用不同自然语言作为人类交流基础的站点和系统之间互操作性的现实需要。通常,一种自然语言适用于给定请求或响应中的所有“文本”属性。语言由第4.1.4节中定义的“属性-自然语言”操作属性或第5.3.20节中定义的“属性-自然语言”作业属性表示,无需逐个值识别每个文本字符串的自然语言。在这些情况下,“text”属性使用属性语法“textWithoutLanguage”。在其他情况下,客户端需要提供或打印机需要以自然语言返回一个文本值,该文本值与请求或响应中的其余文本值不同。在这些情况下,客户端或打印机对“文本”属性使用属性语法“textWithLanguage”(这是第4.1.4节中描述的自然语言覆盖机制)。

The 'textWithoutLanguage' and 'textWithLanguage' attribute syntaxes are described in more detail in the following sections.

“textWithoutLanguage”和“textWithLanguage”属性语法将在以下部分中进行更详细的描述。

5.1.2.1. 'textWithoutLanguage'
5.1.2.1. “textWithoutLanguage”

The 'textWithoutLanguage' syntax indicates a value that is a sequence of zero or more characters encoded in a maximum of 1023 (MAX) octets. Text strings are encoded using the rules of some charset. The Printer MUST support the UTF-8 charset [RFC3629] and MAY support additional charsets to represent 'text' values, provided that the charsets are registered with IANA [IANA-CS]. See Section 5.1.8 for the definition of the 'charset' attribute syntax, including restricted semantics and examples of charsets.

“textWithoutLanguage”语法表示一个值,该值是编码为最多1023(最大)个八位字节的零个或多个字符的序列。文本字符串使用某些字符集的规则进行编码。打印机必须支持UTF-8字符集[RFC3629],并且可以支持其他字符集来表示“文本”值,前提是这些字符集已向IANA[IANA-CS]注册。有关“字符集”属性语法的定义,包括受限语义和字符集示例,请参见第5.1.8节。

5.1.2.2. 'textWithLanguage'
5.1.2.2. “textWithLanguage”

The 'textWithLanguage' attribute syntax is a compound attribute syntax consisting of two parts: a 'textWithoutLanguage' part encoded in a maximum of 1023 (MAX) octets plus an additional 'naturalLanguage' (see Section 5.1.9) part that overrides the natural language in force. The 'naturalLanguage' part explicitly identifies

“textWithLanguage”属性语法是一种复合属性语法,由两部分组成:“textWithoutLanguage”部分编码为最多1023(最大)个八位字节,外加一个覆盖现行自然语言的额外“naturalLanguage”(见第5.1.9节)部分。“自然语言”部分明确指出

the natural language that applies to the text part of that value and that value alone. For any given 'text' attribute, the 'textWithoutLanguage' part is limited to the maximum length defined for that 'text' attribute, and the 'naturalLanguage' part is always limited to 63 (additional) octets. Using the 'textWithLanguage' attribute syntax rather than the normal 'textWithoutLanguage' syntax is the so-called "Natural Language Override mechanism" and MUST be supported by all IPP objects and Clients.

应用于该值的文本部分和该值本身的自然语言。对于任何给定的“text”属性,“textWithoutLanguage”部分限制为该“text”属性定义的最大长度,“naturalLanguage”部分始终限制为63(额外)个八位字节。使用“textWithLanguage”属性语法而不是普通的“textWithoutLanguage”语法是所谓的“自然语言覆盖机制”,必须得到所有IPP对象和客户端的支持。

If the attribute is multi-valued (1setOf text), then the 'textWithLanguage' attribute syntax MUST be used to explicitly specify each attribute value whose natural language needs to be overridden. Other values in a multi-valued 'text' attribute in a request or a response revert to the natural language of the operation attribute.

如果属性是多值的(1setOf text),则必须使用“textWithLanguage”属性语法来显式指定需要覆盖其自然语言的每个属性值。请求或响应中多值“文本”属性中的其他值将还原为操作属性的自然语言。

In a Job Creation request, the Printer MUST accept and store with the Job any natural language in the "attributes-natural-language" operation attribute, whether the Printer supports that natural language or not. Furthermore, the Printer MUST accept and store any 'textWithLanguage' attribute value, whether the Printer supports that natural language or not. These requirements are independent of the value of the "ipp-attribute-fidelity" operation attribute that the Client MAY supply.

在作业创建请求中,打印机必须接受并与作业一起存储“属性自然语言”操作属性中的任何自然语言,无论打印机是否支持该自然语言。此外,打印机必须接受并存储任何“textWithLanguage”属性值,无论打印机是否支持该自然语言。这些要求与客户可能提供的“ipp属性保真度”操作属性的值无关。

Example: If the Client supplies the "attributes-natural-language" operation attribute with the value 'en' indicating English but the value of the "job-name" attribute is in French, the Client MUST use the 'textWithLanguage' attribute syntax with the following two values:

示例:如果客户端为“attributes natural language”操作属性提供值“en”表示英语,但“job name”属性的值为法语,则客户端必须使用具有以下两个值的“textWithLanguage”属性语法:

'fr': Natural Language Override indicating French

“fr”:表示法语的自然语言覆盖

'Rapport Mensuel': the Job name in French

“融洽的门苏尔”:法语中的工作名称

See the Encoding and Transport document [RFC8010] for the encoding of the two parts and a detailed example of the 'textWithLanguage' attribute syntax.

请参阅编码和传输文档[RFC8010],了解这两部分的编码以及“textWithLanguage”属性语法的详细示例。

5.1.3. 'name'
5.1.3. “姓名”

This syntax type is used for user-friendly strings, such as a Printer name, that, for humans, are more meaningful than identifiers. Names are never translated from one natural language to another. The 'name' attribute syntax is essentially the same as 'text', including the REQUIRED support of UTF-8, except that the sequence of characters is limited so that its encoded form MUST NOT exceed 255 (MAX) octets.

此语法类型用于用户友好的字符串,例如打印机名称,对于人类来说,这些字符串比标识符更有意义。名字永远不会从一种自然语言翻译成另一种自然语言。“name”属性语法基本上与“text”相同,包括所需的UTF-8支持,但字符序列受到限制,因此其编码形式不得超过255(最大)个八位字节。

Also, like 'text', 'name' is really an abbreviated notation for either 'nameWithoutLanguage' or 'nameWithLanguage'. That is, all IPP objects and Clients MUST support both the 'nameWithoutLanguage' and 'nameWithLanguage' attribute syntaxes. However, in actual usage and protocol execution, IPP objects and Clients accept and return only one of the two syntaxes per attribute. The syntax 'name' never appears "on-the-wire".

此外,像“text”一样,“name”实际上是“nameWithoutLanguage”或“nameWithLanguage”的缩写符号。也就是说,所有IPP对象和客户端必须同时支持“nameWithoutLanguage”和“nameWithLanguage”属性语法。但是,在实际使用和协议执行中,IPP对象和客户端只接受并返回每个属性的两个语法中的一个。语法“name”从未出现在“线路上”。

Only the 'text' and 'name' attribute syntaxes permit the Natural Language Override mechanism.

只有“text”和“name”属性语法才允许自然语言覆盖机制。

Some attributes are defined as 'type2 keyword | name'. These attributes support values that are either type2 keywords or names. This dual-syntax mechanism enables a site Administrator to extend these attributes to legally include values that are locally defined by the site Administrator. Such names are not registered with IANA.

某些属性定义为“type2关键字| name”。这些属性支持类型2关键字或名称的值。此双语法机制使站点管理员能够扩展这些属性,以合法地包括站点管理员在本地定义的值。此类名称未在IANA注册。

5.1.3.1. 'nameWithoutLanguage'
5.1.3.1. “使用外文命名”

The 'nameWithoutLanguage' syntax indicates a value that is a sequence of zero or more characters encoded in a maximum of 255 (MAX) octets.

“nameWithoutLanguage”语法表示一个值,该值是编码为最多255(最大)个八位字节的零个或多个字符的序列。

5.1.3.2. 'nameWithLanguage'
5.1.3.2. “名称与语言”

The 'nameWithLanguage' attribute syntax is a compound attribute syntax consisting of two parts: a 'nameWithoutLanguage' (see Section 5.1.3.1) part plus an additional 'naturalLanguage' (see Section 5.1.9) part that overrides the natural language in force. The 'naturalLanguage' part explicitly identifies the natural language that applies to that name value and that name value alone. For any given 'name' attribute, the 'nameWithoutLanguage' part is limited to the maximum length defined for that 'name' attribute, and the 'naturalLanguage' part is always limited to 63 (additional) octets. Using the 'nameWithLanguage' attribute syntax rather than the normal 'nameWithoutLanguage' syntax is the Natural Language Override mechanism and MUST be supported by all IPP objects and Clients.

“nameWithLanguage”属性语法是一种复合属性语法,由两部分组成:“nameWithoutLanguage”(参见第5.1.3.1节)部分加上覆盖现行自然语言的额外“naturalLanguage”(参见第5.1.9节)部分。“naturalLanguage”部分明确标识了应用于该名称值和仅应用于该名称值的自然语言。对于任何给定的“name”属性,“nameWithoutLanguage”部分限制为该“name”属性定义的最大长度,“naturalLanguage”部分始终限制为63(额外)个八位字节。使用“nameWithLanguage”属性语法而不是普通的“nameWithoutLanguage”语法是自然语言覆盖机制,必须得到所有IPP对象和客户端的支持。

The 'nameWithLanguage' attribute syntax behaves the same as the 'textWithLanguage' syntax. If a name is in a language that is different than the rest of the object or operation, then this 'nameWithLanguage' syntax is used rather than the generic 'nameWithoutLanguage' syntax.

“nameWithLanguage”属性语法的行为与“textWithLanguage”语法相同。如果名称使用的语言与对象或操作的其他部分不同,则使用此“nameWithLanguage”语法,而不是通用的“nameWithoutLanguage”语法。

If the attribute is multi-valued (1setOf name), then the 'nameWithLanguage' attribute syntax MUST be used to explicitly specify each attribute value whose natural language needs to be

如果该属性是多值的(1setOf name),则必须使用“nameWithLanguage”属性语法来显式指定需要使用其自然语言的每个属性值

overridden. Other values in a multi-valued 'name' attribute in a request or a response revert to the natural language of the operation attribute.

被推翻。请求或响应中多值“name”属性中的其他值将还原为操作属性的自然语言。

In a Job Creation request, the Printer MUST accept and store with the Job any natural language in the "attributes-natural-language" operation attribute, whether the Printer supports that natural language or not. Furthermore, the Printer MUST accept and store any 'nameWithLanguage' attribute value, whether the Printer supports that natural language or not. These requirements are independent of the value of the "ipp-attribute-fidelity" operation attribute that the Client MAY supply.

在作业创建请求中,打印机必须接受并与作业一起存储“属性自然语言”操作属性中的任何自然语言,无论打印机是否支持该自然语言。此外,打印机必须接受并存储任何“nameWithLanguage”属性值,无论打印机是否支持该自然语言。这些要求与客户可能提供的“ipp属性保真度”操作属性的值无关。

Example: If the Client supplies the "attributes-natural-language" operation attribute with the value 'en' indicating English but the "printer-name" attribute is in German, the Client MUST use the 'nameWithLanguage' attribute syntax as follows:

示例:如果客户端提供的“attributes natural language”操作属性的值为“en”,表示英语,但“printer name”属性为德语,则客户端必须使用“nameWithLanguage”属性语法,如下所示:

'de': Natural Language Override indicating German

“de”:表示德语的自然语言覆盖

'Farbdrucker': the Printer name in German

“Farbdrucker”:德语中的打印机名称

See the Encoding and Transport document [RFC8010] for the encoding of the two parts and a detailed example of the 'nameWithLanguage' attribute syntax.

请参阅编码和传输文档[RFC8010],了解这两部分的编码以及“nameWithLanguage”属性语法的详细示例。

5.1.3.3. Matching 'name' Attribute Values
5.1.3.3. 匹配“name”属性值

For purposes of matching two 'name' attribute values for equality, such as in Job validation (where a Client-supplied value for attribute "xxx" is checked to see if the value is among the values of the Printer's corresponding "xxx-supported" attribute), the following match rules apply:

为了匹配两个“名称”属性值以实现相等,例如在作业验证中(检查客户端为属性“xxx”提供的值以查看该值是否在打印机对应的“xxx支持”属性的值中),以下匹配规则适用:

1. 'keyword' values never match 'name' values.

1. “关键字”值与“名称”值从不匹配。

2. 'name' ('nameWithoutLanguage' and 'nameWithLanguage') values match if (1) the name parts match and (2) the Associated Natural Language parts (see Section 4.1.4.1) match. The matching rules are as follows:

2. 如果(1)名称部分匹配和(2)相关自然语言部分(见第4.1.4.1节)匹配,则“名称”(“nameWithoutLanguage”和“nameWithLanguage”)值匹配。匹配规则如下:

2a. The name parts match if the two names are identical character by character, except that it is RECOMMENDED that case be ignored as defined in "i;unicode-casemap - Simple Unicode Collation Algorithm" [RFC5051]. For example, 'Ajax-letter-head-white' MUST match 'Ajax-letter-head-white' and SHOULD match 'ajax-letter-head-white' and 'AJAX-LETTER-HEAD-WHITE'.

2a。如果两个名称逐个字符相同,则名称部分匹配,但建议按照“i;unicode casemap-简单unicode排序算法”[RFC5051]中的定义忽略大小写。例如,“Ajax信头白”必须与“Ajax信头白”匹配,并且应该与“Ajax信头白”和“Ajax信头白”匹配。

2b. The Associated Natural Language parts match if the shorter of the two meets the syntactic requirements defined in Section 2.1 of RFC 5646 [RFC5646] and matches (byte for byte, since IPP language tags are lowercase) with the longer. For example, 'en' matches 'en', 'en-us', and 'en-gb' but matches neither 'fr' nor 'e'.

2b。如果两者中的较短者满足RFC 5646[RFC5646]第2.1节中定义的语法要求,并且与较长者匹配(逐字节,因为IPP语言标记为小写),则相关自然语言部分匹配。例如,“en”匹配“en”、“en us”和“en gb”,但既不匹配“fr”也不匹配“e”。

5.1.4. 'keyword'
5.1.4. “关键字”

The 'keyword' attribute syntax is a sequence of characters, of length 1 to 255, containing only the US-ASCII [RFC20] encoded values for lowercase letters ("a"-"z"), digits ("0"-"9"), hyphen ("-"), dot ("."), and underscore ("_"). The first character MUST be a lowercase letter. Furthermore, keywords MUST be in US English.

“关键字”属性语法是一个长度为1到255的字符序列,仅包含小写字母(“a”-“z”)、数字(“0”-“9”)、连字符(“-”)、点(“.”)和下划线(“389;”)的US-ASCII[RFC20]编码值。第一个字符必须是小写字母。此外,关键字必须是美式英语。

This syntax type is used for enumerating semantic identifiers of entities in the abstract protocol, i.e., entities identified in this document. Keywords are used as attribute names or values of attributes. Unlike 'text' and 'name' attribute values, 'keyword' values MUST NOT use the Natural Language Override mechanism, since they MUST always be US-ASCII and US English.

此语法类型用于枚举抽象协议中实体的语义标识符,即本文档中标识的实体。关键字用作属性名称或属性值。与“文本”和“名称”属性值不同,“关键字”值不得使用自然语言覆盖机制,因为它们必须始终为US-ASCII和US-English。

Keywords are for use in the protocol. A user interface will likely provide a mapping between protocol keywords and displayable user-friendly words and phrases that are localized to the natural language of the user. While the keywords specified in this document MAY be displayed to users whose natural language is US English, they MAY be mapped to other US English words for US English users, since the user interface is outside the scope of this document.

关键字用于协议中。用户界面可能会提供协议关键字和可显示的用户友好单词和短语之间的映射,这些单词和短语本地化为用户的自然语言。虽然本文档中指定的关键字可能会显示给自然语言为美国英语的用户,但对于美国英语用户,它们可能会映射到其他美国英语单词,因为用户界面不在本文档的范围内。

In the definition for each attribute of this syntax type, the full set of 'keyword' values being defined for that attribute is listed. The IANA IPP registry will always contain the complete and current list of 'keyword' values for the attribute.

在该语法类型的每个属性的定义中,列出了为该属性定义的全套“关键字”值。IANA IPP注册表将始终包含属性的完整和当前“关键字”值列表。

When a keyword is used to represent an attribute (its name), it MUST be unique within the full scope of all IPP objects and attributes. When a keyword is used to represent a value of an attribute, it MUST be unique just within the scope of that attribute. That is, the same keyword MUST NOT be used for two different values within the same attribute to mean two different semantic ideas. However, the same keyword MAY be used across two or more attributes, representing

当关键字用于表示属性(其名称)时,它在所有IPP对象和属性的整个范围内必须是唯一的。当关键字用于表示属性的值时,它必须仅在该属性的范围内是唯一的。也就是说,同一个关键字不能用于同一属性中的两个不同值,以表示两个不同的语义概念。但是,可以在两个或多个属性中使用相同的关键字,表示

different semantic ideas for each attribute. Section 7.3 describes how the protocol can be extended with new 'keyword' values. Examples of attribute name keywords are:

每个属性有不同的语义概念。第7.3节描述了如何使用新的“关键字”值扩展协议。属性名称关键字的示例包括:

"job-name"

“作业名称”

"attributes-charset"

“属性字符集”

Note: This document uses "type1" and "type2" prefixes to the "keyword" basic syntax to indicate different levels of review for extensions (see Section 7.3).

注:本文件在“关键字”基本语法中使用“type1”和“type2”前缀,以表示扩展的不同审查级别(见第7.3节)。

5.1.5. 'enum'
5.1.5. “枚举”

The 'enum' attribute syntax is an enumerated integer value that is in the range from 1 to 2**31 - 1 (MAX). Each value has an associated 'keyword' name. In the definition for each attribute of this syntax type, the full set of possible values for that attribute is listed. This syntax type is used for attributes for which there are enum values assigned by other standards, such as SNMP MIBs. A number of attribute enum values in this document are also used for corresponding attributes in other standards [RFC3805]. This syntax type is not used for attributes to which the Administrator can assign values. Section 7.4 describes how the protocol can be extended with new enum values.

“enum”属性语法是一个枚举整数值,其范围为1到2**31-1(最大值)。每个值都有一个关联的“关键字”名称。在该语法类型的每个属性的定义中,列出了该属性的完整可能值集。此语法类型用于其他标准(如SNMP MIB)为其分配枚举值的属性。本文档中的许多属性枚举值也用于其他标准[RFC3805]中的相应属性。此语法类型不用于管理员可以为其分配值的属性。第7.4节描述了如何使用新的枚举值扩展协议。

Enum values are for use in the protocol. A user interface will provide a mapping between protocol enum values and displayable user-friendly words and phrases that are localized to the natural language of the user. While the enum symbols specified in this document MAY be displayed to users whose natural language is US English, they MAY be mapped to other US English words for US English users, since the user interface is outside the scope of this document.

枚举值用于协议中。用户界面将提供协议枚举值与本地化为用户自然语言的可显示的用户友好单词和短语之间的映射。虽然本文档中指定的枚举符号可能会显示给自然语言为美国英语的用户,但对于美国英语用户,它们可能会映射到其他美国英语单词,因为用户界面不在本文档的范围内。

Note: Some SNMP MIBs use '2' for 'unknown', which corresponds to the IPP "out-of-band" value 'unknown'. See the description of the "out-of-band" values at the beginning of Section 5.1. Therefore, attributes of type 'enum' typically start at '3'.

注意:某些SNMP MIB使用“2”表示“未知”,这对应于IPP“带外”值“未知”。参见第5.1节开头的“带外”值说明。因此,“enum”类型的属性通常从“3”开始。

Note: This document uses "type1" and "type2" prefixes to the "enum" basic syntax to indicate different levels of review for extensions (see Section 7.4).

注:本文档在“enum”基本语法中使用“type1”和“type2”前缀,以表示扩展的不同审查级别(参见第7.4节)。

5.1.6. 'uri'
5.1.6. “uri”

The 'uri' attribute syntax is any valid Uniform Resource Identifier (URI) [RFC3986]. Most often, URIs are simply Uniform Resource Locators (URLs). The maximum length of URIs used as values of IPP attributes is 1023 octets. Although most other IPP attribute syntax types allow for only lowercase values, this attribute syntax type conforms to the case-sensitive and case-insensitive rules specified in [RFC3986]. See also [RFC3196] for a discussion of case in URIs.

“uri”属性语法是任何有效的统一资源标识符(uri)[RFC3986]。通常,URI只是统一资源定位器(URL)。用作IPP属性值的URI的最大长度为1023个八位字节。尽管大多数其他IPP属性语法类型只允许小写值,但此属性语法类型符合[RFC3986]中指定的区分大小写和不区分大小写的规则。另请参见[RFC3196],了解URI中的案例讨论。

5.1.7. 'uriScheme'
5.1.7. “uriScheme”

The 'uriScheme' attribute syntax is a sequence of characters representing a URI scheme according to RFC 3986 [RFC3986]. Though RFC 3986 requires that the values be case insensitive, IPP requires all lowercase values in IPP attributes, to simplify comparing by IPP Clients and Printers.

“uriScheme”属性语法是根据RFC 3986[RFC3986]表示URI方案的字符序列。尽管RFC 3986要求值不区分大小写,但IPP要求IPP属性中的所有小写值,以简化IPP客户端和打印机的比较。

Standard values for this syntax type include the following keywords:

此语法类型的标准值包括以下关键字:

   o  'ipp': for IPP schemed URIs, e.g., "ipp://example.com/ipp/..."
      [RFC3510]
        
   o  'ipp': for IPP schemed URIs, e.g., "ipp://example.com/ipp/..."
      [RFC3510]
        
   o  'ipps': for IPPS schemed URIs, e.g., "ipps://example.com/ipp/..."
      [RFC7472]
        
   o  'ipps': for IPPS schemed URIs, e.g., "ipps://example.com/ipp/..."
      [RFC7472]
        
   o  'http': for HTTP schemed URIs, e.g., "http://example.com/path/to/
      filename" [RFC7230]
        
   o  'http': for HTTP schemed URIs, e.g., "http://example.com/path/to/
      filename" [RFC7230]
        
   o  'https': for HTTPS schemed URIs, e.g.,
      "https://example.com/path/to/filename" [RFC7230]
        
   o  'https': for HTTPS schemed URIs, e.g.,
      "https://example.com/path/to/filename" [RFC7230]
        
   o  'ftp': for FTP schemed URIs, e.g., "ftp://example.com/path/to/
      filename" [RFC1738]
        
   o  'ftp': for FTP schemed URIs, e.g., "ftp://example.com/path/to/
      filename" [RFC1738]
        

o 'mailto': for SMTP schemed URIs, e.g., "mailto:user@example.com" [RFC6068]

o “mailto”:对于SMTP架构URI,例如“mailto:user@example.com“[RFC6068]

   o  'file': for file schemed URIs, e.g., "file:///path/to/filename"
      [RFC1738]
        
   o  'file': for file schemed URIs, e.g., "file:///path/to/filename"
      [RFC1738]
        

o 'urn': for Uniform Resource Name schemed URIs, e.g., "urn:uuid:01234567-89ab-cdef-fedc-ba9876543210" [RFC4122]

o “urn”:用于统一资源名称的架构URI,例如,“urn:uuid:01234567-89ab-cdef-fedc-ba9876543210”[RFC4122]

A Printer MAY support any URI 'scheme' that has been registered with IANA [IANA-MT]. The maximum length of URI 'scheme' values used to represent IPP attribute values is 63 octets.

打印机可能支持已向IANA[IANA-MT]注册的任何URI“方案”。用于表示IPP属性值的URI“scheme”值的最大长度为63个八位字节。

5.1.8. 'charset'
5.1.8. “charset”
   The 'charset' attribute syntax is a standard identifier for a
   charset.  A charset is a coded character set and encoding scheme.
   Charsets are used for labeling certain Document contents, 'text'
   attribute values, and 'name' attribute values.  The syntax and
   semantics of this attribute syntax are specified in RFC 2046
   [RFC2046] and contained in the IANA "Character Sets" registry
   [IANA-CS] according to the IANA procedures [RFC2978].  Though
   RFC 2046 requires that the values be case-insensitive US-ASCII
   [RFC20], IPP requires all lowercase values in IPP attributes, to
   simplify comparing by IPP Clients and Printers.  When a character set
   in the IANA registry has more than one name (alias), the name labeled
   as "(preferred MIME name)", if present, MUST be used.
        
   The 'charset' attribute syntax is a standard identifier for a
   charset.  A charset is a coded character set and encoding scheme.
   Charsets are used for labeling certain Document contents, 'text'
   attribute values, and 'name' attribute values.  The syntax and
   semantics of this attribute syntax are specified in RFC 2046
   [RFC2046] and contained in the IANA "Character Sets" registry
   [IANA-CS] according to the IANA procedures [RFC2978].  Though
   RFC 2046 requires that the values be case-insensitive US-ASCII
   [RFC20], IPP requires all lowercase values in IPP attributes, to
   simplify comparing by IPP Clients and Printers.  When a character set
   in the IANA registry has more than one name (alias), the name labeled
   as "(preferred MIME name)", if present, MUST be used.
        

The maximum length of 'charset' values used to represent IPP attribute values is 63 octets.

用于表示IPP属性值的“字符集”值的最大长度为63个八位字节。

Some examples are:

例如:

o 'utf-8': ISO 10646 Universal Multiple-Octet Coded Character Set (UCS) [ISO10646] represented as the UTF-8 [RFC3629] transfer encoding scheme in which US-ASCII [RFC20] is a subset charset.

o “utf-8”:ISO 10646通用多八位编码字符集(UCS)[ISO10646]表示为utf-8[RFC3629]传输编码方案,其中US-ASCII[RFC20]是一个子集字符集。

o 'us-ascii': 7-bit American Standard Code for Information Interchange (ASCII) [RFC20].

o “us ascii”:用于信息交换的7位美国标准代码(ascii)[RFC20]。

o 'iso-8859-1': 8-bit One-Byte Coded Character Set, Latin Alphabet No. 1 [ISO8859-1]. That standard defines a coded character set that is used by Latin languages in the Western Hemisphere and Western Europe. US-ASCII is a subset charset.

o “iso-8859-1”:8位单字节编码字符集,拉丁字母表1[ISO8859-1]。该标准定义了西半球和西欧拉丁语言使用的编码字符集。US-ASCII是一个子集字符集。

Some attribute descriptions MAY place additional requirements on charset values that can be used, such as REQUIRED values that MUST be supported or additional restrictions, such as requiring that the charset have US-ASCII as a subset charset.

某些属性描述可能会对可使用的字符集值提出附加要求,例如必须支持的必需值或附加限制,例如要求字符集具有US-ASCII作为子集字符集。

5.1.9. 'naturalLanguage'
5.1.9. “自然语言”

The 'naturalLanguage' attribute syntax is a standard identifier for a natural language and, optionally, a country or region. The values for this syntax type are defined by RFC 5646 [RFC5646]. Though RFC 5646 requires that the values be case-insensitive US-ASCII, IPP requires all lowercase values in IPP attributes, to simplify comparing by IPP Clients and Printers. Examples include:

“naturalLanguage”属性语法是自然语言以及国家或地区(可选)的标准标识符。此语法类型的值由RFC 5646[RFC5646]定义。尽管RFC 5646要求值不区分大小写,但IPP要求IPP属性中的所有小写值,以简化IPP客户端和打印机的比较。例子包括:

o 'en': for English

o 英语中的“en”

o 'en-us': for US English

o “en-us”:对我们来说是英语

o 'fr': for French

o “fr”:法语

o 'de': for German

o “德”:德语

The maximum length of 'naturalLanguage' values used to represent IPP attribute values is 63 octets.

用于表示IPP属性值的“naturalLanguage”值的最大长度为63个八位字节。

Note: While any standard natural language identifier defined in RFC 5646 can be used, Clients typically only support a subset of these identifiers. When comparing two identifiers or performing lookups, Printers SHOULD be prepared to match legacy identifiers with their corresponding modern equivalents and vice versa.

注意:尽管可以使用RFC 5646中定义的任何标准自然语言标识符,但客户端通常只支持这些标识符的子集。在比较两个标识符或执行查找时,打印机应准备好将旧标识符与其对应的现代标识符进行匹配,反之亦然。

5.1.10. 'mimeMediaType'
5.1.10. “mimeMediaType”

The 'mimeMediaType' attribute syntax is the Internet media type (sometimes called "MIME type") as defined by RFC 2046 [RFC2046] and registered according to the procedures of RFC 6838 [RFC6838] for identifying a Document format. The value MAY include a charset parameter, or some other parameter, depending on the specification of the media type in the IANA "Media Types" registry [IANA-MT]. Although most other IPP syntax types allow for only lowercase values, this syntax type allows for mixed-case values that are case insensitive.

“mimeMediaType”属性语法是由RFC 2046[RFC2046]定义的互联网媒体类型(有时称为“MIME类型”),并根据RFC 6838[RFC6838]的过程注册以识别文档格式。该值可能包括字符集参数或某些其他参数,具体取决于IANA“媒体类型”注册表[IANA-MT]中媒体类型的规范。尽管大多数其他IPP语法类型只允许小写值,但此语法类型允许大小写不敏感的混合大小写值。

Examples are:

例如:

o 'text/html': An HTML Document

o “text/html”:html文档

o 'text/plain': A plain text Document in US-ASCII (RFC 2046 indicates that in the absence of the charset parameter MUST mean US-ASCII rather than simply unspecified) [RFC2046]

o “text/plain”:US-ASCII格式的纯文本文档(RFC 2046表示在没有字符集的情况下,参数必须表示US-ASCII,而不是未指定)[RFC2046]

   o  'text/plain; charset = US-ASCII': A plain text Document in
      US-ASCII
        
   o  'text/plain; charset = US-ASCII': A plain text Document in
      US-ASCII
        
   o  'text/plain; charset = ISO-8859-1': A plain text Document in
      ISO 8859-1 (Latin 1) [ISO8859-1]
        
   o  'text/plain; charset = ISO-8859-1': A plain text Document in
      ISO 8859-1 (Latin 1) [ISO8859-1]
        
   o  'text/plain; charset = utf-8': A plain text Document in ISO 10646
      represented as UTF-8 [RFC3629]
        
   o  'text/plain; charset = utf-8': A plain text Document in ISO 10646
      represented as UTF-8 [RFC3629]
        

o 'application/postscript': A PostScript Document [RFC2046]

o “应用程序/postscript”:postscript文档[RFC2046]

o 'application/vnd.hp-PCL': A PCL Document [IANA-MT] (charset escape sequence embedded in the Document data)

o “application/vnd.hp PCL”:一个PCL文档[IANA-MT](文档数据中嵌入的字符集转义序列)

o 'application/pdf': Portable Document Format [ISO32000]

o “应用程序/pdf”:可移植文档格式[ISO32000]

   o  'application/octet-stream': Auto-sense - see Section 5.1.10.1
        
   o  'application/octet-stream': Auto-sense - see Section 5.1.10.1
        

The maximum length of a 'mimeMediaType' value to represent IPP attribute values is 255 octets.

表示IPP属性值的“mimeDiaType”值的最大长度为255个八位字节。

5.1.10.1. 'application/octet-stream' - Auto-Sensing the Document Format
5.1.10.1. “应用程序/八位字节流”-自动感知文档格式

One special type is 'application/octet-stream'. If the Printer supports this value, the Printer MUST be capable of auto-sensing the format of the Document data using an implementation-dependent method that examines some number of octets of the Document data, either as part of the Job Creation request and/or at Document processing time. During auto-sensing, a Printer can determine that the Document data has a format that the Printer doesn't recognize. If the Printer determines this problem before returning an operation response, it rejects the request and returns the 'client-error-document-format-not-supported' status-code. If the Printer determines this problem after accepting the request and returning an operation response with one of the successful status-code values, the Printer adds the 'unsupported-document-format' value to the Job's "job-state-reasons" attribute.

一种特殊类型是“应用程序/八位字节流”。如果打印机支持此值,则打印机必须能够使用依赖于实现的方法自动检测文档数据的格式,该方法检查文档数据的某些八位字节,作为作业创建请求的一部分和/或在文档处理时。在自动感应期间,打印机可以确定文档数据的格式是打印机无法识别的。如果打印机在返回操作响应之前确定此问题,则会拒绝请求并返回“客户端错误文档格式不受支持”状态代码。如果打印机在接受请求并返回带有一个成功状态代码值的操作响应后确定此问题,则打印机会将“不支持的文档格式”值添加到作业的“作业状态原因”属性中。

If the Printer's default value attribute "document-format-default" is set to 'application/octet-stream', the Printer not only supports auto-sensing of the Document format but will depend on the result of applying its auto-sensing when the Client does not supply the "document-format" attribute. If the Client supplies a Document format value, the Printer MUST rely on the supplied attribute, rather than trust its auto-sensing algorithm. To summarize:

如果打印机的默认值属性“document format default”(文档格式默认)设置为“application/octet stream”(应用程序/八位字节流),则打印机不仅支持文档格式的自动检测,还将取决于客户端不提供“document format”(文档格式)属性时应用其自动检测的结果。如果客户端提供文档格式值,打印机必须依赖提供的属性,而不是信任其自动感知算法。总结如下:

1. If the Client does not supply a Document format value, the Printer MUST rely on its default value setting (which can be 'application/octet-stream' indicating an auto-sensing mechanism).

1. 如果客户端未提供文档格式值,打印机必须依赖其默认值设置(可以是“应用程序/八位字节流”,表示自动感应机制)。

2. If the Client supplies a value other than 'application/octet-stream', the Client is supplying valid information about the format of the Document data and the Printer MUST trust the Client-supplied value more than the outcome of applying an automatic format detection mechanism. For example, the Client can request the printing of a PostScript file as a 'text/plain' Document. The Printer MUST print a text representation of the PostScript commands rather than interpret the stream of PostScript commands and print the result.

2. 如果客户端提供的值不是“应用程序/八位字节流”,则客户端提供的是有关文档数据格式的有效信息,打印机必须更信任客户端提供的值,而不是应用自动格式检测机制的结果。例如,客户端可以请求将PostScript文件打印为“文本/普通”文档。打印机必须打印PostScript命令的文本表示形式,而不是解释PostScript命令流并打印结果。

3. If the Client supplies a value of 'application/octet-stream', the Client is indicating that the Printer MUST use its auto-sensing mechanism on the Client-supplied Document data whether auto-sensing is the Printer's default or not.

3. 如果客户端提供的值为“应用程序/八位字节流”,则客户端指示打印机必须对客户端提供的文档数据使用其自动感应机制,无论自动感应是否为打印机的默认值。

Note: Since the auto-sensing algorithm is probabilistic, if the Client requests both auto-sensing ("document-format" set to 'application/octet-stream') and true fidelity ("ipp-attribute-fidelity" set to 'true'), the Printer might not be able to guarantee exactly what the End User intended (the auto-sensing algorithm might mistake one Document format for another), but it is able to guarantee that its auto-sensing mechanism will be used.

注意:由于自动感知算法是概率性的,如果客户端同时请求自动感知(“文档格式”设置为“应用程序/八位字节流”)和真实逼真度(“ipp属性逼真度”设置为“真实”),打印机可能无法确保最终用户的意图(自动感知算法可能会将一种文档格式误认为另一种),但它能够保证使用其自动感知机制。

5.1.11. 'octetString'
5.1.11. “八进制字符串”

The 'octetString' attribute syntax is a sequence of octets encoded in a maximum of 1023 octets that is indicated in syntax definitions using the notation 'octetString(MAX)'. This syntax type is used for opaque data.

“octetString”属性语法是一个编码为最多1023个八位字节的八位字节序列,在语法定义中使用符号“octetString(MAX)”表示。此语法类型用于不透明数据。

5.1.12. 'boolean'
5.1.12. “布尔”

The 'boolean' attribute syntax has only two values: 'true' and 'false'.

“boolean”属性语法只有两个值:“true”和“false”。

5.1.13. 'integer'
5.1.13. “整数”

The 'integer' attribute syntax is an integer value that is in the range from -2**31 (MIN) to 2**31 - 1 (MAX). Each individual attribute can specify the range constraint explicitly if the range is different from the full range of possible integer values -- for example, job-priority (integer(1:100)) for the "job-priority" attribute, as shown in the title of Section 5.2.1. However, the enforcement of that additional constraint is up to the IPP objects, not the protocol.

“integer”属性语法是一个介于-2**31(最小值)到2**31-1(最大值)之间的整数值。如第5.2.1节标题所示,如果范围不同于“作业优先级”属性的可能整数值的完整范围(例如,作业优先级(整数(1:100)),则每个单独的属性都可以明确指定范围约束。但是,附加约束的实施取决于IPP对象,而不是协议。

5.1.14. 'rangeOfInteger'
5.1.14. “积分范围”

The 'rangeOfInteger' attribute syntax is an ordered pair of integers that defines an inclusive range of integer values. The first integer specifies the lower bound, and the second specifies the upper bound. If a range constraint is specified in the attribute definition, i.e., 'rangeOfInteger(X:Y)' indicating X as a minimum value and Y as a maximum value, then the constraint applies to both integers.

“rangeOfInteger”属性语法是一对有序整数,用于定义整数值的包含范围。第一个整数指定下限,第二个整数指定上限。如果在属性定义中指定了范围约束,即“rangeOfInteger(X:Y)”指示X为最小值,Y为最大值,则该约束将应用于这两个整数。

5.1.15. 'dateTime'
5.1.15. “日期时间”

The 'dateTime' attribute syntax is a standard, fixed-length, 11-octet representation of the "DateAndTime" syntax as defined in RFC 2579 [RFC2579]. RFC 2579 also identifies an 8-octet representation of a "DateAndTime" value, but IPP objects MUST use the 11-octet representation. A user interface will provide a mapping between protocol dateTime values and displayable user-friendly words or presentation values and phrases that are localized to the natural language and date format of the user, including time zone.

“dateTime”属性语法是RFC22579[RFC2579]中定义的“DateAndTime”语法的标准、固定长度、11个八位字节表示形式。RFC2579还标识“DateAndTime”值的8个八位表示,但IPP对象必须使用11个八位表示。用户界面将提供协议日期时间值与可显示的用户友好词语或表示值和短语之间的映射,这些词语或表示值和短语本地化为用户的自然语言和日期格式,包括时区。

5.1.16. 'resolution'
5.1.16. “决议”

The 'resolution' attribute syntax specifies a two-dimensional resolution in the indicated units. It consists of three values: a cross-feed direction resolution (positive integer value), a feed direction resolution (positive integer value), and a units value. The semantics of these three components are taken from the suggested values in the Printer MIB [RFC3805]. That is, the cross-feed direction resolution component is the same as the prtMarkerAddressabilityXFeedDir object in the Printer MIB, the feed direction resolution component is the same as the prtMarkerAddressabilityFeedDir in the Printer MIB, and the units component is the same as the prtMarkerAddressabilityUnit object in the Printer MIB (namely, '3' indicates dots per inch and '4' indicates dots per centimeter). All three values MUST be present even if the first two values are the same. For example, '300', '600', '3' indicates a 300-dpi cross-feed direction resolution and a 600-dpi feed direction resolution, since a '3' indicates dots per inch (dpi).

“分辨率”属性语法以指定的单位指定二维分辨率。它由三个值组成:交叉进给方向分辨率(正整数值)、进给方向分辨率(正整数值)和单位值。这三个组件的语义取自打印机MIB[RFC3805]中的建议值。也就是说,交叉进纸方向分辨率组件与打印机MIB中的prtMarkerAddressabilityXFeedDir对象相同,进纸方向分辨率组件与打印机MIB中的prtMarkerAddressabilityFeedDir对象相同,单位组件与打印机MIB中的prtMarkerAddressabilityUnit对象相同(即,“3”表示每英寸点数,“4”表示每厘米点数)。即使前两个值相同,也必须显示所有三个值。例如,“300”、“600”、“3”表示300 dpi交叉进给方向分辨率和600 dpi进给方向分辨率,因为“3”表示每英寸点数(dpi)。

5.1.17. 'collection'
5.1.17. “收藏”

The 'collection' attribute syntax is a container holding one or more named values (i.e., attributes), which are called "member attributes". Each 'collection' attribute definition Document lists the mandatory and optional member attributes of each collection value. A collection value is similar to an IPP attribute group in a

“集合”属性语法是包含一个或多个命名值(即属性)的容器,这些命名值称为“成员属性”。每个“集合”属性定义文档都列出了每个集合值的必需和可选成员属性。集合值类似于集合中的IPP属性组

request or a response, such as the Operation Attributes group -- they both consist of a set of attributes. Collections can also be nested, i.e., a collection in a collection.

请求或响应,例如操作属性组——它们都由一组属性组成。集合也可以嵌套,即集合中的集合。

A collection value consists of three separate components:

集合值由三个独立的组件组成:

o A 'begCollection' value with an optional octet string value starting the collection,

o “begCollection”值,该值具有启动集合的可选八位字节字符串值,

o Zero or more member attributes defined using a series of unnamed values starting with a 'memberAttrName' value that specifies the member attribute name, and

o 使用一系列未命名的值定义零个或多个成员属性,这些值以指定成员属性名称的“memberAttrName”值开头,并且

o An 'endCollection' value with an optional name plus octet string value finishing the collection.

o 具有可选名称的“endCollection”值加上完成集合的八位字符串值。

5.1.18. '1setOf X'
5.1.18. “1setOf X”

The '1setOf X' attribute syntax is one or more values of attribute syntax type X. This syntax type is used for multi-valued attributes. The syntax type is called '1setOf' rather than just 'setOf' as a reminder that the set of values MUST NOT be empty (i.e., a set of size 0). Sets are normally unordered; however, each attribute description of this type can specify that the values MUST be in a certain order for that attribute.

“1setOf X”属性语法是属性语法类型X的一个或多个值。此语法类型用于多值属性。该语法类型被称为“1setOf”,而不仅仅是“setOf”,以提醒值集不能为空(即大小为0的集)。集合通常是无序的;但是,此类型的每个属性描述都可以指定该属性的值必须按特定顺序排列。

5.2. Job Template Attributes
5.2. 作业模板属性

Job Template attributes describe Job processing intent. Clients MAY supply (in Job Creation requests) and Printers SHOULD support Job Template attributes. See Section 2.3.11 for a description of support for OPTIONAL attributes.

作业模板属性描述作业处理意图。客户端可以提供(在创建作业请求中),打印机应支持作业模板属性。有关可选属性支持的说明,请参见第2.3.11节。

Job Template attributes conform to the following rules. For each Job Template attribute called "xxx":

作业模板属性符合以下规则。对于每个名为“xxx”的作业模板属性:

1. If the Printer supports "xxx", then it MUST support both an "xxx-default" attribute (unless there is a "No" in Table 8 below) and an "xxx-supported" attribute. If the Printer doesn't support "xxx", then it MUST support neither an "xxx-default" attribute nor an "xxx-supported" attribute, and it MUST treat an attribute "xxx" supplied by a Client as unsupported. An attribute "xxx" can be supported for some Document formats and not supported for other Document formats. For example, it is expected that a Printer would only support "orientation-requested" for some Document formats (such as 'text/plain' or 'text/html') but not others (such as 'application/postscript').

1. 如果打印机支持“xxx”,则它必须同时支持“xxx默认”属性(除非下表8中有“否”属性)和“xxx支持”属性。如果打印机不支持“xxx”,则必须既不支持“xxx默认”属性,也不支持“xxx支持”属性,并且必须将客户端提供的属性“xxx”视为不受支持。某些文档格式支持属性“xxx”,而其他文档格式不支持属性“xxx”。例如,预计打印机只支持某些文档格式(如“文本/纯文本”或“文本/html”)的“定向请求”,而不支持其他格式(如“应用程序/postscript”)。

2. Clients MAY supply "xxx" in a Job Creation request. If "xxx" is supplied, the Client is indicating a desired Job processing behavior for this Job. When "xxx" is not supplied, the Client is indicating that the Printer apply its default Job processing behavior at Job processing time if the Document content does not contain an embedded instruction indicating an xxx-related behavior.

2. 客户可以在工作创建请求中提供“xxx”。如果提供了“xxx”,则客户端将指示此作业所需的作业处理行为。未提供“xxx”时,如果文档内容不包含指示xxx相关行为的嵌入式指令,则客户端指示打印机在作业处理时应用其默认作业处理行为。

Since an Administrator MAY change the default value attribute after a Job has been submitted but before it has been processed, the default value used by the Printer at Job processing time can be different than the default value in effect at Job submission time.

由于管理员可以在提交作业后但在处理作业之前更改“默认值”属性,因此打印机在作业处理时使用的默认值可能不同于作业提交时有效的默认值。

3. The "xxx-supported" attribute is a Printer attribute that describes which Job processing behaviors are supported by that Printer. A Client can query the Printer to find out what xxx-related behaviors are supported by inspecting the returned values of the "xxx-supported" attribute.

3. “支持xxx”属性是一个打印机属性,用于描述该打印机支持哪些作业处理行为。客户端可以通过检查“xxx supported”属性的返回值来查询打印机,以了解支持哪些与xxx相关的行为。

Note: The "xxx" in each "xxx-supported" attribute name is singular, even though an "xxx-supported" attribute usually has more than one value, such as "print-quality-supported", unless the "xxx" Job Template attribute is plural, such as "finishings" or "sides". In such cases, the "xxx-supported" attribute names are "finishings-supported" and "sides-supported".

注意:每个“支持xxx”属性名称中的“xxx”是单数,即使“支持xxx”属性通常有多个值,例如“支持打印质量”,除非“xxx”作业模板属性是复数,例如“finishings”或“sides”。在这种情况下,“xxx支持的”属性名称是“支持的饰面”和“支持的侧面”。

4. The "xxx-default" default value attribute describes what will be done at Job processing time when no other Job processing information is supplied by the Client (either explicitly as an IPP attribute in the Job Creation request or implicitly as an embedded instruction within the Document data).

4. “xxx default”默认值属性描述了当客户端未提供其他作业处理信息时(在作业创建请求中显式作为IPP属性,或在文档数据中隐式作为嵌入式指令),作业处理时将执行的操作。

If an application wishes to present an End User with a list of supported values from which to choose, the application SHOULD query the Printer for its supported value attributes. The application SHOULD also query the default value attributes. If the application then limits selectable values to only those values that are supported, the application can guarantee that the values supplied by the Client in the Job Creation request all fall within the set of supported values at the Printer. When querying the Printer, the Client MAY enumerate each attribute by name in the Get-Printer-Attributes request, or the Client MAY just name the "job-template" group in order to get the complete set of supported attributes (both supported and default attributes).

如果应用程序希望向最终用户提供可供选择的支持值列表,则应用程序应向打印机查询其支持的值属性。应用程序还应该查询默认值属性。如果应用程序随后将可选值限制为仅支持的值,则应用程序可以保证客户端在作业创建请求中提供的值都在打印机支持的值集内。查询打印机时,客户机可以在“获取打印机属性”请求中按名称枚举每个属性,或者客户机可以仅命名“作业模板”组,以获取完整的支持属性集(支持属性和默认属性)。

The "finishings" attribute is an example of a Job Template attribute. It can take on a set of values such as '4' ('staple'), '5' ('punch'), and/or '6' ('cover'); see Table 10 in Section 5.2.6. A Client can query the Printer for the "finishings-supported" attribute and the "finishings-default" attribute. The supported attribute contains a set of supported values. The default value attribute contains the finishing value(s) that will be used for a new Job if the Client does not supply a "finishings" attribute in the Job Creation request and the Document data does not contain any corresponding finishing instructions. If the Client does supply the "finishings" attribute in the Job Creation request, the Printer validates the value or values to make sure that they are a subset of the supported values identified in the Printer's "finishings-supported" attribute. See Section 4.1.7.

“finishings”属性是作业模板属性的一个示例。它可以采用一组值,例如“4”(“装订”)、“5”(“冲压”)和/或“6”(“封面”);见第5.2.6节中的表10。客户端可以查询打印机的“finishings supported”属性和“finishings default”属性。supported属性包含一组受支持的值。如果客户端在作业创建请求中未提供“finishings”属性,并且文档数据不包含任何相应的精加工说明,则默认值属性包含将用于新作业的精加工值。如果客户端在作业创建请求中提供了“finishings”属性,则打印机将验证一个或多个值,以确保它们是打印机“finishings supported”属性中标识的支持值的子集。见第4.1.7节。

Table 8 below summarizes the names and relationships for all Job Template attributes. The first column of the table (labeled "Job Attribute") shows the name and syntax for each Job Template attribute in the Job. These are the attributes that can optionally be supplied by the Client in a Job Creation request. The last two columns (labeled "Printer: Default Value Attribute" and "Printer: "Supported Values" Attribute") show the name and syntax for each Job Template attribute in the Printer (the default value attributes and the "supported values" attributes). A "No" in the table means the Printer MUST NOT support the attribute (that is, the attribute is simply not applicable). For brevity in the table, the 'text' and 'name' entries do not show the maximum length for each attribute.

下表8总结了所有作业模板属性的名称和关系。表的第一列(标记为“作业属性”)显示作业中每个作业模板属性的名称和语法。这些属性可以由客户端在作业创建请求中选择性地提供。最后两列(标记为“打印机:默认值属性”和“打印机:支持的值”属性”)显示打印机中每个作业模板属性(默认值属性和“支持的值”属性)的名称和语法。表中的“否”表示打印机不能支持该属性(即该属性根本不适用)。为简洁起见,表中的“text”和“name”项不显示每个属性的最大长度。

   +------------------+----------------------+-------------------------+
   | Job Attribute    | Printer: Default     | Printer: "Supported     |
   |                  | Value Attribute      | Values" Attribute       |
   +------------------+----------------------+-------------------------+
   | job-priority     | job-priority-default | job-priority-supported  |
   | (integer 1:100)  | (integer 1:100)      | (integer 1:100)         |
   +------------------+----------------------+-------------------------+
   | job-hold-until   | job-hold-until-      | job-hold-until-         |
   | (type2 keyword | | default (type2       | supported (1setOf       |
   | name)            | keyword | name)      | (type2 keyword | name)) |
   +------------------+----------------------+-------------------------+
   | job-sheets       | job-sheets-default   | job-sheets-supported    |
   | (type2 keyword | | (type2 keyword |     | (1setOf (type2 keyword  |
   | name)            | name)                | | name))                |
   +------------------+----------------------+-------------------------+
   | multiple-        | multiple-document-   | multiple-document-      |
   | document-        | handling-default     | handling-supported      |
   | handling (type2  | (type2 keyword)      | (1setOf type2 keyword)  |
   | keyword)         |                      |                         |
        
   +------------------+----------------------+-------------------------+
   | Job Attribute    | Printer: Default     | Printer: "Supported     |
   |                  | Value Attribute      | Values" Attribute       |
   +------------------+----------------------+-------------------------+
   | job-priority     | job-priority-default | job-priority-supported  |
   | (integer 1:100)  | (integer 1:100)      | (integer 1:100)         |
   +------------------+----------------------+-------------------------+
   | job-hold-until   | job-hold-until-      | job-hold-until-         |
   | (type2 keyword | | default (type2       | supported (1setOf       |
   | name)            | keyword | name)      | (type2 keyword | name)) |
   +------------------+----------------------+-------------------------+
   | job-sheets       | job-sheets-default   | job-sheets-supported    |
   | (type2 keyword | | (type2 keyword |     | (1setOf (type2 keyword  |
   | name)            | name)                | | name))                |
   +------------------+----------------------+-------------------------+
   | multiple-        | multiple-document-   | multiple-document-      |
   | document-        | handling-default     | handling-supported      |
   | handling (type2  | (type2 keyword)      | (1setOf type2 keyword)  |
   | keyword)         |                      |                         |
        
   +------------------+----------------------+-------------------------+
   | copies           | copies-default       | copies-supported        |
   | (integer(1:MAX)) | (integer(1:MAX))     | (rangeOfInteger(1:MAX)) |
   +------------------+----------------------+-------------------------+
   | finishings       | finishings-default   | finishings-supported    |
   | (1setOf type2    | (1setOf type2 enum)  | (1setOf type2 enum)     |
   | enum)            |                      |                         |
   +------------------+----------------------+-------------------------+
   | page-ranges      | No                   | page-ranges-supported   |
   | (1setOf          |                      | (boolean)               |
   | rangeOfInteger   |                      |                         |
   | (1:MAX))         |                      |                         |
   +------------------+----------------------+-------------------------+
   | sides (type2     | sides-default (type2 | sides-supported (1setOf |
   | keyword)         | keyword)             | type2 keyword)          |
   +------------------+----------------------+-------------------------+
   | number-up        | number-up-default    | number-up-supported     |
   | (integer(1:MAX)) | (integer(1:MAX))     | (1setOf                 |
   |                  |                      | (integer(1:MAX) |       |
   |                  |                      | rangeOfInteger(1:MAX))) |
   +------------------+----------------------+-------------------------+
   | orientation-     | orientation-         | orientation-requested-  |
   | requested (type2 | requested-default    | supported (1setOf type2 |
   | enum)            | (type2 enum)         | enum)                   |
   +------------------+----------------------+-------------------------+
   | media (type2     | media-default (type2 | media-supported (1setOf |
   | keyword | name)  | keyword | name)      | (type2 keyword | name)) |
   |                  |                      | media-ready (1setOf     |
   |                  |                      | (type2 keyword | name)) |
   +------------------+----------------------+-------------------------+
   | printer-         | printer-resolution-  | printer-resolution-     |
   | resolution       | default (resolution) | supported (1setOf       |
   | (resolution)     |                      | resolution)             |
   +------------------+----------------------+-------------------------+
   | print-quality    | print-quality-       | print-quality-supported |
   | (type2 enum)     | default (type2 enum) | (1setOf type2 enum)     |
   +------------------+----------------------+-------------------------+
        
   +------------------+----------------------+-------------------------+
   | copies           | copies-default       | copies-supported        |
   | (integer(1:MAX)) | (integer(1:MAX))     | (rangeOfInteger(1:MAX)) |
   +------------------+----------------------+-------------------------+
   | finishings       | finishings-default   | finishings-supported    |
   | (1setOf type2    | (1setOf type2 enum)  | (1setOf type2 enum)     |
   | enum)            |                      |                         |
   +------------------+----------------------+-------------------------+
   | page-ranges      | No                   | page-ranges-supported   |
   | (1setOf          |                      | (boolean)               |
   | rangeOfInteger   |                      |                         |
   | (1:MAX))         |                      |                         |
   +------------------+----------------------+-------------------------+
   | sides (type2     | sides-default (type2 | sides-supported (1setOf |
   | keyword)         | keyword)             | type2 keyword)          |
   +------------------+----------------------+-------------------------+
   | number-up        | number-up-default    | number-up-supported     |
   | (integer(1:MAX)) | (integer(1:MAX))     | (1setOf                 |
   |                  |                      | (integer(1:MAX) |       |
   |                  |                      | rangeOfInteger(1:MAX))) |
   +------------------+----------------------+-------------------------+
   | orientation-     | orientation-         | orientation-requested-  |
   | requested (type2 | requested-default    | supported (1setOf type2 |
   | enum)            | (type2 enum)         | enum)                   |
   +------------------+----------------------+-------------------------+
   | media (type2     | media-default (type2 | media-supported (1setOf |
   | keyword | name)  | keyword | name)      | (type2 keyword | name)) |
   |                  |                      | media-ready (1setOf     |
   |                  |                      | (type2 keyword | name)) |
   +------------------+----------------------+-------------------------+
   | printer-         | printer-resolution-  | printer-resolution-     |
   | resolution       | default (resolution) | supported (1setOf       |
   | (resolution)     |                      | resolution)             |
   +------------------+----------------------+-------------------------+
   | print-quality    | print-quality-       | print-quality-supported |
   | (type2 enum)     | default (type2 enum) | (1setOf type2 enum)     |
   +------------------+----------------------+-------------------------+
        

Table 8: Job Template Attributes

表8:作业模板属性

5.2.1. job-priority (integer(1:100))
5.2.1. 作业优先级(整数(1:100))

This attribute specifies a priority for scheduling the Job. A higher value specifies a higher priority. The value 1 indicates the lowest possible priority. The value 100 indicates the highest possible priority. Among those Jobs that are ready to print, a Printer MUST print all Jobs with a priority value of n before printing those with a priority value of n - 1 for all n.

此属性指定调度作业的优先级。值越大,优先级越高。值1表示可能的最低优先级。值100表示可能的最高优先级。在准备打印的作业中,打印机必须先打印优先级值为n的所有作业,然后才能打印优先级值为n-1的所有作业。

If the Printer supports this attribute, it MUST always support the full range from 1 to 100. No administrative restrictions are permitted. This way, an End User can always make full use of the entire range with any Printer. If privileged Jobs are implemented outside IPP, they MUST have priorities higher than 100, rather than restricting the range available to End Users.

如果打印机支持此属性,则必须始终支持从1到100的完整范围。不允许有任何行政限制。这样,最终用户就可以在任何打印机上充分利用整个范围。如果特权作业是在IPP之外实施的,它们的优先级必须高于100,而不是限制终端用户可用的范围。

If the Client does not supply this attribute and this attribute is supported by the Printer, the Printer MUST use the value of the Printer's "job-priority-default" attribute at Job submission time (unlike most Job Template attributes that are used if necessary at Job processing time).

如果客户端不提供此属性且打印机支持此属性,则打印机必须在作业提交时使用打印机的“作业优先级默认值”属性的值(不同于在作业处理时根据需要使用的大多数作业模板属性)。

The syntax for the "job-priority-supported" attribute is also integer(1:100). This single integer value indicates the number of priority levels supported. The Printer MUST take the value supplied by the Client and map it to the closest integer in a sequence of n integer values that are evenly distributed over the range from 1 to 100 using the formula:

“支持的作业优先级”属性的语法也是整数(1:100)。此单个整数值表示支持的优先级级别数。打印机必须获取客户端提供的值,并使用以下公式将其映射到n个整数值序列中最接近的整数,这些整数值均匀分布在1到100的范围内:

      roundToNearestInt((100x + 50) / n)
        
      roundToNearestInt((100x + 50) / n)
        

where n is the value of "job-priority-supported" and x ranges from 0 through (n - 1).

其中n是“支持的作业优先级”的值,x的范围为0到(n-1)。

For example, if n = 1, the sequence of values is 50; if n = 2, the sequence of values is 25 and 75; if n = 3, the sequence of values is 17, 50, and 83; if n = 10, the sequence of values is 5, 15, 25, 35, 45, 55, 65, 75, 85, and 95; if n = 100, the sequence of values is 1, 2, 3, ... 100.

例如,如果n=1,则值的顺序为50;如果n=2,则值的顺序为25和75;如果n=3,则值的顺序为17、50和83;如果n=10,则值的顺序为5、15、25、35、45、55、65、75、85和95;如果n=100,则值的顺序为1、2、3、。。。100

Table 9 shows how a Printer maps Client-supplied "job-priority" values for example values of n.

表9显示了打印机如何映射客户端提供的“作业优先级”值,例如n值。

                 +--------------+-------+-------+--------+
                 | job-priority | n = 1 | n = 2 | n = 10 |
                 +--------------+-------+-------+--------+
                 | 1            | 50    | 17    | 5      |
                 +--------------+-------+-------+--------+
                 | 10           | 50    | 17    | 5      |
                 +--------------+-------+-------+--------+
                 | 20           | 50    | 17    | 15     |
                 +--------------+-------+-------+--------+
                 | 30           | 50    | 17    | 25     |
                 +--------------+-------+-------+--------+
                 | 40           | 50    | 50    | 35     |
                 +--------------+-------+-------+--------+
                 | 50           | 50    | 50    | 45     |
                 +--------------+-------+-------+--------+
                 | 60           | 50    | 50    | 55     |
                 +--------------+-------+-------+--------+
                 | 70           | 50    | 50    | 65     |
                 +--------------+-------+-------+--------+
                 | 80           | 50    | 83    | 75     |
                 +--------------+-------+-------+--------+
                 | 90           | 50    | 83    | 85     |
                 +--------------+-------+-------+--------+
                 | 100          | 50    | 83    | 95     |
                 +--------------+-------+-------+--------+
        
                 +--------------+-------+-------+--------+
                 | job-priority | n = 1 | n = 2 | n = 10 |
                 +--------------+-------+-------+--------+
                 | 1            | 50    | 17    | 5      |
                 +--------------+-------+-------+--------+
                 | 10           | 50    | 17    | 5      |
                 +--------------+-------+-------+--------+
                 | 20           | 50    | 17    | 15     |
                 +--------------+-------+-------+--------+
                 | 30           | 50    | 17    | 25     |
                 +--------------+-------+-------+--------+
                 | 40           | 50    | 50    | 35     |
                 +--------------+-------+-------+--------+
                 | 50           | 50    | 50    | 45     |
                 +--------------+-------+-------+--------+
                 | 60           | 50    | 50    | 55     |
                 +--------------+-------+-------+--------+
                 | 70           | 50    | 50    | 65     |
                 +--------------+-------+-------+--------+
                 | 80           | 50    | 83    | 75     |
                 +--------------+-------+-------+--------+
                 | 90           | 50    | 83    | 85     |
                 +--------------+-------+-------+--------+
                 | 100          | 50    | 83    | 95     |
                 +--------------+-------+-------+--------+
        

Table 9: "job-priority" Values

表9:“作业优先级”值

5.2.2. job-hold-until (type2 keyword | name(MAX))
5.2.2. 作业保留至(键入2关键字|名称(最大))

This attribute specifies the named time period during which the Job MUST become a candidate for printing.

此属性指定作业必须成为打印候选对象的指定时间段。

Standard 'keyword' values for named time periods are:

命名时间段的标准“关键字”值为:

o 'no-hold': immediately, if there are no other reasons to hold the job

o “不保留”:如果没有其他原因保留该工作,则立即执行

o 'indefinite': the Job is held indefinitely, until a Client performs a Release-Job (Section 4.3.6)

o “无限期”:作业无限期保留,直到客户端执行发布作业(第4.3.6节)

o 'day-time': during the day

o “白天”:白天

o 'evening': evening

o “晚上”:晚上

o 'night': night

o “夜”:夜

o 'weekend': weekend

o “周末”:周末

o 'second-shift': second shift (after close of business)

o “第二班”:第二班(营业结束后)

o 'third-shift': third shift (after midnight)

o “第三班”:第三班(午夜后)

An Administrator MUST associate allowable print times with a named time period (by means outside the scope of this IPP/1.1 document). An Administrator is encouraged to pick names that suggest the type of time period. An Administrator MAY define additional values using the 'name' or 'keyword' attribute syntax, depending on implementation.

管理员必须将允许的打印时间与指定的时间段相关联(通过本IPP/1.1文件范围之外的方式)。鼓励管理员选择建议时间段类型的名称。管理员可以使用“名称”或“关键字”属性语法定义其他值,具体取决于实现。

If the value of this attribute specifies a time period that is in the future, the Printer SHOULD add the "job-hold-until-specified" value to the Job's "job-state-reasons" attribute, MUST move the Job to the 'pending-held' state, and MUST NOT schedule the Job for printing until the specified time period arrives.

如果此属性的值指定了将来的时间段,则打印机应将“作业保留到指定时间”值添加到作业的“作业状态原因”属性中,必须将作业移动到“挂起保留”状态,并且在指定时间段到达之前不得安排作业进行打印。

When the specified time period arrives, the Printer MUST remove the "job-hold-until-specified" value from the Job's "job-state-reasons" attribute, if present. If there are no other Job state reasons that keep the Job in the 'pending-held' state, the Printer MUST consider the Job as a candidate for processing by moving the Job to the 'pending' state.

当指定的时间段到达时,打印机必须从作业的“作业状态原因”属性(如果存在)中删除“作业保持到指定”值。如果没有其他作业状态的原因将工作保持在“挂起的状态”,打印机必须通过将作业移动到“待定”状态来将作业视为候选处理。

If this Job attribute value is the named value 'no-hold' or the specified time period has already started, the Job MUST be a candidate for processing immediately.

如果此作业属性值是命名值“无保留”或指定的时间段已开始,则该作业必须是立即处理的候选作业。

If the Client does not supply this attribute and this attribute is supported by the Printer, the Printer MUST use the value of the Printer's "job-hold-until-default" at Job submission time (unlike most Job Template attributes that are used if necessary at Job processing time).

如果客户端不提供此属性且打印机支持此属性,则打印机必须在作业提交时使用打印机的“作业保留到默认值”的值(不同于在作业处理时根据需要使用的大多数作业模板属性)。

5.2.3. job-sheets (type2 keyword | name(MAX))
5.2.3. 工作表(类型2关键字|名称(最大))

This attribute determines which Job start/end sheet(s), if any, MUST be printed with a Job.

此属性确定必须随作业一起打印的作业开始/结束页(如果有)。

Standard 'keyword' values are:

标准“关键字”值为:

o 'none': no Job sheet is printed

o “无”:未打印工作表

o 'standard': one or more site-specific standard Job sheets are printed, e.g., a single start sheet or both start and end sheets

o “标准”:打印一张或多张特定于现场的标准工作表,例如,一张开始工作表或两张开始工作表和结束工作表

An Administrator MAY define additional values using the 'name' or 'keyword' attribute syntax, depending on implementation.

管理员可以使用“名称”或“关键字”属性语法定义其他值,具体取决于实现。

The effect of this attribute on Jobs with multiple Documents MAY be affected by the "multiple-document-handling" Job attribute (Section 5.2.4), depending on the Job sheet semantics.

此属性对具有多个文档的作业的影响可能会受到“多文档处理”作业属性(第5.2.4节)的影响,具体取决于作业表语义。

5.2.4. multiple-document-handling (type2 keyword)
5.2.4. 多文档处理(type2关键字)

This RECOMMENDED attribute controls which Impressions and Media Sheets constitute a Set for copy generation and finishing processes. When the value of the "copies" attribute exceeds '1', it also controls the order in which the copies that result from processing the Documents are produced. For the purposes of this explanation, if "a" represents an instance of Document data, then the result of processing the data in Document "a" is a sequence of Media Sheets represented by "a(*)". This attribute MUST be supported with at least one value if the Printer supports multiple Documents per Job (see Sections 4.2.4 and 4.3.1).

此推荐属性控制哪些印模和介质页构成副本生成和整理过程的集合。当“copies”属性的值超过“1”时,它还控制处理文档产生的副本的顺序。在本说明中,如果“a”表示文档数据的实例,则处理文档“a”中的数据的结果是由“a(*)表示的媒体页序列。如果打印机支持每个作业多个文档,则必须至少支持一个值来支持此属性(请参见第4.2.4节和第4.3.1节)。

Standard 'keyword' values are:

标准“关键字”值为:

o 'single-document': If a Job has multiple Documents, say, the Document data is called "a" and "b", then the result of processing all the Document data (a and then b) MUST be treated as a single sequence of Media Sheets for finishing processes; that is, finishing is performed on the concatenation of the sequences a(*),b(*). The Printer MUST NOT force the data in each Document instance to be formatted onto a new Impression, nor to start a new Impression on a new Media Sheet. If more than one copy is made, the ordering of the sets of Media Sheets resulting from processing the Document data MUST be a(*), b(*), a(*), b(*), ..., and the Printer MUST force each copy (a(*),b(*)) to start on a new Media Sheet.

o “单个文档”:如果作业有多个文档,例如,文档数据称为“a”和“b”,则处理所有文档数据(a和b)的结果必须视为完成过程的单个媒体页序列;也就是说,对序列a(*)、b(*)的串联执行整理。打印机不得强制将每个文档实例中的数据格式化到新的印模上,也不得在新的介质页上开始新的印模。如果制作了多个副本,则处理文档数据所产生的媒体页集的顺序必须是a(*)、b(*)、a(*)、b(*)、和……,并且打印机必须强制每个副本(a(*)、b(*)从新的媒体页开始。

o 'separate-documents-uncollated-copies': If a Job has multiple Documents, say, the Document data is called "a" and "b", then the result of processing the data in each Document instance MUST be treated as a single sequence of Media Sheets for finishing processes; that is, the sets a(*) and b(*) would each be finished separately. The Printer MUST force each copy of the result of processing the data in a single Document to start on a new Media Sheet. If more than one copy is made, the ordering of the sets of Media Sheets resulting from processing the Document data MUST be a(*), a(*), ..., b(*), b(*), ... .

o “单独的文档非附带副本”:如果作业有多个文档,例如,文档数据称为“a”和“b”,则每个文档实例中的数据处理结果必须视为完成过程的单个媒体页序列;也就是说,集合a(*)和b(*)将分别完成。打印机必须强制将单个文档中的数据处理结果的每个副本从新的介质页开始。如果制作了多个副本,则处理文档数据所产生的媒体页集的顺序必须为a(*)、a(*)、b(*)、b(*)、b(*)、a(*)。

o 'separate-documents-collated-copies': If a Job has multiple Documents, say, the Document data is called "a" and "b", then the result of processing the data in each Document instance MUST be treated as a single sequence of Media Sheets for finishing processes; that is, the sets a(*) and b(*) would each be finished separately. The Printer MUST force each copy of the result of processing the data in a single Document to start on a new Media Sheet. If more than one copy is made, the ordering of the sets of Media Sheets resulting from processing the Document data MUST be a(*), b(*), a(*), b(*), ... .

o “单独文档整理副本”:如果作业有多个文档,例如,文档数据称为“a”和“b”,则每个文档实例中的数据处理结果必须视为完成过程的单个媒体页序列;也就是说,集合a(*)和b(*)将分别完成。打印机必须强制将单个文档中的数据处理结果的每个副本从新的介质页开始。如果制作了多个副本,则处理文档数据所产生的媒体页集的顺序必须为a(*)、b(*)、a(*)、b(*)、。

o 'single-document-new-sheet': Same as 'single-document', except that the Printer MUST ensure that the first Impression of each Document instance in the Job is placed on a new Media Sheet. This value allows multiple Documents to be stapled together with a single staple where each Document starts on a new Media Sheet.

o “单文档新页”:与“单文档”相同,只是打印机必须确保作业中每个文档实例的第一印象都放在新的介质页上。此值允许将多个文档与单个装订一起装订,其中每个文档从新的介质页开始。

The 'single-document' value is the same as 'separate-documents-collated-copies' with respect to the ordering of Input Pages, but not Media Sheet generation, since 'single-document' will put the first page of the next Document on the back side of a Media Sheet if an odd number of pages have been produced so far for the Job, while 'separate-documents-collated-copies' always forces the next Document or Document copy on to a new Media Sheet. In addition, if the "finishings" attribute specifies 'staple', then with 'single-document', Documents a and b are stapled together as a single Set with no regard to a new Media Sheet, while with 'single-document-new-sheet', Documents a and b are stapled together as a single Set but Document b starts on a new Media Sheet. With 'separate-documents-uncollated-copies' and 'separate-documents-collated-copies', Documents a and b are stapled separately.

就输入页面的排序而言,“单个文档”值与“单独文档整理副本”相同,但与媒体页的生成无关,因为如果到目前为止已为作业生成奇数页,“单个文档”会将下一个文档的第一页放在媒体页的背面,而“单独文档整理副本”总是强制下一个文档或文档副本放在新的媒体页上。此外,如果“finishings”属性指定“装订”,则使用“single document”时,文档a和b将作为一组装订在一起,而不考虑新介质页,而使用“single document new Sheet”时,文档a和b将作为一组装订在一起,但文档b从新介质页开始。使用“单独文件无格式副本”和“单独文件有格式副本”,文件a和文件b分别装订。

Note: The value 'separate-documents-uncollated-copies' produces uncollated Media Sheets within a Set, e.g., when "copies" is '2' a two-Document Job will be printed as Media Sheets a(1), a(1), a(2), a(2), ... a(n), a(n), b(1), b(1), ..., b(n), b(n). All other values produce collated Media Sheets within a Set.

注:值“单独文档无套印副本”在一组中生成无套印介质页,例如,“副本”为“2”时,两个文档作业将打印为介质页a(1)、a(1)、a(2)、a(2)。。。a(n),a(n),b(1),b(1),…,b(n),b(n)。所有其他值在一个集合中生成经过整理的介质表。

The relationship of this attribute and the other attributes that control Document processing is described in Appendix C.3.

附录C.3中描述了该属性与控制文档处理的其他属性之间的关系。

5.2.5. copies (integer(1:MAX))
5.2.5. 副本(整数(1:最大值))

This RECOMMENDED attribute specifies the number of copies to be printed.

此推荐属性指定要打印的份数。

On many devices, the supported number of collated copies will be limited by the number of physical output bins on the device and can be different from the number of uncollated copies that can be supported.

在许多设备上,支持的已整理副本数量将受到设备上物理输出箱数量的限制,并且可能不同于可支持的未整理副本数量。

Note: The effect of this attribute on Jobs with multiple Documents is controlled by the "multiple-document-handling" Job attribute (Section 5.2.4). The relationship of this attribute and the other attributes that control Document processing is described in Appendix C.3.

注:此属性对具有多个文档的作业的影响由“多文档处理”作业属性控制(第5.2.4节)。附录C.3中描述了该属性与控制文档处理的其他属性之间的关系。

5.2.6. finishings (1setOf type2 enum)
5.2.6. 饰面(第1种类型2枚举)

This RECOMMENDED attribute identifies the finishing processes that the Printer uses for each copy of each printed Document in the Job. For Jobs with multiple Documents, the "multiple-document-handling" attribute determines what constitutes a "copy" for purposes of finishing.

此推荐属性标识打印机对作业中每个打印文档的每个副本使用的整理过程。对于包含多个文档的作业,“多文档处理”属性确定了为了完成而构成“副本”的内容。

Standard enum values defined in this document are listed in Table 10. The 'staple-xxx' values are specified with respect to the Document as if the Document were in portrait orientation with the origin of each Media Sheet at the top left corner. If the Document is actually in landscape or reverse-landscape orientation, the Client supplies the appropriate transformed value. For example, to position a staple in the upper left-hand corner of a landscape Document when held for reading, the Client supplies the 'staple-bottom-left' value, since landscape is defined as a +90 degree rotation of the image with respect to the media from portrait, i.e., counterclockwise. On the other hand, to position a staple in the upper left-hand corner of a reverse-landscape Document when held for reading, the Client supplies the 'staple-top-right' value, since reverse-landscape is defined as a -90 degree rotation of the image with respect to the media from portrait, i.e., clockwise.

表10列出了本文件中定义的标准枚举值。“装订xxx”值是针对文档指定的,就好像文档是纵向的,每个介质页的原点位于左上角一样。如果文档实际上是横向或反向横向的,客户机将提供适当的转换值。例如,为了在手持阅读时将装订定位在横向文档的左上角,客户机提供“装订左下角”值,因为横向被定义为图像相对于纵向介质的+90度旋转,即逆时针旋转。另一方面,为了在手持阅读时将装订定位在反向横向文档的左上角,客户机提供“装订右上角”值,因为反向横向被定义为图像相对于纵向介质的-90度旋转,即顺时针旋转。

The angle (vertical, horizontal, angled) of each staple with respect to the Document depends on the implementation, which can in turn depend on the value of the attribute.

每个装订相对于文档的角度(垂直、水平、角度)取决于实现,而实现又取决于属性的值。

Note: The effect of this attribute on Jobs with multiple Documents is controlled by the "multiple-document-handling" Job attribute (Section 5.2.4). The relationship of this attribute and the other attributes that control Document processing is described in Appendix C.3.

注:此属性对具有多个文档的作业的影响由“多文档处理”作业属性控制(第5.2.4节)。附录C.3中描述了该属性与控制文档处理的其他属性之间的关系。

Note: The value of '3' ('none') has no effect when combined with any other values.

注意:“3”(“无”)的值与任何其他值组合时不起作用。

Note: The "finishings-col" attribute [PWG5100.1] is an alternative to the "finishings" attribute that allows the Client to specify finishing intent in greater detail.

注:“finishings col”属性[PWG5100.1]是“finishings”属性的替代,该属性允许客户更详细地指定精加工意图。

   +-----------+-------------------------------------------------------+
   | Value     | Symbolic Name and Description                         |
   +-----------+-------------------------------------------------------+
   | '3'       | 'none': Perform no finishing.                         |
   +-----------+-------------------------------------------------------+
   | '4'       | 'staple': Bind the Document(s) with one or more       |
   |           | staples.  The exact number and placement of the       |
   |           | staples are site defined.                             |
   +-----------+-------------------------------------------------------+
   | '5'       | 'punch': This value indicates that holes are required |
   |           | in the finished Document.  The exact number and       |
   |           | placement of the holes are site defined.  The punch   |
   |           | specification MAY be satisfied (in a site-specific    |
   |           | and implementation-specific manner) either by         |
   |           | drilling/punching or by substituting pre-drilled      |
   |           | media.                                                |
   +-----------+-------------------------------------------------------+
   | '6'       | 'cover': This value is specified when it is desired   |
   |           | to select a non-printed (or pre-printed) cover for    |
   |           | the Document.  This does not supplant the             |
   |           | specification of a printed cover (on cover stock      |
   |           | medium) by the Document itself.                       |
   +-----------+-------------------------------------------------------+
   | '7'       | 'bind': This value indicates that a binding is to be  |
   |           | applied to the Document; the type and placement of    |
   |           | the binding are site defined.                         |
   +-----------+-------------------------------------------------------+
   | '8'       | 'saddle-stitch': Bind the Document(s) with one or     |
   |           | more staples (wire stitches) along the middle fold.   |
   |           | The exact number and placement of the staples and the |
   |           | middle fold are implementation defined and/or site    |
   |           | defined.                                              |
        
   +-----------+-------------------------------------------------------+
   | Value     | Symbolic Name and Description                         |
   +-----------+-------------------------------------------------------+
   | '3'       | 'none': Perform no finishing.                         |
   +-----------+-------------------------------------------------------+
   | '4'       | 'staple': Bind the Document(s) with one or more       |
   |           | staples.  The exact number and placement of the       |
   |           | staples are site defined.                             |
   +-----------+-------------------------------------------------------+
   | '5'       | 'punch': This value indicates that holes are required |
   |           | in the finished Document.  The exact number and       |
   |           | placement of the holes are site defined.  The punch   |
   |           | specification MAY be satisfied (in a site-specific    |
   |           | and implementation-specific manner) either by         |
   |           | drilling/punching or by substituting pre-drilled      |
   |           | media.                                                |
   +-----------+-------------------------------------------------------+
   | '6'       | 'cover': This value is specified when it is desired   |
   |           | to select a non-printed (or pre-printed) cover for    |
   |           | the Document.  This does not supplant the             |
   |           | specification of a printed cover (on cover stock      |
   |           | medium) by the Document itself.                       |
   +-----------+-------------------------------------------------------+
   | '7'       | 'bind': This value indicates that a binding is to be  |
   |           | applied to the Document; the type and placement of    |
   |           | the binding are site defined.                         |
   +-----------+-------------------------------------------------------+
   | '8'       | 'saddle-stitch': Bind the Document(s) with one or     |
   |           | more staples (wire stitches) along the middle fold.   |
   |           | The exact number and placement of the staples and the |
   |           | middle fold are implementation defined and/or site    |
   |           | defined.                                              |
        
   +-----------+-------------------------------------------------------+
   | '9'       | 'edge-stitch': Bind the Document(s) with one or more  |
   |           | staples (wire stitches) along one edge.  The exact    |
   |           | number and placement of the staples are               |
   |           | implementation defined and/or site defined.           |
   +-----------+-------------------------------------------------------+
   | '10'-'19' | reserved for future generic finishing enum values.    |
   +-----------+-------------------------------------------------------+
   | '20'      | 'staple-top-left': Bind the Document(s) with one or   |
   |           | more staples in the top left corner.                  |
   +-----------+-------------------------------------------------------+
   | '21'      | 'staple-bottom-left': Bind the Document(s) with one   |
   |           | or more staples in the bottom left corner.            |
   +-----------+-------------------------------------------------------+
   | '22'      | 'staple-top-right': Bind the Document(s) with one or  |
   |           | more staples in the top right corner.                 |
   +-----------+-------------------------------------------------------+
   | '23'      | 'staple-bottom-right': Bind the Document(s) with one  |
   |           | or more staples in the bottom right corner.           |
   +-----------+-------------------------------------------------------+
   | '24'      | 'edge-stitch-left': Bind the Document(s) with one or  |
   |           | more staples (wire stitches) along the left edge.     |
   |           | The exact number and placement of the staples are     |
   |           | implementation defined and/or site defined.           |
   +-----------+-------------------------------------------------------+
   | '25'      | 'edge-stitch-top': Bind the Document(s) with one or   |
   |           | more staples (wire stitches) along the top edge.  The |
   |           | exact number and placement of the staples are         |
   |           | implementation defined and/or site defined.           |
   +-----------+-------------------------------------------------------+
   | '26'      | 'edge-stitch-right': Bind the Document(s) with one or |
   |           | more staples (wire stitches) along the right edge.    |
   |           | The exact number and placement of the staples are     |
   |           | implementation defined and/or site defined.           |
   +-----------+-------------------------------------------------------+
   | '27'      | 'edge-stitch-bottom': Bind the Document(s) with one   |
   |           | or more staples (wire stitches) along the bottom      |
   |           | edge.  The exact number and placement of the staples  |
   |           | are implementation defined and/or site defined.       |
   +-----------+-------------------------------------------------------+
   | '28'      | 'staple-dual-left': Bind the Document(s) with two     |
   |           | staples (wire stitches) along the left edge, assuming |
   |           | a portrait Document (see above).                      |
        
   +-----------+-------------------------------------------------------+
   | '9'       | 'edge-stitch': Bind the Document(s) with one or more  |
   |           | staples (wire stitches) along one edge.  The exact    |
   |           | number and placement of the staples are               |
   |           | implementation defined and/or site defined.           |
   +-----------+-------------------------------------------------------+
   | '10'-'19' | reserved for future generic finishing enum values.    |
   +-----------+-------------------------------------------------------+
   | '20'      | 'staple-top-left': Bind the Document(s) with one or   |
   |           | more staples in the top left corner.                  |
   +-----------+-------------------------------------------------------+
   | '21'      | 'staple-bottom-left': Bind the Document(s) with one   |
   |           | or more staples in the bottom left corner.            |
   +-----------+-------------------------------------------------------+
   | '22'      | 'staple-top-right': Bind the Document(s) with one or  |
   |           | more staples in the top right corner.                 |
   +-----------+-------------------------------------------------------+
   | '23'      | 'staple-bottom-right': Bind the Document(s) with one  |
   |           | or more staples in the bottom right corner.           |
   +-----------+-------------------------------------------------------+
   | '24'      | 'edge-stitch-left': Bind the Document(s) with one or  |
   |           | more staples (wire stitches) along the left edge.     |
   |           | The exact number and placement of the staples are     |
   |           | implementation defined and/or site defined.           |
   +-----------+-------------------------------------------------------+
   | '25'      | 'edge-stitch-top': Bind the Document(s) with one or   |
   |           | more staples (wire stitches) along the top edge.  The |
   |           | exact number and placement of the staples are         |
   |           | implementation defined and/or site defined.           |
   +-----------+-------------------------------------------------------+
   | '26'      | 'edge-stitch-right': Bind the Document(s) with one or |
   |           | more staples (wire stitches) along the right edge.    |
   |           | The exact number and placement of the staples are     |
   |           | implementation defined and/or site defined.           |
   +-----------+-------------------------------------------------------+
   | '27'      | 'edge-stitch-bottom': Bind the Document(s) with one   |
   |           | or more staples (wire stitches) along the bottom      |
   |           | edge.  The exact number and placement of the staples  |
   |           | are implementation defined and/or site defined.       |
   +-----------+-------------------------------------------------------+
   | '28'      | 'staple-dual-left': Bind the Document(s) with two     |
   |           | staples (wire stitches) along the left edge, assuming |
   |           | a portrait Document (see above).                      |
        
   +-----------+-------------------------------------------------------+
   | '29'      | 'staple-dual-top': Bind the Document(s) with two      |
   |           | staples (wire stitches) along the top edge, assuming  |
   |           | a portrait Document (see above).                      |
   +-----------+-------------------------------------------------------+
   | '30'      | 'staple-dual-right': Bind the Document(s) with two    |
   |           | staples (wire stitches) along the right edge,         |
   |           | assuming a portrait Document (see above).             |
   +-----------+-------------------------------------------------------+
   | '31'      | 'staple-dual-bottom': Bind the Document(s) with two   |
   |           | staples (wire stitches) along the bottom edge,        |
   |           | assuming a portrait Document (see above).             |
   +-----------+-------------------------------------------------------+
        
   +-----------+-------------------------------------------------------+
   | '29'      | 'staple-dual-top': Bind the Document(s) with two      |
   |           | staples (wire stitches) along the top edge, assuming  |
   |           | a portrait Document (see above).                      |
   +-----------+-------------------------------------------------------+
   | '30'      | 'staple-dual-right': Bind the Document(s) with two    |
   |           | staples (wire stitches) along the right edge,         |
   |           | assuming a portrait Document (see above).             |
   +-----------+-------------------------------------------------------+
   | '31'      | 'staple-dual-bottom': Bind the Document(s) with two   |
   |           | staples (wire stitches) along the bottom edge,        |
   |           | assuming a portrait Document (see above).             |
   +-----------+-------------------------------------------------------+
        

Table 10: "finishings" Enum Values

表10:“饰面”枚举值

5.2.7. page-ranges (1setOf rangeOfInteger(1:MAX))
5.2.7. 页面范围(1整合器的设置范围(1:最大))

This RECOMMENDED attribute identifies the range(s) of Input Pages that the Printer uses for each Set to be printed prior to imposition of those pages onto Impressions. Nothing is printed for any pages identified that do not exist in the Set/Document(s). Ranges MUST be in ascending order (1-3, 5-7, 15-19, etc.) and MUST NOT overlap so that a non-spooling Printer can process the Job in a single pass. If the ranges are not ascending or are overlapping, the Printer MUST reject the request and return the 'client-error-bad-request' status-code. The attribute is associated with Input Pages and not application-numbered pages such as the page numbers found in the headers and/or footers for certain word processing applications.

此推荐属性标识打印机在将输入页面施加到印模上之前用于打印每组的输入页面的范围。对于集合/文档中不存在的已标识页面,不打印任何内容。范围必须按升序(1-3、5-7、15-19等)排列,并且不得重叠,以便非后台打印打印机可以一次性处理作业。如果范围不是升序或重叠,打印机必须拒绝请求并返回“客户端错误错误请求”状态代码。该属性与输入页相关联,而不是应用程序编号的页,例如某些字处理应用程序的页眉和/或页脚中的页码。

For Jobs with multiple Documents, the "multiple-document-handling" attribute determines what constitutes a Set for purposes of the specified page range(s). When "multiple-document-handling" is 'single-document', the Printer MUST apply each supplied page range once to the concatenation of the Input Pages. For example, if there are 8 Documents of 10 pages each, the page range '41-60' prints the pages in the 5th and 6th Documents as a single Document, and none of the pages of the other Documents are printed. When "multiple-document-handling" is 'separate-documents-uncollated-copies' or 'separate-documents-collated-copies', the Printer MUST apply each supplied page range repeatedly to each Document copy. For the same Job, the page range '1-3, 10-10' would print the first 3 pages and the 10th page of each of the 8 Documents in the Job, as 8 separate Sets.

对于具有多个文档的作业,“多文档处理”属性确定了为指定页面范围的目的而构成集合的内容。当“多文档处理”为“单个文档”时,打印机必须将每个提供的页面范围应用于输入页面的串联。例如,如果有8个文档,每个文档有10页,则页面范围“41-60”将第5和第6个文档中的页面作为单个文档打印,而不会打印其他文档的任何页面。当“多文档处理”为“单独文档无套印副本”或“单独文档校对副本”时,打印机必须将提供的每个页面范围重复应用于每个文档副本。对于同一作业,页面范围“1-3,10-10”将打印作业中8个文档的前3页和第10页,作为8个单独的集。

"page-ranges-supported" is a boolean value indicating whether the Printer is capable of supporting the printing of page ranges. This capability can differ from one PDL to another. There is no "page-ranges-default" attribute. If the "page-ranges" attribute is not supplied by the Client, all pages of the Document are printed.

“支持的页面范围”是一个布尔值,指示打印机是否能够支持打印页面范围。此功能可能因PDL而异。没有“页面范围默认值”属性。如果客户端未提供“页面范围”属性,则打印文档的所有页面。

Note: In many cases, the Client supplies only those Input Pages that need to be printed in the Document data, and the "page-ranges" Job Template attribute is not used. However, Clients that submit already-generated Document data (either static content from some web site or previously submitted content the End User wishes to reprint) can use this attribute to print just a subset of the pages contained in the Document. In this case, if a "page-ranges" value of 'n-m' is specified, the first page to be printed will be page n. All subsequent pages of the Document will be printed through and including page m.

注意:在许多情况下,客户机只提供需要在文档数据中打印的输入页面,并且不使用“页面范围”作业模板属性。但是,提交已经生成的文档数据(来自某个网站的静态内容或最终用户希望重新打印的以前提交的内容)的客户端可以使用此属性仅打印文档中包含的页面的子集。在这种情况下,如果指定了“页面范围”值“n-m”,则要打印的第一页将是第n页。文件的所有后续页面将通过并包括第m页打印。

Note: The effect of this attribute on Jobs with multiple Documents is controlled by the "multiple-document-handling" Job attribute (Section 5.2.4). The relationship of this attribute and the other attributes that control Document processing is described in Appendix C.3.

注:此属性对具有多个文档的作业的影响由“多文档处理”作业属性控制(第5.2.4节)。附录C.3中描述了该属性与控制文档处理的其他属性之间的关系。

5.2.8. sides (type2 keyword)
5.2.8. 侧面(type2关键字)

This RECOMMENDED attribute specifies how Impressions are placed upon the sides of a Media Sheet.

此推荐属性指定如何将印模放置在介质页的侧面。

The standard 'keyword' values are:

标准“关键字”值为:

o 'one-sided': imposes each consecutive Impression upon the same side of consecutive Media Sheets.

o “单面”:将每个连续的印象强加在连续媒体页的同一面上。

o 'two-sided-long-edge': imposes each consecutive pair of Impressions upon front and back sides of consecutive Media Sheets, such that the orientation of each pair of Impressions on the medium would be correct for the reader as if for binding on the long edge. This imposition is sometimes called 'duplex' or 'head-to-head'.

o “双面长边”:将每一对连续印模施加在连续介质页的正面和背面上,这样,介质上每一对印模的方向对读者来说都是正确的,就像在长边上装订一样。这种拼版有时被称为“双面”或“头对头”。

o 'two-sided-short-edge': imposes each consecutive pair of Impressions upon front and back sides of consecutive Media Sheets, such that the orientation of each pair of Impressions on the medium would be correct for the reader as if for binding on the short edge. This imposition is sometimes called 'tumble' or 'head-to-toe'.

o “双面短边”:将每一对连续印模施加在连续介质页的正面和背面上,这样,介质上每一对印模的方向对于读者来说都是正确的,就像装订在短边上一样。这种强加有时被称为“翻滚”或“从头到脚”。

Note: The effect of this attribute on Jobs with multiple Documents is controlled by the "multiple-document-handling" Job attribute (Section 5.2.4). The relationship of this attribute and the other attributes that control Document processing is described in Appendix C.3.

注:此属性对具有多个文档的作业的影响由“多文档处理”作业属性控制(第5.2.4节)。附录C.3中描述了该属性与控制文档处理的其他属性之间的关系。

5.2.9. number-up (integer(1:MAX))
5.2.9. 向上计数(整数(1:最大值))

This attribute specifies the number of Input Pages to impose upon a single Impression. For example, if the value is:

此属性指定要施加在单个印象上的输入页数。例如,如果值为:

o '1': the Printer MUST place one Input Page on a single Impression.

o “1”:打印机必须在一个印模上放置一个输入页。

o '2': the Printer MUST place two Input Pages on a single Impression.

o “2”:打印机必须在一个印模上放置两个输入页。

o '4': the Printer MUST place four Input Pages on a single Impression.

o “4”:打印机必须在一个印模上放置四个输入页。

In all cases, the Printer MAY add some sort of translation, scaling, or rotation of Input Pages when imposing them.

在任何情况下,打印机都可能在强制输入页面时添加输入页面的某种平移、缩放或旋转。

Note: The effect of this attribute on Jobs with multiple Documents is controlled by the "multiple-document-handling" Job attribute (Section 5.2.4). The relationship of this attribute and the other attributes that control Document processing is described in Appendix C.3.

注:此属性对具有多个文档的作业的影响由“多文档处理”作业属性控制(第5.2.4节)。附录C.3中描述了该属性与控制文档处理的其他属性之间的关系。

5.2.10. orientation-requested (type2 enum)
5.2.10. 要求的方向(类型2枚举)

This RECOMMENDED attribute indicates the desired orientation for printed Input Pages; it does not describe the orientation of the Client-supplied Input Pages.

此推荐属性表示打印输入页的所需方向;它不描述客户端提供的输入页面的方向。

For some Document formats (such as 'application/postscript'), the desired orientation of the Input Pages is sometimes specified within the Document data. This information is generated by a Printer driver prior to the submission of the Print Job. Other Document formats such as 'text/plain' do not include the notion of desired orientation within the Document data. In the latter case, it is possible for the Printer to bind the desired orientation to the Document data after it has been submitted. Printers MAY only support "orientation-requested" for some Document formats (e.g., 'text/plain' or 'text/html') but not others (e.g., 'application/postscript'). This is no different than any other Job Template attribute, since Section 5.2, item 1, points out that a Printer can support or not support any Job Template attribute based on the Document format

对于某些文档格式(如“应用程序/postscript”),有时会在文档数据中指定输入页面的所需方向。此信息由打印机驱动程序在提交打印作业之前生成。“文本/普通”等其他文档格式不包括文档数据中所需方向的概念。在后一种情况下,打印机可以在提交文档数据后将所需的方向绑定到文档数据。打印机可能只支持某些文档格式(如“文本/纯文本”或“文本/html”)的“定向请求”,而不支持其他格式(如“应用程序/postscript”)。这与任何其他作业模板属性没有区别,因为第5.2节第1项指出,打印机可以支持或不支持基于文档格式的任何作业模板属性

supplied by the Client. However, a special mention is made here, since it is very likely that a Printer will support "orientation-requested" for only a subset of the supported Document formats.

由客户提供。然而,这里特别提到,因为打印机很可能只支持支持支持的文档格式的子集的“定向请求”。

Standard enum values are listed in Table 11.

表11列出了标准枚举值。

Note: The effect of this attribute on Jobs with multiple Documents is controlled by the "multiple-document-handling" Job attribute (Section 5.2.4). The relationship of this attribute and the other attributes that control Document processing is described in Appendix C.3.

注:此属性对具有多个文档的作业的影响由“多文档处理”作业属性控制(第5.2.4节)。附录C.3中描述了该属性与控制文档处理的其他属性之间的关系。

   +-------+-----------------------------------------------------------+
   | Value | Symbolic Name and Description                             |
   +-------+-----------------------------------------------------------+
   | '3'   | 'portrait': The content will be imaged across the short   |
   |       | edge of the medium.                                       |
   +-------+-----------------------------------------------------------+
   | '4'   | 'landscape': The content will be imaged across the long   |
   |       | edge of the medium.  Landscape is defined to be a         |
   |       | rotation of the Input Page to be imaged by +90 degrees    |
   |       | with respect to the medium (i.e., counterclockwise) from  |
   |       | the portrait orientation.  Note: The +90 direction was    |
   |       | chosen because simple finishing on the long edge is the   |
   |       | same edge whether portrait or landscape.                  |
   +-------+-----------------------------------------------------------+
   | '5'   | 'reverse-landscape': The content will be imaged across    |
   |       | the long edge of the medium.  Reverse-landscape is        |
   |       | defined to be a rotation of the Input Page to be imaged   |
   |       | by -90 degrees with respect to the medium (i.e.,          |
   |       | clockwise) from the portrait orientation.  Note: The      |
   |       | 'reverse-landscape' value was added because some          |
   |       | applications rotate landscape -90 degrees from portrait,  |
   |       | rather than +90 degrees.                                  |
   +-------+-----------------------------------------------------------+
   | '6'   | 'reverse-portrait': The content will be imaged across the |
   |       | short edge of the medium.  Reverse-portrait is defined to |
   |       | be a rotation of the Input Page to be imaged by 180       |
   |       | degrees with respect to the medium from the portrait      |
   |       | orientation.  Note: The 'reverse-portrait' value was      |
   |       | added for use with the "finishings" attribute in cases    |
   |       | where the opposite edge is desired for finishing a        |
   |       | portrait Document on simple finishing devices that have   |
   |       | only one finishing position.  Thus, a 'text'/plain'       |
   |       | portrait Document can be stapled "on the right" by a      |
   |       | simple finishing device, as is common use with some       |
   |       | Middle Eastern languages such as Hebrew.                  |
   +-------+-----------------------------------------------------------+
        
   +-------+-----------------------------------------------------------+
   | Value | Symbolic Name and Description                             |
   +-------+-----------------------------------------------------------+
   | '3'   | 'portrait': The content will be imaged across the short   |
   |       | edge of the medium.                                       |
   +-------+-----------------------------------------------------------+
   | '4'   | 'landscape': The content will be imaged across the long   |
   |       | edge of the medium.  Landscape is defined to be a         |
   |       | rotation of the Input Page to be imaged by +90 degrees    |
   |       | with respect to the medium (i.e., counterclockwise) from  |
   |       | the portrait orientation.  Note: The +90 direction was    |
   |       | chosen because simple finishing on the long edge is the   |
   |       | same edge whether portrait or landscape.                  |
   +-------+-----------------------------------------------------------+
   | '5'   | 'reverse-landscape': The content will be imaged across    |
   |       | the long edge of the medium.  Reverse-landscape is        |
   |       | defined to be a rotation of the Input Page to be imaged   |
   |       | by -90 degrees with respect to the medium (i.e.,          |
   |       | clockwise) from the portrait orientation.  Note: The      |
   |       | 'reverse-landscape' value was added because some          |
   |       | applications rotate landscape -90 degrees from portrait,  |
   |       | rather than +90 degrees.                                  |
   +-------+-----------------------------------------------------------+
   | '6'   | 'reverse-portrait': The content will be imaged across the |
   |       | short edge of the medium.  Reverse-portrait is defined to |
   |       | be a rotation of the Input Page to be imaged by 180       |
   |       | degrees with respect to the medium from the portrait      |
   |       | orientation.  Note: The 'reverse-portrait' value was      |
   |       | added for use with the "finishings" attribute in cases    |
   |       | where the opposite edge is desired for finishing a        |
   |       | portrait Document on simple finishing devices that have   |
   |       | only one finishing position.  Thus, a 'text'/plain'       |
   |       | portrait Document can be stapled "on the right" by a      |
   |       | simple finishing device, as is common use with some       |
   |       | Middle Eastern languages such as Hebrew.                  |
   +-------+-----------------------------------------------------------+
        

Table 11: "orientation-requested" Enum Values

表11:“要求的方向”枚举值

5.2.11. media (type2 keyword | name(MAX))
5.2.11. 媒体(类型2关键字|名称(最大值))

This RECOMMENDED attribute identifies the medium that the Printer uses for all Impressions of the Job.

此推荐属性标识打印机用于作业所有印象的介质。

The values for "media" historically have included medium names, medium sizes, input trays, and electronic forms so that one attribute specifies the media. However, the Client SHOULD only use the media attribute to specify medium sizes using PWG Media Standardized Names [PWG5101.1].

“介质”的值历史上包括介质名称、介质大小、输入托盘和电子表格,因此一个属性指定介质。但是,客户端应仅使用“介质”属性,使用PWG介质标准化名称[PWG5101.1]指定介质大小。

If a Printer supports a medium name as a value of this attribute, such a medium name implicitly selects an input tray that contains the specified medium. If a Printer supports a medium size as a value of this attribute, such a medium size implicitly selects a medium name that in turn implicitly selects an input tray that contains the medium with the specified size. If a Printer supports an input tray as the value of this attribute, such an input tray implicitly selects the medium that is in that input tray at the time the Job prints. This case includes manual-feed input trays. If a Printer supports an electronic form as the value of this attribute, such an electronic form implicitly selects a medium name that in turn implicitly selects an input tray that contains the medium specified by the electronic form. The electronic form also implicitly selects an image that the Printer MUST merge with the Document data as it prints each page.

如果打印机支持介质名称作为该属性的值,则该介质名称会隐式选择包含指定介质的输入纸盘。如果打印机支持介质大小作为该属性的值,则该介质大小会隐式选择介质名称,而介质名称又隐式选择包含指定大小介质的输入托盘。如果打印机支持输入托盘作为该属性的值,则该输入托盘会隐式选择作业打印时该输入托盘中的介质。这种情况下,包括手动进纸输入托盘。如果打印机支持电子表单作为该属性的值,则该电子表单隐式选择介质名称,该介质名称又隐式选择包含该电子表单指定的介质的输入托盘。电子表单还隐式选择打印机在打印每页时必须与文档数据合并的图像。

PWG Media Standardized Names [PWG5101.1] SHOULD be used. Legacy 'keyword' values are taken from ISO DPA [ISO10175], the Printer MIB [RFC3805], and ASME-Y14.1M [ASME-Y14.1M]. An Administrator MAY define additional values using the 'name' or 'keyword' attribute syntax, depending on implementation.

应使用PWG介质标准化名称[PWG5101.1]。传统“关键字”值取自ISO DPA[ISO10175]、打印机MIB[RFC3805]和ASME-Y14.1M[ASME-Y14.1M]。管理员可以使用“名称”或“关键字”属性语法定义其他值,具体取决于实现。

There is also an additional Printer attribute named "media-ready", which differs from "media-supported" in that legal values only include the subset of "media-supported" values that are physically loaded and ready for printing with no Operator intervention required.

还有一个名为“media ready”的附加打印机属性,它与“media supported”的不同之处在于,合法值仅包括“media supported”值的子集,这些值是物理加载的,可以在无需操作员干预的情况下进行打印。

The relationship of this attribute and the other attributes that control Document processing is described in Appendix C.3.

附录C.3中描述了该属性与控制文档处理的其他属性之间的关系。

Note: If supported by the Printer, Clients MAY use the alternative "media-col" attribute [PWG5100.3] [PWG5100.13] to specify medium requirements in greater detail.

注意:如果打印机支持,客户端可以使用可选的“介质颜色”属性[PWG5100.3][PWG5100.13]来更详细地指定介质要求。

5.2.12. printer-resolution (resolution)
5.2.12. 打印机分辨率(分辨率)

This RECOMMENDED attribute identifies the output resolution that the Printer uses for the Job.

此推荐属性标识打印机用于作业的输出分辨率。

Note: This attribute and the "print-quality" attribute (Section 5.2.13) are both used to specify the overall output quality of the Job. If a Client specifies conflicting "printer-resolution" and "print-quality" values, Printers SHOULD use the "print-quality" value.

注:此属性和“打印质量”属性(第5.2.13节)均用于指定作业的总体输出质量。如果客户端指定了冲突的“打印机分辨率”和“打印质量”值,则打印机应使用“打印质量”值。

5.2.13. print-quality (type2 enum)
5.2.13. 打印质量(类型2枚举)

This RECOMMENDED attribute specifies the print quality that the Printer uses for the Job.

此推荐属性指定打印机用于作业的打印质量。

The standard enum values are listed in Table 12.

表12中列出了标准枚举值。

Note: This attribute and the "printer-resolution" attribute (Section 5.2.12) are both used to specify the overall output quality of the Job. If a Client specifies conflicting "printer-resolution" and "print-quality" values, Printers SHOULD use the "print-quality" value.

注意:此属性和“打印机分辨率”属性(第5.2.12节)均用于指定作业的总体输出质量。如果客户端指定了冲突的“打印机分辨率”和“打印质量”值,则打印机应使用“打印质量”值。

    +-------+---------------------------------------------------------+
    | Value | Symbolic Name and Description                           |
    +-------+---------------------------------------------------------+
    | '3'   | 'draft': lowest quality available on the Printer        |
    +-------+---------------------------------------------------------+
    | '4'   | 'normal': normal or intermediate quality on the Printer |
    +-------+---------------------------------------------------------+
    | '5'   | 'high': highest quality available on the Printer        |
    +-------+---------------------------------------------------------+
        
    +-------+---------------------------------------------------------+
    | Value | Symbolic Name and Description                           |
    +-------+---------------------------------------------------------+
    | '3'   | 'draft': lowest quality available on the Printer        |
    +-------+---------------------------------------------------------+
    | '4'   | 'normal': normal or intermediate quality on the Printer |
    +-------+---------------------------------------------------------+
    | '5'   | 'high': highest quality available on the Printer        |
    +-------+---------------------------------------------------------+
        

Table 12: "print-quality" Enum Values

表12:“打印质量”枚举值

5.3. Job Description and Status Attributes
5.3. 职位描述和状态属性

The attributes in this section form the attribute group called "job-description". Tables 13 and 14 summarize these attributes. The third column of each table indicates whether the attribute is a REQUIRED attribute that MUST be supported by Printers. If it is not indicated as REQUIRED, then it is OPTIONAL. The maximum size in octets for 'text' and 'name' attributes is indicated in parentheses.

本节中的属性构成名为“职务描述”的属性组。表13和14总结了这些属性。每个表的第三列指示该属性是否为打印机必须支持的必需属性。如果未按要求指示,则为可选。“text”和“name”属性的最大大小(以八位字节为单位)用括号表示。

             +------------------+----------------+-----------+
             | Attribute        | Syntax         | REQUIRED? |
             +------------------+----------------+-----------+
             | job-impressions  | integer(0:MAX) |           |
             +------------------+----------------+-----------+
             | job-k-octets     | integer(0:MAX) |           |
             +------------------+----------------+-----------+
             | job-media-sheets | integer(1:MAX) |           |
             +------------------+----------------+-----------+
             | job-name         | name(MAX)      | REQUIRED  |
             +------------------+----------------+-----------+
        
             +------------------+----------------+-----------+
             | Attribute        | Syntax         | REQUIRED? |
             +------------------+----------------+-----------+
             | job-impressions  | integer(0:MAX) |           |
             +------------------+----------------+-----------+
             | job-k-octets     | integer(0:MAX) |           |
             +------------------+----------------+-----------+
             | job-media-sheets | integer(1:MAX) |           |
             +------------------+----------------+-----------+
             | job-name         | name(MAX)      | REQUIRED  |
             +------------------+----------------+-----------+
        

Table 13: Job Description Attributes (READ-WRITE)

表13:工作描述属性(读写)

   +-----------------------------+-------------------------+-----------+
   | Attribute                   | Syntax                  | REQUIRED? |
   +-----------------------------+-------------------------+-----------+
   | attributes-charset          | charset                 | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | attributes-natural-language | naturalLanguage         | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | date-time-at-completed      | dateTime|unknown|no-    |           |
   |                             | value                   |           |
   +-----------------------------+-------------------------+-----------+
   | date-time-at-creation       | dateTime|unknown        |           |
   +-----------------------------+-------------------------+-----------+
   | date-time-at-processing     | dateTime|unknown|no-    |           |
   |                             | value                   |           |
   +-----------------------------+-------------------------+-----------+
   | job-detailed-status-        | 1setOf text(MAX)        |           |
   | messages                    |                         |           |
   +-----------------------------+-------------------------+-----------+
   | job-document-access-errors  | 1setOf text(MAX)        |           |
   +-----------------------------+-------------------------+-----------+
   | job-id                      | integer(1:MAX)          | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | job-impressions-completed   | integer(0:MAX)          |           |
   +-----------------------------+-------------------------+-----------+
   | job-k-octets-processed      | integer(0:MAX)          |           |
   +-----------------------------+-------------------------+-----------+
   | job-media-sheets-completed  | integer(0:MAX)          |           |
   +-----------------------------+-------------------------+-----------+
   | job-message-from-operator   | text(127)               |           |
   +-----------------------------+-------------------------+-----------+
   | job-more-info               | uri                     |           |
   +-----------------------------+-------------------------+-----------+
   | job-originating-user-name   | name(MAX)               | REQUIRED  |
        
   +-----------------------------+-------------------------+-----------+
   | Attribute                   | Syntax                  | REQUIRED? |
   +-----------------------------+-------------------------+-----------+
   | attributes-charset          | charset                 | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | attributes-natural-language | naturalLanguage         | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | date-time-at-completed      | dateTime|unknown|no-    |           |
   |                             | value                   |           |
   +-----------------------------+-------------------------+-----------+
   | date-time-at-creation       | dateTime|unknown        |           |
   +-----------------------------+-------------------------+-----------+
   | date-time-at-processing     | dateTime|unknown|no-    |           |
   |                             | value                   |           |
   +-----------------------------+-------------------------+-----------+
   | job-detailed-status-        | 1setOf text(MAX)        |           |
   | messages                    |                         |           |
   +-----------------------------+-------------------------+-----------+
   | job-document-access-errors  | 1setOf text(MAX)        |           |
   +-----------------------------+-------------------------+-----------+
   | job-id                      | integer(1:MAX)          | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | job-impressions-completed   | integer(0:MAX)          |           |
   +-----------------------------+-------------------------+-----------+
   | job-k-octets-processed      | integer(0:MAX)          |           |
   +-----------------------------+-------------------------+-----------+
   | job-media-sheets-completed  | integer(0:MAX)          |           |
   +-----------------------------+-------------------------+-----------+
   | job-message-from-operator   | text(127)               |           |
   +-----------------------------+-------------------------+-----------+
   | job-more-info               | uri                     |           |
   +-----------------------------+-------------------------+-----------+
   | job-originating-user-name   | name(MAX)               | REQUIRED  |
        
   +-----------------------------+-------------------------+-----------+
   | job-printer-up-time         | integer(1:MAX)          | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | job-printer-uri             | uri                     | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | job-state                   | type1 enum              | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | job-state-message           | text(MAX)               |           |
   +-----------------------------+-------------------------+-----------+
   | job-state-reasons           | 1setOf type2 keyword    | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | job-uri                     | uri                     | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | number-of-documents         | integer(0:MAX)          |           |
   +-----------------------------+-------------------------+-----------+
   | number-of-intervening-jobs  | integer(0:MAX)          |           |
   +-----------------------------+-------------------------+-----------+
   | output-device-assigned      | name(127)               |           |
   +-----------------------------+-------------------------+-----------+
   | time-at-completed           | integer(MIN:MAX)        | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | time-at-creation            | integer(MIN:MAX)        | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | time-at-processing          | integer(MIN:MAX)        | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
        
   +-----------------------------+-------------------------+-----------+
   | job-printer-up-time         | integer(1:MAX)          | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | job-printer-uri             | uri                     | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | job-state                   | type1 enum              | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | job-state-message           | text(MAX)               |           |
   +-----------------------------+-------------------------+-----------+
   | job-state-reasons           | 1setOf type2 keyword    | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | job-uri                     | uri                     | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | number-of-documents         | integer(0:MAX)          |           |
   +-----------------------------+-------------------------+-----------+
   | number-of-intervening-jobs  | integer(0:MAX)          |           |
   +-----------------------------+-------------------------+-----------+
   | output-device-assigned      | name(127)               |           |
   +-----------------------------+-------------------------+-----------+
   | time-at-completed           | integer(MIN:MAX)        | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | time-at-creation            | integer(MIN:MAX)        | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
   | time-at-processing          | integer(MIN:MAX)        | REQUIRED  |
   +-----------------------------+-------------------------+-----------+
        

Table 14: Job Status Attributes (READ-ONLY)

表14:作业状态属性(只读)

5.3.1. job-id (integer(1:MAX))
5.3.1. 作业id(整数(1:最大值))

This REQUIRED attribute contains the ID of the Job. The Printer, on receipt of a new Job, generates an ID that identifies the new Job on that Printer. The Printer returns the value of the "job-id" attribute as part of the response to a Job Creation request.

此必需属性包含作业的ID。收到新作业后,打印机将生成标识该打印机上新作业的ID。打印机返回“作业id”属性的值,作为对作业创建请求的响应的一部分。

For a description of this attribute and its relationship to the "job-uri" and "job-printer-uri" attributes, see the discussion in Section 3.4 ("Object Identity").

有关此属性及其与“作业uri”和“作业打印机uri”属性的关系的描述,请参阅第3.4节(“对象标识”)中的讨论。

5.3.2. job-uri (uri)
5.3.2. 作业uri(uri)

This REQUIRED attribute contains the URI for the Job. The Printer, on receipt of a new Job, generates a URI that identifies the new Job. The Printer returns the value of the "job-uri" attribute as part of the response to a Job Creation request. The precise format of a Job URI is implementation dependent [RFC3510] [RFC7472]. If the Printer supports more than one URI and there is some relationship between the newly formed Job URI and the Printer's URI, the Printer uses the

此必需属性包含作业的URI。打印机在收到新作业时,会生成标识新作业的URI。打印机返回“作业uri”属性的值,作为对作业创建请求的响应的一部分。作业URI的精确格式取决于实现[RFC3510][RFC7472]。如果打印机支持多个URI,并且新形成的作业URI与打印机的URI之间存在某种关系,则打印机将使用

Printer URI supplied by the Client in the Job Creation request. For example, if the Job Creation request comes in over a secure channel, the new Job URI MUST use the same secure channel. This can be guaranteed because the Printer is responsible for generating the Job URI and the Printer is aware of its security configuration and policy as well as the Printer URI used in the Job Creation request.

客户端在作业创建请求中提供的打印机URI。例如,如果作业创建请求通过安全通道传入,则新作业URI必须使用相同的安全通道。这是可以保证的,因为打印机负责生成作业URI,并且打印机知道其安全配置和策略以及作业创建请求中使用的打印机URI。

For a description of this attribute and its relationship to the "job-id" and "job-printer-uri" attributes, see the discussion in Section 3.4 ("Object Identity").

有关此属性及其与“作业id”和“作业打印机uri”属性的关系的描述,请参阅第3.4节(“对象标识”)中的讨论。

5.3.3. job-printer-uri (uri)
5.3.3. 作业打印机uri(uri)

This REQUIRED attribute identifies the Printer that created this Job. When a Printer creates a Job, it populates this attribute with the Printer URI that was used in the Job Creation request. This attribute permits a Client to identify the Printer that created this Job when only the Job's URI is available to the Client. The Client queries the creating Printer to determine which languages, charsets, and operations are supported for this Job.

此必需属性标识创建此作业的打印机。打印机创建作业时,会使用作业创建请求中使用的打印机URI填充此属性。当客户端只能使用作业的URI时,此属性允许客户端标识创建此作业的打印机。客户端查询创建打印机以确定此作业支持哪些语言、字符集和操作。

For a description of this attribute and its relationship to the "job-uri" and "job-id" attributes, see the discussion in Section 3.4 ("Object Identity").

有关此属性及其与“作业uri”和“作业id”属性的关系的描述,请参阅第3.4节(“对象标识”)中的讨论。

5.3.4. job-more-info (uri)
5.3.4. 作业详细信息(uri)

Similar to "printer-more-info", this attribute contains the URI referencing some resource with more information about this Job, perhaps an HTML page containing status information about the Job.

与“printer more info”类似,此属性包含引用某个资源的URI,该资源包含有关此作业的更多信息,可能是一个包含作业状态信息的HTML页面。

5.3.5. job-name (name(MAX))
5.3.5. 作业名称(名称(最大值))

This REQUIRED attribute is the name of the Job. It is a name that is more user friendly than the "job-uri" or "job-id" attribute values. It does not need to be unique between Jobs. The Job's "job-name" attribute is set to the value supplied by the Client in the "job-name" operation attribute in the Job Creation request (see Section 4.2.1.1). If, however, the "job-name" operation attribute is not supplied by the Client in the Job Creation request, the Printer, on creation of the Job, MUST generate a name. The Printer SHOULD generate the value of the Job's "job-name" attribute from the first of the following sources that produces a value: (1) the "document-name" operation attribute of the first (or only) Document, (2) the "document-URI" attribute of the first (or only) Document, or (3) any other piece of Job-specific and/or Document data.

此必需属性是作业的名称。它是一个比“作业uri”或“作业id”属性值更便于用户使用的名称。它不需要在作业之间是唯一的。作业的“作业名称”属性设置为客户端在作业创建请求的“作业名称”操作属性中提供的值(见第4.2.1.1节)。但是,如果客户端在作业创建请求中未提供“作业名称”操作属性,则打印机在创建作业时必须生成名称。打印机应从以下产生值的第一个来源生成作业“作业名称”属性的值:(1)第一个(或唯一)文档的“文档名称”操作属性,(2)第一个(或唯一)文档的“文档URI”属性,或(3)任何其他作业特定和/或文档数据。

5.3.6. job-originating-user-name (name(MAX))
5.3.6. 作业发起用户名(名称(最大值))

This REQUIRED attribute contains the name of the End User that submitted the Print Job. The Printer sets this attribute to the most authenticated printable name that it can obtain from the authentication service over which the IPP operation was received. Only if such a name is not available does the Printer use the value supplied by the Client in the "requesting-user-name" operation attribute of the Job Creation request (see Sections 5.4.2, 5.4.3, and 9).

此必需属性包含提交打印作业的最终用户的名称。打印机将此属性设置为可从接收IPP操作的身份验证服务获得的最具身份验证的可打印名称。只有当此名称不可用时,打印机才会使用客户机在作业创建请求的“请求用户名”操作属性中提供的值(请参阅第5.4.2、5.4.3和9节)。

Note: The Printer needs to keep an internal originating user ID of some form, typically as a credential of a principal, with the Job. Since such an internal attribute is implementation dependent and not of interest to Clients, it is not specified as a Job attribute. This originating user ID is used for authorization checks (if any) on all subsequent operations.

注意:打印机需要在作业中保留某种形式的内部原始用户ID,通常作为主体的凭证。由于这样的内部属性依赖于实现,并且客户机不感兴趣,因此不将其指定为作业属性。此原始用户ID用于所有后续操作的授权检查(如果有)。

5.3.7. job-state (type1 enum)
5.3.7. 作业状态(类型1枚举)

This REQUIRED attribute identifies the current state of the Job. Even though IPP defines seven values for Job states (plus the out-of-band 'unknown' value -- see Section 5.1), implementations only need to support those states that are appropriate for the particular implementation. In other words, a Printer supports only those Job states implemented by the Output Device and available to the Printer implementation.

此必需属性标识作业的当前状态。尽管IPP为作业状态定义了七个值(加上带外“未知”值,请参见第5.1节),但实现只需要支持适合特定实现的状态。换句话说,打印机仅支持由输出设备实现并可用于打印机实现的作业状态。

Standard enum values are listed in Table 15.

表15列出了标准枚举值。

The final value for this attribute MUST be one of the following -- 'completed', 'canceled', or 'aborted' -- before the Printer removes the Job altogether. The length of time that Jobs remain in the 'canceled', 'aborted', and 'completed' states depends on implementation. See Section 5.3.7.2.

在打印机完全删除作业之前,此属性的最终值必须是以下值之一--“已完成”、“已取消”或“已中止”。作业处于“已取消”、“已中止”和“已完成”状态的时间长度取决于实现。见第5.3.7.2节。

Figure 3 shows the normal Job state transitions. Normally, a Job progresses from left to right. Other state transitions are unlikely but are not forbidden. Not shown are the transitions to the 'canceled' state from the 'pending', 'pending-held', and 'processing-stopped' states.

图3显示了正常的作业状态转换。通常,作业从左到右进行。其他状态转换不太可能,但不被禁止。未显示从“挂起”、“挂起”和“处理已停止”状态到“取消”状态的转换。

                                                      +----> canceled
                                                     /
       +----> pending  -------> processing ---------+------> completed
       |         ^                   ^               \
   --->+         |                   |                +----> aborted
       |         v                   v               /
       +----> pending-held    processing-stopped ---+
        
                                                      +----> canceled
                                                     /
       +----> pending  -------> processing ---------+------> completed
       |         ^                   ^               \
   --->+         |                   |                +----> aborted
       |         v                   v               /
       +----> pending-held    processing-stopped ---+
        

Figure 3: IPP Job Life Cycle

图3:IPP工作生命周期

Jobs reach one of the three terminal states -- 'completed', 'canceled', or 'aborted' -- after the Jobs have completed all activity, including stacking output media, and all Job Status attributes have reached their final values for the Job.

作业完成所有活动(包括堆叠输出介质)且所有作业状态属性达到作业的最终值后,作业达到三种终端状态之一——“已完成”、“已取消”或“已中止”。

   +--------+----------------------------------------------------------+
   | Values | Symbolic Name and Description                            |
   +--------+----------------------------------------------------------+
   | '3'    | 'pending': The Job is a candidate to start processing    |
   |        | but is not yet processing.                               |
   +--------+----------------------------------------------------------+
   | '4'    | 'pending-held': The Job is not a candidate for           |
   |        | processing for any number of reasons but will return to  |
   |        | the 'pending' state as soon as the reasons are no longer |
   |        | present.  The Job's "job-state-reasons" attribute MUST   |
   |        | indicate why the Job is no longer a candidate for        |
   |        | processing.                                              |
   +--------+----------------------------------------------------------+
   | '5'    | 'processing': One or more of the following: (1) the Job  |
   |        | is using, or is attempting to use, one or more purely    |
   |        | software processes that are analyzing, creating, or      |
   |        | interpreting a PDL, etc.; (2) the Job is using, or is    |
   |        | attempting to use, one or more hardware devices that are |
   |        | interpreting a PDL; making marks on a medium; and/or     |
   |        | performing finishing, such as stapling, etc.; (3) the    |
   |        | Printer has made the Job ready for printing, but the     |
   |        | Output Device is not yet printing it, either because the |
   |        | Job hasn't reached the Output Device or because the Job  |
   |        | is queued in the Output Device or some other spooler,    |
   |        | waiting for the Output Device to print it.  When the Job |
   |        | is in the 'processing' state, the entire Job state       |
   |        | includes the detailed status represented in the          |
   |        | Printer's "printer-state", "printer-state-reasons", and  |
   |        | "printer-state-message" attributes.  Implementations MAY |
   |        | include additional values in the Job's "job-state-       |
   |        | reasons" attribute to indicate the progress of the Job,  |
   |        | such as adding the 'job-printing' value to indicate when |
   |        | the Output Device is actually making marks on paper      |
   |        | and/or the 'processing-to-stop-point' value to indicate  |
   |        | that the Printer is in the process of canceling or       |
   |        | aborting the Job.                                        |
        
   +--------+----------------------------------------------------------+
   | Values | Symbolic Name and Description                            |
   +--------+----------------------------------------------------------+
   | '3'    | 'pending': The Job is a candidate to start processing    |
   |        | but is not yet processing.                               |
   +--------+----------------------------------------------------------+
   | '4'    | 'pending-held': The Job is not a candidate for           |
   |        | processing for any number of reasons but will return to  |
   |        | the 'pending' state as soon as the reasons are no longer |
   |        | present.  The Job's "job-state-reasons" attribute MUST   |
   |        | indicate why the Job is no longer a candidate for        |
   |        | processing.                                              |
   +--------+----------------------------------------------------------+
   | '5'    | 'processing': One or more of the following: (1) the Job  |
   |        | is using, or is attempting to use, one or more purely    |
   |        | software processes that are analyzing, creating, or      |
   |        | interpreting a PDL, etc.; (2) the Job is using, or is    |
   |        | attempting to use, one or more hardware devices that are |
   |        | interpreting a PDL; making marks on a medium; and/or     |
   |        | performing finishing, such as stapling, etc.; (3) the    |
   |        | Printer has made the Job ready for printing, but the     |
   |        | Output Device is not yet printing it, either because the |
   |        | Job hasn't reached the Output Device or because the Job  |
   |        | is queued in the Output Device or some other spooler,    |
   |        | waiting for the Output Device to print it.  When the Job |
   |        | is in the 'processing' state, the entire Job state       |
   |        | includes the detailed status represented in the          |
   |        | Printer's "printer-state", "printer-state-reasons", and  |
   |        | "printer-state-message" attributes.  Implementations MAY |
   |        | include additional values in the Job's "job-state-       |
   |        | reasons" attribute to indicate the progress of the Job,  |
   |        | such as adding the 'job-printing' value to indicate when |
   |        | the Output Device is actually making marks on paper      |
   |        | and/or the 'processing-to-stop-point' value to indicate  |
   |        | that the Printer is in the process of canceling or       |
   |        | aborting the Job.                                        |
        
   +--------+----------------------------------------------------------+
   | '6'    | 'processing-stopped': The Job has stopped while          |
   |        | processing for any number of reasons and will return to  |
   |        | the 'processing' state as soon as the reasons are no     |
   |        | longer present.  The Job's "job-state-reasons" attribute |
   |        | MAY indicate why the Job has stopped processing.  For    |
   |        | example, if the Output Device is stopped, the 'printer-  |
   |        | stopped' value MAY be included in the Job's "job-state-  |
   |        | reasons" attribute.  Note: When an Output Device is      |
   |        | stopped, the device usually indicates its condition in   |
   |        | human-readable form locally at the device.  A Client can |
   |        | obtain more complete device status remotely by querying  |
   |        | the Printer's "printer-state", "printer-state-reasons",  |
   |        | and "printer-state-message" attributes.                  |
   +--------+----------------------------------------------------------+
   | '7'    | 'canceled':  The Job has been canceled by a Cancel-Job   |
   |        | operation, and the Printer has completed canceling the   |
   |        | Job.  All Job Status attributes have reached their final |
   |        | values for the Job.  While the Printer is canceling the  |
   |        | Job, the Job remains in its current state, but the Job's |
   |        | "job-state-reasons" attribute SHOULD contain the         |
   |        | 'processing-to-stop-point' value and one of the          |
   |        | 'canceled-by-user', 'canceled-by-operator', or           |
   |        | 'canceled-at-device' values.  When the Job moves to the  |
   |        | 'canceled' state, the 'processing-to-stop-point' value,  |
   |        | if present, MUST be removed, but 'canceled-by-xxx', if   |
   |        | present, MUST remain.                                    |
   +--------+----------------------------------------------------------+
   | '8'    | 'aborted': The Job has been aborted by the system,       |
   |        | usually while the Job was in the 'processing' or         |
   |        | 'processing-stopped' state, and the Printer has          |
   |        | completed aborting the Job; all Job Status attributes    |
   |        | have reached their final values for the Job.  While the  |
   |        | Printer is aborting the Job, the Job remains in its      |
   |        | current state, but the Job's "job-state-reasons"         |
   |        | attribute SHOULD contain the 'processing-to-stop-point'  |
   |        | and 'aborted-by-system' values.  When the Job moves to   |
   |        | the 'aborted' state, the 'processing-to-stop-point'      |
   |        | value, if present, MUST be removed, but the 'aborted-by- |
   |        | system' value, if present, MUST remain.                  |
        
   +--------+----------------------------------------------------------+
   | '6'    | 'processing-stopped': The Job has stopped while          |
   |        | processing for any number of reasons and will return to  |
   |        | the 'processing' state as soon as the reasons are no     |
   |        | longer present.  The Job's "job-state-reasons" attribute |
   |        | MAY indicate why the Job has stopped processing.  For    |
   |        | example, if the Output Device is stopped, the 'printer-  |
   |        | stopped' value MAY be included in the Job's "job-state-  |
   |        | reasons" attribute.  Note: When an Output Device is      |
   |        | stopped, the device usually indicates its condition in   |
   |        | human-readable form locally at the device.  A Client can |
   |        | obtain more complete device status remotely by querying  |
   |        | the Printer's "printer-state", "printer-state-reasons",  |
   |        | and "printer-state-message" attributes.                  |
   +--------+----------------------------------------------------------+
   | '7'    | 'canceled':  The Job has been canceled by a Cancel-Job   |
   |        | operation, and the Printer has completed canceling the   |
   |        | Job.  All Job Status attributes have reached their final |
   |        | values for the Job.  While the Printer is canceling the  |
   |        | Job, the Job remains in its current state, but the Job's |
   |        | "job-state-reasons" attribute SHOULD contain the         |
   |        | 'processing-to-stop-point' value and one of the          |
   |        | 'canceled-by-user', 'canceled-by-operator', or           |
   |        | 'canceled-at-device' values.  When the Job moves to the  |
   |        | 'canceled' state, the 'processing-to-stop-point' value,  |
   |        | if present, MUST be removed, but 'canceled-by-xxx', if   |
   |        | present, MUST remain.                                    |
   +--------+----------------------------------------------------------+
   | '8'    | 'aborted': The Job has been aborted by the system,       |
   |        | usually while the Job was in the 'processing' or         |
   |        | 'processing-stopped' state, and the Printer has          |
   |        | completed aborting the Job; all Job Status attributes    |
   |        | have reached their final values for the Job.  While the  |
   |        | Printer is aborting the Job, the Job remains in its      |
   |        | current state, but the Job's "job-state-reasons"         |
   |        | attribute SHOULD contain the 'processing-to-stop-point'  |
   |        | and 'aborted-by-system' values.  When the Job moves to   |
   |        | the 'aborted' state, the 'processing-to-stop-point'      |
   |        | value, if present, MUST be removed, but the 'aborted-by- |
   |        | system' value, if present, MUST remain.                  |
        
   +--------+----------------------------------------------------------+
   | '9'    | 'completed': The Job has completed successfully or with  |
   |        | warnings or errors after processing, all of the Job      |
   |        | Media Sheets have been successfully stacked in the       |
   |        | appropriate output bin(s), and all Job Status attributes |
   |        | have reached their final values for the Job.  The Job's  |
   |        | "job-state-reasons" attribute SHOULD contain one of the  |
   |        | 'completed-successfully', 'completed-with-warnings', or  |
   |        | 'completed-with-errors' values.                          |
   +--------+----------------------------------------------------------+
        
   +--------+----------------------------------------------------------+
   | '9'    | 'completed': The Job has completed successfully or with  |
   |        | warnings or errors after processing, all of the Job      |
   |        | Media Sheets have been successfully stacked in the       |
   |        | appropriate output bin(s), and all Job Status attributes |
   |        | have reached their final values for the Job.  The Job's  |
   |        | "job-state-reasons" attribute SHOULD contain one of the  |
   |        | 'completed-successfully', 'completed-with-warnings', or  |
   |        | 'completed-with-errors' values.                          |
   +--------+----------------------------------------------------------+
        

Table 15: "job-state" Enum Values

表15:“作业状态”枚举值

5.3.7.1. Forwarding Servers
5.3.7.1. 转发服务器

As with all other IPP attributes, if the implementation cannot determine the correct value for this attribute, it SHOULD respond with the out-of-band 'unknown' value (see Section 5.1) rather than try to guess at some possibly incorrect value and confuse the End User about the state of the Job. For example, if the implementation is just a gateway into some printing system from which it can normally get status, but temporarily is unable, then the implementation should return the 'unknown' value. However, if the implementation is a gateway to a printing system that never provides detailed status about the Print Job, the implementation MAY set the IPP Job's state to 'completed', provided that it also sets the 'queued-in-device' value in the Job's "job-state-reasons" attribute (see Section 5.3.8).

与所有其他IPP属性一样,如果实现无法确定该属性的正确值,则应使用带外“未知”值(见第5.1节)进行响应,而不是试图猜测某些可能不正确的值,并使最终用户对作业状态感到困惑。例如,如果实现只是进入某个打印系统的网关,它通常可以从中获取状态,但暂时无法,那么实现应该返回“未知”值。但是,如果实现是一个从未提供打印作业详细状态的打印系统的网关,则实现可以将IPP作业的状态设置为“已完成”,前提是它还可以在作业的“作业状态原因”属性中设置“排队入设备”值(见第5.3.8节)。

5.3.7.2. Partitioning of Job States
5.3.7.2. 作业状态的划分

This section describes the partitioning of the seven Job states into phases: Job Not Completed, Job Retention, Job History, and Job Removal. This section also explains the 'job-restartable' value of the "job-state-reasons" Job Status attribute for use with the Restart-Job and Resubmit-Job [PWG5100.11] operations.

本节介绍将七种作业状态划分为以下几个阶段:作业未完成、作业保留、作业历史记录和作业删除。本节还解释了“作业状态原因”作业状态属性的“作业可重启”值,用于重启作业和重新提交作业[PWG5100.11]操作。

Job Not Completed: When a Job is in the 'pending', 'pending-held', 'processing', or 'processing-stopped' state, the Job is not completed.

作业未完成:当作业处于“挂起”、“挂起”、“处理”或“处理已停止”状态时,作业未完成。

Job Retention: When a Job enters one of the three terminal Job states -- 'completed', 'canceled', or 'aborted' -- the IPP Printer MAY "retain" the Job in a restartable condition for an implementation-defined time period. This time period MAY be zero seconds and MAY depend on the terminal Job state. This phase is called "Job Retention". While in the Job Retention phase, the Job's Document data is retained and a Client can restart the Job using the

作业保留:当作业进入三种终端作业状态之一——“已完成”、“已取消”或“已中止”时,IPP打印机可在实施定义的时间段内以可重启状态“保留”作业。此时间段可能为零秒,并且可能取决于终端作业状态。此阶段称为“作业保留”。在作业保留阶段,将保留作业的文档数据,客户端可以使用

Restart-Job operation. If the Printer supports the Restart-Job or Resubmit-Job operation, then it SHOULD indicate that the Job is restartable by adding the 'job-restartable' value to the Job's "job-state-reasons" attribute (see Section 5.3.8) during the Job Retention phase.

重新启动作业操作。如果打印机支持重新启动作业或重新提交作业操作,则应在作业保留阶段通过将“作业可重新启动”值添加到作业的“作业状态原因”属性(请参阅第5.3.8节)来指示作业可重新启动。

Job History: After the Job Retention phase expires for a Job, the Printer deletes the Document data for the Job and the Job becomes part of the Job History. The Printer MAY also delete any number of the Job attributes. Since the Job is no longer restartable, the Printer MUST remove the 'job-restartable' value from the Job's "job-state-reasons" attribute, if present. Printers SHOULD keep the Job in the Job History phase for at least 60 seconds to allow Clients to discover the final disposition of the Job.

作业历史记录:作业的作业保留阶段到期后,打印机将删除作业的文档数据,作业将成为作业历史记录的一部分。打印机还可以删除任意数量的作业属性。由于作业不再可重新启动,打印机必须从作业的“作业状态原因”属性(如果存在)中删除“作业可重新启动”值。打印机应将作业保持在作业历史记录阶段至少60秒,以便客户端发现作业的最终处置。

Job Removal: After the Job has remained in the Job History for an implementation-defined time, such as when the number of Jobs exceeds a fixed number or after a fixed time period (which MAY be zero seconds), the IPP Printer removes the Job from the system.

作业删除:作业在作业历史记录中保留一段实施定义的时间后,例如作业数量超过固定数量或在固定时间段(可能是零秒)后,IPP打印机将作业从系统中删除。

Using the Get-Jobs operation and supplying the 'not-completed' value for the "which-jobs" operation attribute, a Client is requesting Jobs in the Job Not Completed phase. Using the Get-Jobs operation and supplying the 'completed' value for the "which-jobs" operation attribute, a Client is requesting Jobs in the Job Retention and Job History phases. Using the Get-Job-Attributes operation, a Client is requesting a Job in any phase except Job Removal. After Job Removal, the Get-Job-Attributes and Get-Jobs operations no longer are capable of returning any information about a Job.

使用Get Jobs操作并为“which Jobs”操作属性提供“not completed”值,客户机正在请求作业未完成阶段中的作业。使用Get Jobs操作并为“which Jobs”操作属性提供“completed”值,客户端将在作业保留和作业历史记录阶段请求作业。使用“获取作业属性”操作,客户机在除作业删除之外的任何阶段请求作业。删除作业后,“获取作业属性”和“获取作业”操作不再能够返回有关作业的任何信息。

5.3.8. job-state-reasons (1setOf type2 keyword)
5.3.8. 作业状态原因(1setOf type2关键字)

This REQUIRED attribute provides additional information about the Job's current state, i.e., information that augments the value of the Job's "job-state" attribute.

此必需属性提供有关作业当前状态的附加信息,即增加作业“作业状态”属性值的信息。

These values MAY be used with any Job state or states for which the reason makes sense. Some of these value definitions indicate conformance requirements; the rest are OPTIONAL. Furthermore, when implemented, the Printer MUST return these values when the reason applies and MUST NOT return them when the reason no longer applies, whether the value of the Job's "job-state" attribute changed or not. When the Job does not have any reasons for being in its current state, the value of the Job's "job-state-reasons" attribute MUST be 'none'.

这些值可用于任何作业状态或原因有意义的状态。其中一些值定义表示符合性要求;其余的是可选的。此外,在实施时,无论作业的“作业状态”属性的值是否更改,打印机必须在原因适用时返回这些值,并且在原因不再适用时不得返回这些值。当作业没有任何原因处于其当前状态时,作业的“作业状态原因”属性的值必须为“无”。

Note: While values cannot be added to the "job-state" attribute without impacting deployed Clients that take actions upon receiving "job-state" values, it is the intent that additional "job-state-reasons" values can be defined and registered without impacting such deployed Clients. In other words, the "job-state-reasons" attribute is intended to be extensible.

注意:虽然不能将值添加到“作业状态”属性而不影响在接收到“作业状态”值时采取操作的已部署客户端,但可以定义和注册其他“作业状态原因”值,而不影响此类已部署客户端。换句话说,“作业状态原因”属性是可扩展的。

The following standard 'keyword' values are defined. For ease of understanding, the values are presented in the order in which the reasons are likely to occur (if implemented):

定义了以下标准“关键字”值。为便于理解,这些值按可能发生的原因(如果实施)的顺序显示:

o 'none': There are no reasons for the Job's current state. This state reason is semantically equivalent to "job-state-reasons" without any value and MUST be used when there is no other value, since the '1setOf' attribute syntax requires at least one value.

o “无”:作业的当前状态没有任何原因。此状态原因在语义上等同于没有任何值的“作业状态原因”,并且必须在没有其他值时使用,因为“1setOf”属性语法至少需要一个值。

o 'job-incoming': Either (1) the Printer has accepted the Create-Job operation and is expecting additional Send-Document and/or Send-URI operations or (2) the Printer is retrieving/accepting Document data as a result of a Print-Job, Print-URI, Send-Document, or Send-URI operation.

o “作业传入”:要么(1)打印机已接受创建作业操作,并期望执行其他发送文档和/或发送URI操作,要么(2)打印机由于打印作业、打印URI、发送文档或发送URI操作而检索/接受文档数据。

o 'job-data-insufficient': The Create-Job operation has been accepted by the Printer, but the Printer is expecting additional Document data before it can move the Job into the 'processing' state. If a Printer starts processing before it has received all data, the Printer removes the 'job-data-insufficient' reason, but the 'job-incoming' reason remains. If a Printer starts processing after it has received all data, the Printer removes the 'job-data-insufficient' reason and the 'job-incoming' reason at the same time.

o “作业数据不足”:打印机已接受“创建作业”操作,但在将作业移动到“处理”状态之前,打印机需要其他文档数据。如果打印机在接收到所有数据之前开始处理,打印机会删除“作业数据不足”原因,但“作业传入”原因仍然存在。如果打印机在收到所有数据后开始处理,打印机会同时删除“作业数据不足”原因和“作业传入”原因。

o 'document-access-error': After accepting a Print-URI or Send-URI request, the Printer could not access one or more Documents passed by reference. This reason is intended to cover any file access problem, including 'file does not exist' and 'access denied' because of an access control problem. The Printer MAY also indicate the Document access error using the "job-document-access-errors" Job Status attribute (see Section 5.3.11). The Printer can (1) abort the Job and move the Job to the 'aborted' Job state or (2) print all Documents that are accessible and move the Job to the 'completed' Job state with the 'completed-with-errors' value in the Job's "job-state-reasons" attribute. This value SHOULD be supported if the Print-URI or Send-URI operations are supported.

o “文档访问错误”:接受打印URI或发送URI请求后,打印机无法访问通过引用传递的一个或多个文档。此原因旨在涵盖任何文件访问问题,包括“文件不存在”和“由于访问控制问题而拒绝访问”。打印机还可以使用“作业文档访问错误”作业状态属性指示文档访问错误(参见第5.3.11节)。打印机可以(1)中止作业并将作业移动到“中止”作业状态,或(2)打印所有可访问的文档,并使用作业的“作业状态原因”属性中的“已完成但有错误”值将作业移动到“已完成”作业状态。如果支持打印URI或发送URI操作,则应支持此值。

o 'submission-interrupted': The Job was not completely submitted for some unforeseen reason, such as (1) the Printer has crashed before the Job was closed by the Client, (2) the Printer or the Document transfer method has crashed in some non-recoverable way before the Document data was entirely transferred to the Printer, or (3) the Client crashed or failed to close the Job before the time-out period. See Section 5.4.31.

o “提交中断”:由于某些不可预见的原因,作业未完全提交,例如(1)打印机在客户端关闭作业之前崩溃,(2)打印机或文档传输方法在文档数据完全传输到打印机之前以某种不可恢复的方式崩溃,或(3)客户端崩溃或未能在超时期间之前关闭作业。见第5.4.31节。

o 'job-outgoing': The Printer is transmitting the Job to the Output Device.

o “作业输出”:打印机正在将作业传输到输出设备。

o 'job-hold-until-specified': The value of the Job's "job-hold-until" attribute was specified with a time period that is still in the future. The Job MUST NOT be a candidate for processing until this reason is removed and there are no other reasons to hold the Job. This value SHOULD be supported if the "job-hold-until" Job Template attribute is supported.

o “作业保留到指定时间”:作业的“作业保留到”属性的值是使用仍然在将来的时间段指定的。在删除此原因并且没有其他原因保留该作业之前,该作业不得为处理的候选作业。如果支持“作业保留到”作业模板属性,则应支持此值。

o 'resources-are-not-ready': At least one of the resources needed by the Job, such as media, fonts, resource objects, etc., is not ready on any of the physical Output Devices for which the Job is a candidate. This condition MAY be detected when the Job is accepted, or subsequently while the Job is pending or processing, depending on implementation. The Job can remain in its current state or be moved to the 'pending-held' state, depending on implementation and/or Job scheduling policy.

o “资源未准备就绪”:作业所需的至少一个资源(如媒体、字体、资源对象等)未在作业作为候选对象的任何物理输出设备上准备就绪。此情况可能在接受作业时检测到,或随后在作业挂起或处理时检测到,具体取决于实现。根据实施和/或作业调度策略,作业可以保持其当前状态,也可以移动到“挂起保持”状态。

o 'printer-stopped-partly': The value of the Printer's "printer-state-reasons" attribute contains the value 'stopped-partly'.

o “打印机已部分停止”:打印机的“打印机状态原因”属性的值包含值“已部分停止”。

o 'printer-stopped': The value of the Printer's "printer-state" attribute is 'stopped'.

o “打印机已停止”:打印机的“打印机状态”属性的值为“已停止”。

o 'job-interpreting': The Job is in the 'processing' state, but, more specifically, the Printer is interpreting the Document data.

o “作业解释”:作业处于“处理”状态,但更具体地说,打印机正在解释文档数据。

o 'job-queued': The Job is in the 'processing' state, but, more specifically, the Printer has queued the Document data.

o “作业排队”:作业处于“处理”状态,但更具体地说,打印机已将文档数据排队。

o 'job-transforming': The Job is in the 'processing' state, but, more specifically, the Printer is interpreting Document data and producing another electronic representation.

o “作业转换”:作业处于“处理”状态,但更具体地说,打印机正在解释文档数据并生成另一种电子表示。

o 'job-queued-for-marker': The Job is in any of the 'pending-held', 'pending', or 'processing' states, but, more specifically, the Printer has completed enough processing of the Document to be able to start marking, and the Job is waiting for the marker. Systems

o “作业排队等待标记”:作业处于任何“挂起”、“挂起”或“处理”状态,但更具体地说,打印机已完成足够的文档处理,可以开始标记,并且作业正在等待标记。系统

that require human intervention to release Jobs using the Release-Job operation put the Job into the 'pending-held' Job state. Systems that automatically select a Job to use the marker put the Job into the 'pending' Job state or keep the Job in the 'processing' Job state while waiting for the marker, depending on implementation. All implementations put the Job into the 'processing' state when marking does begin.

需要人工干预才能使用“释放作业”操作释放作业的操作会将作业置于“挂起-保留”作业状态。自动选择要使用标记的作业的系统将作业置于“挂起”作业状态,或在等待标记时将作业保持在“处理”作业状态,具体取决于实现。标记开始时,所有实现都将作业置于“处理”状态。

o 'job-printing': The Output Device is marking media. This value is useful for Printers that spend a great deal of time processing (1) when no marking is happening and they want to show that marking is now happening or (2) when the Job is in the process of being canceled or aborted while the Job remains in the 'processing' state, but the marking has not yet stopped so that Impression or sheet counts are still increasing for the Job.

o “作业打印”:输出设备正在标记介质。此值对于花费大量时间处理的打印机非常有用(1)当没有进行标记时,打印机希望显示正在进行标记;或(2)当作业处于“处理”状态时,当作业处于取消或中止过程中,但是标记还没有停止,因此工作的印痕或纸张数量仍在增加。

o 'job-canceled-by-user': The Job was canceled by the owner of the Job using the Cancel-Job request, i.e., by a user whose authenticated identity is the same as the value of the originating user that created the Job, or by some other authorized End User, such as a member of the Job owner's security group. This value SHOULD be supported.

o “作业被用户取消”:作业的所有者使用“取消作业”请求取消了作业,即,其身份验证身份与创建作业的原始用户的值相同的用户或其他授权最终用户(如作业所有者安全组的成员)取消了作业。应支持此值。

o 'job-canceled-by-operator': The Job was canceled by the Operator using the Cancel-Job request, i.e., by a user who has been authenticated as having Operator privileges (whether local or remote). If the security policy is to allow anyone to cancel anyone's Job, then this value can be used when the Job is canceled by other than the owner of the Job. For such a security policy, in effect, everyone is an Operator as far as canceling Jobs with IPP is concerned. This value SHOULD be supported if the implementation permits canceling by other than the owner of the Job.

o “操作员取消作业”:操作员使用“取消作业”请求取消了作业,即,已验证为具有操作员权限(本地或远程)的用户取消了作业。如果安全策略允许任何人取消任何人的作业,则当作业被非作业所有者取消时,可以使用此值。对于这种安全策略,实际上,就取消IPP作业而言,每个人都是操作员。如果实现允许作业所有者以外的人取消,则应支持此值。

o 'job-canceled-at-device': The Job was canceled by an unidentified local user, i.e., a user at a console at the device. This value SHOULD be supported if the implementation supports canceling Jobs at the console.

o “在设备上取消作业”:该作业被未识别的本地用户(即设备控制台上的用户)取消。如果实现支持在控制台取消作业,则应支持此值。

o 'aborted-by-system': The Job (1) is in the process of being aborted, (2) has been aborted by the system and placed in the 'aborted' state, or (3) has been aborted by the system and placed in the 'pending-held' state, so that a user or Operator can manually try the Job again. This value SHOULD be supported.

o “系统中止”:作业(1)正在中止过程中,(2)已被系统中止并处于“中止”状态,或(3)已被系统中止并处于“挂起”状态,以便用户或操作员可以手动重试该作业。应支持此值。

o 'unsupported-compression': The Job was aborted by the system because the Printer determined, while attempting to decompress the Document data, that the compression algorithm is actually not among those supported by the Printer. This value MUST be supported, since "compression" is a REQUIRED operation attribute.

o “不支持的压缩”:系统中止了作业,因为打印机在尝试解压缩文档数据时确定压缩算法实际上不在打印机支持的算法中。必须支持此值,因为“压缩”是必需的操作属性。

o 'compression-error': The Job was aborted by the system because the Printer encountered an error in the Document data while decompressing it. If the Printer posts this reason, the Document data has already passed any tests that would have led to the 'unsupported-compression' "job-state-reasons" value.

o “压缩错误”:作业被系统中止,因为打印机在解压缩文档数据时遇到错误。如果打印机发布此原因,则文档数据已通过任何可能导致“不支持的压缩”的“作业状态原因”值的测试。

o 'unsupported-document-format': The Job was aborted by the system because the Document data's "document-format" attribute is not among those supported by the Printer. If the Client specifies "document-format" as 'application/octet-stream', the Printer MAY abort the Job and post this reason even though the "document-format" value is among the values of the Printer's "document-format-supported" Printer attribute but not among the auto-sensed Document formats. This value MUST be supported, since "document-format" is a REQUIRED operation attribute.

o “不支持的文档格式”:由于打印机不支持文档数据的“文档格式”属性,系统中止了作业。如果客户端将“文档格式”指定为“应用程序/八位字节流”,则即使“文档格式”值在打印机的“支持的文档格式”打印机属性的值中,但不在自动感测的文档格式中,打印机也可以中止作业并发布此原因。必须支持此值,因为“文档格式”是必需的操作属性。

o 'document-format-error': The Job was aborted by the system because the Printer encountered an error in the Document data while processing it. If the Printer posts this reason, the Document data has already passed any tests that would have led to the 'unsupported-document-format' "job-state-reasons" value.

o “文档格式错误”:系统已中止作业,因为打印机在处理文档数据时遇到错误。如果打印机发布此原因,则文档数据已通过任何可能导致“不支持的文档格式”的“作业状态原因”值的测试。

o 'processing-to-stop-point': The requester has issued a Cancel-Job operation or the Printer has aborted the Job, but the Printer is still performing some actions on the Job until a specified stop point occurs or Job termination/cleanup is completed.

o “处理到停止点”:请求者已发出取消作业操作或打印机已中止作业,但打印机仍在对作业执行某些操作,直到指定的停止点出现或作业终止/清理完成。

If the implementation requires some measurable time to cancel the Job in the 'processing' or 'processing-stopped' Job state, the Printer MUST use this value to indicate that the Printer is still performing some actions on the Job while the Job remains in the 'processing' or 'processing-stopped' state. Once at the stop point, the Printer moves the Job from the 'processing' state to the 'canceled' or 'aborted' Job state.

如果实施需要一些可测量的时间来取消处于“正在处理”或“正在处理已停止”作业状态的作业,则打印机必须使用此值来指示打印机仍在对作业执行某些操作,而作业仍处于“正在处理”或“正在处理已停止”状态。到达停止点后,打印机将作业从“正在处理”状态移动到“已取消”或“已中止”作业状态。

o 'service-off-line': The Printer is offline and accepting no Jobs. All 'pending' Jobs are put into the 'pending-held' state. This situation could be true if the service's or Document transform's input is impaired or broken.

o “服务脱机”:打印机脱机,不接受任何作业。所有“挂起”作业均处于“挂起挂起”状态。如果服务或文档转换的输入受损或损坏,则这种情况可能是真实的。

o 'job-completed-successfully': The Job completed successfully. This value SHOULD be supported.

o “作业已成功完成”:作业已成功完成。应支持此值。

o 'job-completed-with-warnings': The Job completed with warnings. This value SHOULD be supported if the implementation detects warnings.

o “作业已完成,但有警告”:作业已完成,但有警告。如果实现检测到警告,则应支持此值。

o 'job-completed-with-errors': The Job completed with errors (and possibly warnings too). This value SHOULD be supported if the implementation detects errors.

o “作业已完成但有错误”:作业已完成但有错误(可能还有警告)。如果实现检测到错误,则应支持此值。

o 'job-restartable': This Job is retained (see Section 5.3.7.2) and is currently able to be restarted using the Restart-Job (see Section 4.3.7) or Resubmit-Job [PWG5100.11] operation. If 'job-restartable' is a value of the Job's "job-state-reasons" attribute, then the Printer MUST accept a Restart-Job operation for that Job. This value SHOULD be supported if the Restart-Job operation is supported.

o “作业可重启”:保留此作业(见第5.3.7.2节),当前可使用重启作业(见第4.3.7节)或重新提交作业[PWG5100.11]操作重新启动。如果“作业可重新启动”是作业的“作业状态原因”属性的值,则打印机必须接受该作业的重新启动作业操作。如果支持重新启动作业操作,则应支持此值。

o 'queued-in-device': The Job has been forwarded to a device or print system that is unable to send back status. The Printer sets the Job's "job-state" attribute to 'completed' and adds the 'queued-in-device' value to the Job's "job-state-reasons" attribute to indicate that the Printer has no additional information about the Job and never will have any better information. See Section 5.3.7.1.

o “排队进入设备”:作业已转发到无法发回状态的设备或打印系统。打印机将作业的“作业状态”属性设置为“已完成”,并将“排队进入设备”值添加到作业的“作业状态原因”属性中,以指示打印机没有关于作业的其他信息,也永远不会有更好的信息。见第5.3.7.1节。

5.3.9. job-state-message (text(MAX))
5.3.9. 作业状态消息(文本(最大))

This RECOMMENDED attribute specifies information about the "job-state" and "job-state-reasons" attributes in human-readable text. If the Printer supports this attribute, the Printer MUST be able to generate this message in any of the natural languages identified by the Printer's "generated-natural-language-supported" attribute (see the "attributes-natural-language" operation attribute specified in Section 4.1.4.1).

此推荐属性指定有关人类可读文本中“作业状态”和“作业状态原因”属性的信息。如果打印机支持此属性,则打印机必须能够以打印机的“生成的支持的自然语言”属性标识的任何自然语言生成此消息(请参阅第4.1.4.1节中指定的“属性-自然语言”操作属性)。

The value SHOULD NOT contain additional information not contained in the values of the "job-state" and "job-state-reasons" attributes, such as interpreter error information. Otherwise, application programs might attempt to parse the (localized) text. For such additional information, such as interpreter errors for application program consumption or specific Document access errors, new attributes with 'keyword' values need to be developed and registered.

该值不应包含“作业状态”和“作业状态原因”属性值中未包含的其他信息,例如解释器错误信息。否则,应用程序可能会尝试解析(本地化的)文本。对于此类附加信息,如应用程序使用的解释器错误或特定文档访问错误,需要开发和注册具有“关键字”值的新属性。

5.3.10. job-detailed-status-messages (1setOf text(MAX))
5.3.10. 作业详细状态消息(1setOf text(最大))

This attribute specifies additional detailed and technical information about the Job. The Printer SHOULD localize the message, unless such localization would obscure the technical meaning of the message. Clients MUST NOT attempt to parse the value of this attribute. See "job-document-access-errors" (Section 5.3.11) for additional errors that a program can process.

此属性指定有关作业的其他详细信息和技术信息。打印机应将消息本地化,除非这种本地化会模糊消息的技术含义。客户端不得尝试分析此属性的值。有关程序可以处理的其他错误,请参阅“作业文档访问错误”(第5.3.11节)。

5.3.11. job-document-access-errors (1setOf text(MAX))
5.3.11. 作业文档访问错误(1setOf text(MAX))

This attribute provides additional information about each Document access error for this Job encountered by the Printer after it returned a response to the Print-URI or Send-URI operation and subsequently attempted to access document(s) supplied in the Print-URI or Send-URI operation. For errors in the protocol that is identified by the URI scheme in the "document-uri" operation attribute, such as 'http:' or 'ftp:', the error code is returned in parentheses, followed by the URI. For example:

此属性提供有关打印机在返回对打印URI或发送URI操作的响应并随后尝试访问打印URI或发送URI操作中提供的文档后遇到的此作业的每个文档访问错误的附加信息。对于由“文档URI”操作属性中的URI方案标识的协议中的错误,例如“http:”或“ftp:”,将在括号中返回错误代码,后跟URI。例如:

   (404) http://www.example.com/filename.pdf
        
   (404) http://www.example.com/filename.pdf
        

Most Internet protocols use decimal error codes (unlike IPP), so the ASCII error code representation is in decimal.

大多数互联网协议使用十进制错误代码(与IPP不同),因此ASCII错误代码表示为十进制。

5.3.12. number-of-documents (integer(0:MAX))
5.3.12. 文档数(整数(0:MAX))

This attribute indicates the number of Documents in the Job, i.e., the number of Send-Document, Send-URI, Print-Job, or Print-URI operations that the Printer has accepted for this Job, regardless of whether the Document data has reached the Printer.

此属性表示作业中的文档数量,即打印机为此作业接受的发送文档、发送URI、打印作业或打印URI操作的数量,无论文档数据是否已到达打印机。

Implementations supporting the RECOMMENDED Create-Job/Send-Document/ Send-URI operations SHOULD support this attribute so that Clients can query the number of Documents in each Job.

支持推荐的Create Job/Send Document/Send URI操作的实现应该支持此属性,以便客户端可以查询每个作业中的文档数量。

5.3.13. output-device-assigned (name(127))
5.3.13. 分配的输出设备(名称(127))

This attribute identifies the Output Device to which the Printer has assigned this Job. If an Output Device implements an embedded Printer, the Printer SHOULD set this attribute. If a print server implements a Printer, the value MAY be empty (zero-length string) or not returned until the Printer assigns an Output Device to the Job. This attribute is particularly useful when a single Printer supports multiple devices (so-called "fan-out" -- see Section 3.1).

此属性标识打印机已分配此作业的输出设备。如果输出设备实现嵌入式打印机,则打印机应设置此属性。如果打印服务器实现打印机,则该值可能为空(零长度字符串)或在打印机将输出设备分配给作业之前不返回。当单个打印机支持多个设备时(所谓的“扇出”——请参阅第3.1节),此属性特别有用。

5.3.14. Event Time Job Status Attributes
5.3.14. 事件时间作业状态属性

This section defines the Job Status attributes that indicate the time at which certain events occur for a Job. If the Job event has not yet occurred, then the Printer MUST return the 'no-value' out-of-band value (see the beginning of Section 5.1). The "time-at-xxx (integer)" attributes represent time as an 'integer' representing the number of seconds since the device was powered up (informally called "time ticks"). The "date-time-at-xxx (dateTime)" attributes represent time as 'dateTime' representing date and time (including an offset from UTC).

本节定义作业状态属性,这些属性指示作业发生某些事件的时间。如果作业事件尚未发生,则打印机必须返回“无值”带外值(见第5.1节开头)。“xxx时的时间(整数)”属性将时间表示为“整数”,表示设备通电后的秒数(非正式称为“时间刻度”)。“xxx的日期时间(dateTime)”属性将时间表示为“dateTime”,表示日期和时间(包括与UTC的偏移量)。

In order to populate these attributes, the Printer copies the value(s) of the following Printer Status attributes at the time the event occurs:

为了填充这些属性,打印机会在事件发生时复制以下打印机状态属性的值:

1. the value in the Printer's "printer-up-time" attribute for the "time-at-xxx (integer)" attributes.

1. 打印机“打印机启动时间”属性中的“xxx时的时间(整数)”属性值。

2. the value in the Printer's "printer-current-time" attribute for the "date-time-at-xxx (dateTime)" attributes.

2. 打印机“打印机当前时间”属性中的“xxx日期时间(dateTime)”属性值。

If the Printer resets its "printer-up-time" attribute to 1 on power-up (see Section 5.4.29) and has persistent Jobs, then it MUST change all of those Jobs' "time-at-xxx (integer)" (time tick) Job attributes whose events have occurred either to:

如果打印机在通电时将其“打印机启动时间”属性重置为1(参见第5.4.29节),并且具有持久作业,则必须将所有这些作业的“xxx时间(整数)”(时间刻度)作业属性更改为:

1. 0 to indicate that the event happened before the most recent power-up, or

1. 0表示事件发生在最近一次通电之前,或

2. the negative of the number of seconds before the most recent power-up that the event took place, if the Printer knows the exact number of seconds.

2. 如果打印机知道确切的秒数,则事件发生的最近一次通电前的秒数为负数。

If a Client queries a "time-at-xxx (integer)" time tick Job attribute and finds the value to be 0 or negative, the Client MUST assume that the event occurred in some life other than the Printer's current life.

如果客户机查询“xxx时的时间(整数)”时间刻度作业属性并发现该值为0或负值,则客户机必须假定该事件发生在打印机当前使用寿命以外的某个使用寿命内。

Note: A Printer does not change the values of any "date-time-at-xxx (dateTime)" Job attributes on power-up.

注:打印机通电时不会更改任何“xxx日期时间(dateTime)”作业属性的值。

5.3.14.1. time-at-creation (integer(MIN:MAX))
5.3.14.1. 创建时的时间(整数(最小值:最大值))

This REQUIRED attribute indicates the time at which the Job was created.

此必需属性表示创建作业的时间。

5.3.14.2. time-at-processing (integer(MIN:MAX))
5.3.14.2. 处理时间(整数(最小值:最大值))

This REQUIRED attribute indicates the time at which the Job first began processing after the Job Creation request or the most recent Restart-Job operation. The out-of-band 'no-value' value is returned if the Job has not yet been in the 'processing' state (see the beginning of Section 5.1).

此必需属性表示在作业创建请求或最近的重新启动作业操作之后作业第一次开始处理的时间。如果作业尚未处于“处理”状态,则返回带外“无值”值(见第5.1节开头)。

5.3.14.3. time-at-completed (integer(MIN:MAX))
5.3.14.3. 完成时的时间(整数(最小值:最大值))

This REQUIRED attribute indicates the time at which the Job entered a Terminating State ('completed', 'canceled', or 'aborted'). The out-of-band 'no-value' value is returned if the Job has not yet completed, been canceled, or aborted (see the beginning of Section 5.1).

此必需属性表示作业进入终止状态的时间(“已完成”、“已取消”或“已中止”)。如果作业尚未完成、取消或中止,则返回带外“无值”值(见第5.1节开头)。

5.3.14.4. job-printer-up-time (integer(1:MAX))
5.3.14.4. 作业打印机启动时间(整数(1:最大值))

This REQUIRED Job Status attribute indicates the amount of time (in seconds) that the Printer implementation has been up and running. This attribute is an alias for the "printer-up-time" Printer Status attribute (see Section 5.4.29).

此REQUIRED Job Status属性表示打印机实现已启动并运行的时间量(秒)。该属性是“打印机启动时间”打印机状态属性的别名(见第5.4.29节)。

A Client MAY request this attribute in a Get-Job-Attributes or Get-Jobs request and use the value returned in combination with other requested Event Time Job Status attributes in order to display time attributes to a user. The difference between this attribute and the 'integer' value of a "time-at-xxx" attribute is the number of seconds ago that the "time-at-xxx" event occurred. A Client can compute the wall-clock time at which the "time-at-xxx" event occurred by subtracting this difference from the Client's wall-clock time.

客户端可以在Get Job Attributes或Get Jobs请求中请求此属性,并将返回的值与其他请求的事件时间作业状态属性结合使用,以便向用户显示时间属性。此属性与“xxx时间”属性的“整数值”之间的差异是“xxx时间”事件发生的秒数。客户机可以通过从客户机的挂钟时间中减去此差值来计算“xxx时间”事件发生的挂钟时间。

5.3.14.5. date-time-at-creation (dateTime|unknown)
5.3.14.5. 创建时的日期时间(日期时间|未知)

This RECOMMENDED attribute indicates the date and time at which the Job was created.

此推荐属性表示创建作业的日期和时间。

5.3.14.6. date-time-at-processing (dateTime|unknown|no-value)
5.3.14.6. 处理时的日期时间(日期时间|未知|无值)

This RECOMMENDED attribute indicates the date and time at which the Job first began processing after the Job Creation request or the most recent Restart-Job operation.

此推荐属性表示在作业创建请求或最近的重新启动作业操作之后作业首次开始处理的日期和时间。

5.3.14.7. date-time-at-completed (dateTime|unknown|no-value)
5.3.14.7. 完成时的日期时间(日期时间|未知|无值)

This RECOMMENDED attribute indicates the date and time at which the Job entered a Terminating State ('completed', 'canceled', or 'aborted').

此推荐属性表示作业进入终止状态(“已完成”、“已取消”或“已中止”)的日期和时间。

5.3.15. number-of-intervening-jobs (integer(0:MAX))
5.3.15. 中间作业数(整数(0:MAX))

This attribute indicates the number of Jobs that are "ahead" of this Job in the relative chronological order of expected time to complete (i.e., the current scheduled order). For efficiency, it is only necessary to calculate this value when an operation is performed that requests this attribute.

此属性表示按预期完成时间的相对时间顺序(即,当前计划顺序)“提前”完成此作业的作业数。为了提高效率,只有在执行请求此属性的操作时才需要计算此值。

5.3.16. job-message-from-operator (text(127))
5.3.16. 来自操作员的作业消息(文本(127))

This attribute provides a message from an Operator, Administrator, or "intelligent" process to indicate to the End User the reasons for modification or other management action taken on a Job.

此属性提供来自操作员、管理员或“智能”流程的消息,以向最终用户指示对作业进行修改或其他管理操作的原因。

5.3.17. Job Size Attributes
5.3.17. 作业大小属性

This subsection defines Job attributes that describe the size of the Job. These attributes are not intended to be counters; they are intended to be useful routing and scheduling information if known. For these attributes, the Printer can try to compute the value if it is not supplied in the Job Creation request. Even if the Client does supply a value for these three attributes in the Job Creation request, the Printer MAY choose to change the value if the Printer is able to compute a value that is more accurate than the Client-supplied value. The Printer can determine the correct value for these attributes either right at Job submission time or at any later point in time.

本小节定义了描述作业大小的作业属性。这些属性不打算用作计数器;如果已知,它们将成为有用的路由和调度信息。对于这些属性,如果作业创建请求中未提供该值,则打印机可以尝试计算该值。即使客户机在作业创建请求中提供了这三个属性的值,如果打印机能够计算出比客户机提供的值更准确的值,打印机也可以选择更改该值。打印机可以在作业提交时或以后的任何时间点确定这些属性的正确值。

5.3.17.1. job-k-octets (integer(0:MAX))
5.3.17.1. job-k-octets(整数(0:MAX))

This attribute specifies the total size of the Document(s) in K octets, i.e., in units of 1024 octets requested to be processed in the Job. The value MUST be rounded up, so that a Job between 1 and 1024 octets MUST be indicated as being 1, 1025 to 2048 MUST be 2, etc.

此属性以K个八位字节为单位指定文档的总大小,即以作业中请求处理的1024个八位字节为单位。该值必须向上舍入,以便1到1024个八位字节之间的作业必须表示为1,1025到2048必须表示为2,以此类推。

This value MUST NOT include the multiplicative factors contributed by the number of copies specified by the "copies" attribute, independent of whether the device can process multiple copies without making multiple passes over the Job or Document data and independent of whether the output is collated or not. Thus, the value is independent of the implementation and indicates the size of the Document(s) measured in K octets independent of the number of copies.

该值不得包括由“拷贝”属性指定的拷贝数所产生的乘法因子,这与设备是否可以处理多个拷贝而无需对作业或文档数据进行多次传递无关,也与是否对输出进行了整理无关。因此,该值与实现无关,并指示以K个八位字节为单位测量的文档大小,与副本数量无关。

This value also MUST NOT include the multiplicative factor due to a copies instruction embedded in the Document data. If the Document data actually includes replications of the Document data, this value will include such replication. In other words, this value is always the size of the source Document data, rather than a measure of the hardcopy output to be produced.

由于文档数据中嵌入了复制指令,该值也不得包含乘法因子。如果文档数据实际上包括文档数据的复制,则此值将包括此类复制。换句话说,该值始终是源文档数据的大小,而不是要生成的硬拷贝输出的度量。

5.3.17.2. job-impressions (integer(0:MAX))
5.3.17.2. 工作印象(整数(0:MAX))

This RECOMMENDED attribute specifies the total size in number of Impressions of the Document(s) being submitted (see the definition of "Impression" in Section 2.3.4).

此推荐属性指定提交文件的总印痕数(见第2.3.4节“印痕”的定义)。

As with "job-k-octets", this value MUST NOT include the multiplicative factors contributed by the number of copies specified by the "copies" attribute, independent of whether the device can process multiple copies without making multiple passes over the Job or Document data and independent of whether the output is collated or not. Thus, the value is independent of the implementation and reflects the size of the Document(s) measured in Impressions independent of the number of copies.

与“job-k-octets”一样,该值不得包括由“copies”属性指定的拷贝数所贡献的乘法因子,这与设备是否可以处理多个拷贝而无需对作业或文档数据进行多次传递无关,也与输出是否被整理无关。因此,该值与实现无关,并反映了以印数度量的文档大小,与副本数量无关。

As with "job-k-octets", this value also MUST NOT include the multiplicative factor due to a copies instruction embedded in the Document data. If the Document data actually includes replications of the Document data, this value will include such replication. In other words, this value is always the number of Impressions in the source Document data, rather than a measure of the number of Impressions to be produced by the Job.

与“job-k-octets”一样,由于文档数据中嵌入了copies指令,因此该值也不得包含乘法因子。如果文档数据实际上包括文档数据的复制,则此值将包括此类复制。换句话说,该值始终是源文档数据中的印象数,而不是作业要产生的印象数的度量。

5.3.17.3. job-media-sheets (integer(1:MAX))
5.3.17.3. 作业介质表(整数(1:最大))

This RECOMMENDED attribute specifies the total number of Media Sheets to be produced for this Job.

此推荐属性指定要为此作业生成的介质页总数。

Unlike the "job-k-octets" and the "job-impressions" attributes, this value MUST include the multiplicative factors contributed by the number of copies specified by the "copies" attribute and a 'number of copies' instruction embedded in the Document data, if any. This difference allows the Administrator to control the lower and upper bounds of both (1) the size of the Document(s) with "job-k-octets-supported" and "job-impressions-supported" and (2) the size of the Job with "job-media-sheets-supported".

与“job-k-octets”和“job impressions”属性不同,此值必须包括由“copies”属性指定的副本数和嵌入文档数据的“number of copies”指令(如果有)所贡献的乘法因子。此差异允许管理员控制(1)支持“作业k八位字节”和“支持作业印象”的文档大小的下限和上限,以及(2)支持“作业媒体表”的作业大小。

5.3.18. Job Progress Attributes
5.3.18. 作业进度属性

This subsection defines Job attributes that describe the progress of the Job. These attributes are intended to be counters. That is, the values for a Job that has not started processing MUST be 0. When the Job's "job-state" is 'processing' or 'processing-stopped', this value is intended to contain the amount of the Job that has been processed to the time at which the attributes are requested. When the Job enters the 'completed', 'canceled', or 'aborted' states, these values are the final values for the Job.

本小节定义了描述作业进度的作业属性。这些属性将用作计数器。也就是说,尚未开始处理的作业的值必须为0。当作业的“作业状态”为“正在处理”或“已停止处理”时,此值旨在包含到请求属性时已处理的作业量。当作业进入“完成”、“取消”或“中止”状态时,这些值是作业的最终值。

5.3.18.1. job-k-octets-processed (integer(0:MAX))
5.3.18.1. job-k-octets-processed(整数(0:MAX))

This attribute specifies the total number of octets processed in K octets, i.e., in units of 1024 octets so far. The value MUST be rounded up, so that a Job between 1 and 1024 octets inclusive MUST be indicated as being 1, 1025 to 2048 inclusive MUST be 2, etc.

此属性指定以K个八位字节为单位处理的八位字节总数,即迄今为止以1024个八位字节为单位。该值必须向上舍入,以便包含1到1024个八位字节的作业必须表示为1,包含1025到2048的作业必须表示为2,以此类推。

For implementations where multiple copies are produced by the interpreter with only a single pass over the data, the final value MUST be equal to the value of the "job-k-octets" attribute. For implementations where multiple copies are produced by the interpreter by processing the data for each copy, the final value MUST be a multiple of the value of the "job-k-octets" attribute.

对于解释器仅通过一次数据传递就生成多个副本的实现,最终值必须等于“job-k-octets”属性的值。对于解释器通过处理每个副本的数据生成多个副本的实现,最终值必须是“job-k-octets”属性值的倍数。

5.3.18.2. job-impressions-completed (integer(0:MAX))
5.3.18.2. 已完成工作印象(整数(0:最大))

This RECOMMENDED attribute specifies the number of Impressions completed for the Job so far. For printing devices, the Impressions completed includes interpreting, marking, and stacking the output.

此推荐属性指定到目前为止作业已完成的印象数。对于打印设备,完成的印象包括解释、标记和堆叠输出。

5.3.18.3. job-media-sheets-completed (integer(0:MAX))
5.3.18.3. 作业介质表已完成(整数(0:MAX))

This RECOMMENDED Job attribute specifies the number of Media Sheets that have been marked and stacked for the entire Job so far, whether those sheets have been processed on one side or on both.

此推荐作业属性指定到目前为止整个作业中已标记和堆叠的纸张数量,这些纸张是单面处理还是双面处理。

5.3.19. attributes-charset (charset)
5.3.19. 属性字符集(字符集)

This REQUIRED attribute is populated using the value in the Client-supplied "attributes-charset" attribute in the Job Creation request. It identifies the charset (coded character set and encoding method) used by any Job attributes with attribute syntaxes 'text' and 'name' that were supplied by the Client in the Job Creation request. See Section 4.1.4 for a complete description of the "attributes-charset" operation attribute.

此必需属性使用作业创建请求中客户端提供的“attributes charset”属性中的值填充。它标识任何作业属性使用的字符集(编码字符集和编码方法),该作业属性具有客户端在作业创建请求中提供的属性语法“text”和“name”。有关“属性字符集”操作属性的完整说明,请参见第4.1.4节。

This attribute does not indicate the charset in which the 'text' and 'name' values are stored internally in the Job. The internal charset is implementation defined. The Printer MUST convert from whatever the internal charset is to that being requested in an operation as specified in Section 4.1.4.

此属性不指示作业内部存储“text”和“name”值的字符集。内部字符集由实现定义。打印机必须从任何内部字符集转换为第4.1.4节规定的操作中所请求的字符集。

5.3.20. attributes-natural-language (naturalLanguage)
5.3.20. 属性自然语言(自然语言)

This REQUIRED attribute is populated using the value in the Client-supplied "attributes-natural-language" attribute in the Job Creation request. It identifies the natural language used for any Job attributes with attribute syntaxes 'text' and 'name' that were supplied by the Client in the Job Creation request. See Section 4.1.4 for a complete description of the "attributes-natural-language" operation attribute. See Sections 5.1.2.2 and 5.1.3.2 for how a Natural Language Override can be supplied explicitly for each 'text' and 'name' attribute value that differs from the value identified by the "attributes-natural-language" attribute.

此必需属性使用作业创建请求中客户端提供的“attributes natural language”属性中的值填充。它标识用于任何作业属性的自然语言,这些作业属性具有客户端在作业创建请求中提供的属性语法“text”和“name”。有关“属性-自然语言”操作属性的完整描述,请参见第4.1.4节。请参见第5.1.2.2节和第5.1.3.2节,了解如何为与“attributes Natural Language”属性标识的值不同的每个“text”和“name”属性值明确提供自然语言覆盖。

5.4. Printer Description and Status Attributes
5.4. 打印机说明和状态属性

These attributes form the attribute group called "printer-description". Tables 16 and 17 summarize these attributes, their syntax, and whether they are REQUIRED for a Printer to support. If they are not indicated as REQUIRED, they are OPTIONAL. The maximum size in octets for 'text' and 'name' attributes is indicated in parentheses.

这些属性构成名为“打印机描述”的属性组。表16和17总结了这些属性、它们的语法以及打印机是否需要它们来支持。如果未按要求指示,则为可选。“text”和“name”属性的最大大小(以八位字节为单位)用括号表示。

Note: How these attributes are set by an Administrator is outside the scope of this document.

注意:管理员如何设置这些属性超出了本文档的范围。

   +-----------------------------+-----------------------+-------------+
   | Attribute                   | Syntax                | REQUIRED?   |
   +-----------------------------+-----------------------+-------------+
   | charset-configured          | charset               | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | charset-supported           | 1setOf charset        | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | color-supported             | boolean               | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | compression-supported       | 1setOf type2 keyword  | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | document-format-default     | mimeMediaType         | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | document-format-supported   | 1setOf mimeMediaType  | REQUIRED    |
        
   +-----------------------------+-----------------------+-------------+
   | Attribute                   | Syntax                | REQUIRED?   |
   +-----------------------------+-----------------------+-------------+
   | charset-configured          | charset               | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | charset-supported           | 1setOf charset        | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | color-supported             | boolean               | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | compression-supported       | 1setOf type2 keyword  | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | document-format-default     | mimeMediaType         | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | document-format-supported   | 1setOf mimeMediaType  | REQUIRED    |
        
   +-----------------------------+-----------------------+-------------+
   | generated-natural-language- | 1setOf                | REQUIRED    |
   | supported                   | naturalLanguage       |             |
   +-----------------------------+-----------------------+-------------+
   | ipp-versions-supported      | 1setOf type2 keyword  | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | job-impressions-supported   | rangeOfInteger(0:MAX) | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | job-k-octets-supported      | rangeOfInteger(0:MAX) |             |
   +-----------------------------+-----------------------+-------------+
   | job-media-sheets-supported  | rangeOfInteger(1:MAX) |             |
   +-----------------------------+-----------------------+-------------+
   | multiple-document-jobs-     | boolean               | RECOMMENDED |
   | supported                   |                       |             |
   +-----------------------------+-----------------------+-------------+
   | multiple-operation-time-out | integer(1:MAX)        | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | natural-language-configured | naturalLanguage       | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | operations-supported        | 1setOf type2 enum     | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | pdl-override-supported      | type2 keyword         | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | printer-driver-installer    | uri                   |             |
   +-----------------------------+-----------------------+-------------+
   | printer-info                | text(127)             | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | printer-location            | text(127)             | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | printer-make-and-model      | text(127)             | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | printer-message-from-       | text(127)             |             |
   | operator                    |                       |             |
   +-----------------------------+-----------------------+-------------+
   | printer-more-info-          | uri                   |             |
   | manufacturer                |                       |             |
   +-----------------------------+-----------------------+-------------+
   | printer-name                | name(127)             | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | reference-uri-schemes-      | 1setOf uriScheme      |             |
   | supported                   |                       |             |
   +-----------------------------+-----------------------+-------------+
        
   +-----------------------------+-----------------------+-------------+
   | generated-natural-language- | 1setOf                | REQUIRED    |
   | supported                   | naturalLanguage       |             |
   +-----------------------------+-----------------------+-------------+
   | ipp-versions-supported      | 1setOf type2 keyword  | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | job-impressions-supported   | rangeOfInteger(0:MAX) | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | job-k-octets-supported      | rangeOfInteger(0:MAX) |             |
   +-----------------------------+-----------------------+-------------+
   | job-media-sheets-supported  | rangeOfInteger(1:MAX) |             |
   +-----------------------------+-----------------------+-------------+
   | multiple-document-jobs-     | boolean               | RECOMMENDED |
   | supported                   |                       |             |
   +-----------------------------+-----------------------+-------------+
   | multiple-operation-time-out | integer(1:MAX)        | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | natural-language-configured | naturalLanguage       | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | operations-supported        | 1setOf type2 enum     | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | pdl-override-supported      | type2 keyword         | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | printer-driver-installer    | uri                   |             |
   +-----------------------------+-----------------------+-------------+
   | printer-info                | text(127)             | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | printer-location            | text(127)             | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | printer-make-and-model      | text(127)             | RECOMMENDED |
   +-----------------------------+-----------------------+-------------+
   | printer-message-from-       | text(127)             |             |
   | operator                    |                       |             |
   +-----------------------------+-----------------------+-------------+
   | printer-more-info-          | uri                   |             |
   | manufacturer                |                       |             |
   +-----------------------------+-----------------------+-------------+
   | printer-name                | name(127)             | REQUIRED    |
   +-----------------------------+-----------------------+-------------+
   | reference-uri-schemes-      | 1setOf uriScheme      |             |
   | supported                   |                       |             |
   +-----------------------------+-----------------------+-------------+
        

Table 16: Printer Description Attributes (READ-WRITE)

表16:打印机描述属性(读写)

   +------------------------------+----------------------+-------------+
   | Attribute                    | Syntax               | REQUIRED?   |
   +------------------------------+----------------------+-------------+
   | pages-per-minute-color       | integer(0:MAX)       | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | pages-per-minute             | integer(0:MAX)       | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | printer-current-time         | dateTime|unknown     | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | printer-is-accepting-jobs    | boolean              | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | printer-more-info            | uri                  | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | printer-state                | type1 enum           | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | printer-state-message        | text(MAX)            | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | printer-state-reasons        | 1setOf type2 keyword | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | printer-up-time              | integer(1:MAX)       | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | printer-uri-supported        | 1setOf uri           | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | queued-job-count             | integer(0:MAX)       | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | uri-authentication-supported | 1setOf type2 keyword | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | uri-security-supported       | 1setOf type2 keyword | REQUIRED    |
   +------------------------------+----------------------+-------------+
        
   +------------------------------+----------------------+-------------+
   | Attribute                    | Syntax               | REQUIRED?   |
   +------------------------------+----------------------+-------------+
   | pages-per-minute-color       | integer(0:MAX)       | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | pages-per-minute             | integer(0:MAX)       | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | printer-current-time         | dateTime|unknown     | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | printer-is-accepting-jobs    | boolean              | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | printer-more-info            | uri                  | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | printer-state                | type1 enum           | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | printer-state-message        | text(MAX)            | RECOMMENDED |
   +------------------------------+----------------------+-------------+
   | printer-state-reasons        | 1setOf type2 keyword | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | printer-up-time              | integer(1:MAX)       | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | printer-uri-supported        | 1setOf uri           | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | queued-job-count             | integer(0:MAX)       | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | uri-authentication-supported | 1setOf type2 keyword | REQUIRED    |
   +------------------------------+----------------------+-------------+
   | uri-security-supported       | 1setOf type2 keyword | REQUIRED    |
   +------------------------------+----------------------+-------------+
        

Table 17: Printer Status Attributes (READ-ONLY)

表17:打印机状态属性(只读)

5.4.1. printer-uri-supported (1setOf uri)
5.4.1. 支持的打印机uri(1setOf uri)

This REQUIRED Printer attribute contains one or more URIs for the Printer. It MAY contain more than one URI for the Printer. An Administrator determines a Printer's URIs and configures this attribute to contain those URIs by some means outside the scope of this IPP/1.1 document. The precise format of the URIs is implementation dependent and depends on the protocol. See Sections 5.4.2 and 5.4.3 for a description of the "uri-authentication-supported" and "uri-security-supported" attributes, both of which are the REQUIRED companion attributes to this "printer-uri-supported" attribute. See Sections 3.4 ("Object Identity") and 9.2 ("URIs in Operation, Job, and Printer Attributes") for more information.

此必需的打印机属性包含打印机的一个或多个URI。它可能包含打印机的多个URI。管理员确定打印机的URI,并将此属性配置为通过某种方式将这些URI包含在此IPP/1.1文档范围之外。URI的精确格式取决于实现,并取决于协议。有关“支持的uri身份验证”和“支持的uri安全性”属性的说明,请参见第5.4.2节和第5.4.3节,这两个属性都是此“支持的打印机uri”属性所需的配套属性。有关更多信息,请参阅第3.4节(“对象标识”)和第9.2节(“操作中的URI、作业和打印机属性”)。

5.4.2. uri-authentication-supported (1setOf type2 keyword)
5.4.2. 支持uri身份验证(1setOf type2关键字)

This REQUIRED Printer attribute MUST have the same cardinality (contain the same number of values) as the "printer-uri-supported" attribute. This attribute identifies the Client Authentication mechanism associated with each URI listed in the "printer-uri-supported" attribute. The Printer uses the specified mechanism to identify the authenticated user (see Section 9.3). The "i-th" value in "uri-authentication-supported" corresponds to the "i-th" value in "printer-uri-supported", and it describes the authentication mechanisms used by the Printer when accessed via that URI. See [RFC8010] for more details on Client Authentication.

此必需的打印机属性必须与“支持的打印机uri”属性具有相同的基数(包含相同数量的值)。此属性标识与“支持的打印机URI”属性中列出的每个URI关联的客户端身份验证机制。打印机使用指定的机制识别经过身份验证的用户(参见第9.3节)。“支持uri身份验证”中的“i-th”值对应于“支持打印机uri”中的“i-th”值,它描述了通过该uri访问打印机时使用的身份验证机制。有关客户端身份验证的更多详细信息,请参阅[RFC8010]。

The following standard 'keyword' values are defined:

定义了以下标准“关键字”值:

o 'none': There is no authentication mechanism associated with the URI. The Printer assumes that the authenticated user is 'anonymous'.

o “无”:没有与URI关联的身份验证机制。打印机假定经过身份验证的用户是“匿名”用户。

o 'requesting-user-name': When a Client performs an operation whose target is the associated URI, the Printer assumes that the authenticated user is specified by the "requesting-user-name" operation attribute (see Section 9.3). If the "requesting-user-name" attribute is absent in a request, the Printer assumes that the authenticated user is 'anonymous'.

o “请求用户名”:当客户端执行目标为关联URI的操作时,打印机假定已验证用户由“请求用户名”操作属性指定(请参阅第9.3节)。如果请求中缺少“请求用户名”属性,则打印机会假定经过身份验证的用户是“匿名”用户。

o 'basic': When a Client performs an operation whose target is the associated URI, the Printer challenges the Client with HTTP Basic authentication [RFC7617]. The Printer assumes that the authenticated user is the name received via the Basic authentication mechanism.

o “basic”:当客户端执行目标为关联URI的操作时,打印机使用HTTP basic身份验证[RFC7617]挑战客户端。打印机假定经过身份验证的用户是通过基本身份验证机制收到的名称。

o 'digest': When a Client performs an operation whose target is the associated URI, the Printer challenges the Client with HTTP Digest authentication [RFC7616]. The Printer assumes that the authenticated user is the name received via the Digest authentication mechanism.

o “摘要”:当客户端执行目标为关联URI的操作时,打印机使用HTTP摘要身份验证[RFC7616]挑战客户端。打印机假定经过身份验证的用户是通过摘要身份验证机制接收的名称。

o 'certificate': When a Client performs an operation whose target is the associated URI, the Printer expects the Client to provide an X.509 certificate. The Printer assumes that the authenticated user is one of the textual names (Common Name or Subject Alternate Names) contained within the certificate.

o “证书”:当客户端执行目标为关联URI的操作时,打印机希望客户端提供X.509证书。打印机假定经过身份验证的用户是证书中包含的文本名称(通用名称或使用者备用名称)之一。

5.4.3. uri-security-supported (1setOf type2 keyword)
5.4.3. 支持uri安全性(1setOf type2关键字)

This REQUIRED Printer attribute MUST have the same cardinality (contain the same number of values) as the "printer-uri-supported" attribute. This attribute identifies the security mechanisms used for each URI listed in the "printer-uri-supported" attribute. The "i-th" value in "uri-security-supported" corresponds to the "i-th" value in "printer-uri-supported", and it describes the security mechanisms used for accessing the Printer via that URI. See [RFC8010] for more details on security mechanisms.

此必需的打印机属性必须与“支持的打印机uri”属性具有相同的基数(包含相同数量的值)。此属性标识用于“支持的打印机URI”属性中列出的每个URI的安全机制。“支持的uri安全性”中的“i-th”值对应于“支持的打印机uri”中的“i-th”值,它描述了用于通过该uri访问打印机的安全机制。有关安全机制的更多详细信息,请参阅[RFC8010]。

The following standard 'keyword' values are defined:

定义了以下标准“关键字”值:

o 'none': There are no secure communication channel protocols in use for the given URI.

o “无”:给定URI没有使用安全通信通道协议。

o 'tls': TLS [RFC5246] [RFC7525] is the secure communications channel protocol in use for the given URI.

o “tls”:tls[RFC5246][RFC7525]是用于给定URI的安全通信通道协议。

This attribute is orthogonal to the definition of a Client Authentication mechanism. Specifically, 'none' does not exclude Client Authentication. See Section 5.4.2.

此属性与客户端身份验证机制的定义正交。具体而言,“无”不排除客户端身份验证。见第5.4.2节。

Consider the following example. For a single Printer, an Administrator configures the "printer-uri-supported", "uri-authentication-supported", and "uri-security-supported" attributes as follows:

考虑下面的例子。对于单个打印机,管理员按如下方式配置“支持的打印机uri”、“支持的uri身份验证”和“支持的uri安全性”属性:

      "printer-uri-supported": 'ipp://printer.example.com/ipp/print/
      open-use-printer', 'ipp://printer.example.com/ipp/print/
      restricted-use-printer', 'ipps://printer.example.com/ipp/print/
      private-printer'
        
      "printer-uri-supported": 'ipp://printer.example.com/ipp/print/
      open-use-printer', 'ipp://printer.example.com/ipp/print/
      restricted-use-printer', 'ipps://printer.example.com/ipp/print/
      private-printer'
        
      "uri-authentication-supported": 'none', 'digest', 'basic'
        
      "uri-authentication-supported": 'none', 'digest', 'basic'
        
      "uri-security-supported": 'none', 'none', 'tls'
        
      "uri-security-supported": 'none', 'none', 'tls'
        

In this case, one Printer has three URIs.

在这种情况下,一台打印机有三个URI。

o For the first URI, 'ipp://printer.example.com/ipp/print/ open-use-printer', the value 'none' in "uri-security-supported" indicates that there is no secure channel protocol configured to run under HTTP. The value of 'none' in "uri-authentication-supported" indicates that all users are 'anonymous'. There will be no challenge, and the Printer will ignore "requesting-user-name".

o 对于第一个URI,'ipp://printer.example.com/ipp/print/ “受支持的uri安全性”中的值“none”表示没有配置为在HTTP下运行的安全通道协议。“支持uri身份验证”中的“无”值表示所有用户都是“匿名”用户。不会有任何挑战,打印机将忽略“请求用户名”。

o For the second URI, 'ipp://printer.example.com/ipp/print/ restricted-use-printer', the value 'none' in "uri-security-supported" indicates that there is no secure channel protocol configured to run under HTTP. The value of 'digest' in "uri-authentication-supported" indicates that the Printer will issue a challenge and that the Printer will use the name supplied by the Digest mechanism to determine the authenticated user (see Section 9.3).

o 对于第二个URI,'ipp://printer.example.com/ipp/print/ “受限制使用打印机”,“受支持的uri安全性”中的值“无”表示没有配置为在HTTP下运行的安全通道协议。“支持uri身份验证”中的“摘要”值表示打印机将发出质询,并且打印机将使用摘要机制提供的名称来确定经过身份验证的用户(请参阅第9.3节)。

o For the third URI, 'ipps://printer.example.com/ipp/print/ private-printer', the value 'tls' in "uri-security-supported" indicates that TLS is being used to secure the channel. The Client SHOULD be prepared to use TLS framing to negotiate an acceptable ciphersuite to use while communicating with the Printer. In this case, the name implies the use of a secure communications channel, but the fact is made explicit by the presence of the 'tls' value in "uri-security-supported". The Client does not need to resort to understanding which security mechanisms it must use by following naming conventions or by parsing the URI to determine which security mechanisms are implied. The value of 'basic' in "uri-authentication-supported" indicates that the Printer will issue a challenge and that the Printer will use the name supplied by the Basic mechanism to determine the authenticated user (see Section 9.3). Because this challenge occurs in a TLS session, the channel is secure.

o 对于第三个URI,'ipps://printer.example.com/ipp/print/ “受支持的uri安全性”中的值“tls”表示tls正用于保护通道。客户应准备好使用TLS框架,以便在与打印机通信时协商可接受的密码套件。在本例中,该名称意味着使用安全通信通道,但由于“urisecurity supported”中存在“tls”值,这一事实变得非常明确。客户端不需要通过以下命名约定或通过解析URI来确定隐含的安全机制来理解必须使用哪些安全机制。“支持uri身份验证”中的“basic”值表示打印机将发出质询,并且打印机将使用基本机制提供的名称来确定经过身份验证的用户(请参阅第9.3节)。由于此质询发生在TLS会话中,因此通道是安全的。

Some Printers will be configured to support only one channel (either configured to use TLS access or not) and only one authentication mechanism. Such Printers only have one URI listed in the "printer-uri-supported" attribute. No matter the configuration of the Printer (whether it has only one URI or more than one URI), a Client MUST supply only one URI in the target "printer-uri" operation attribute.

某些打印机将配置为仅支持一个通道(配置为使用TLS访问或不使用TLS访问)和一个身份验证机制。此类打印机只有一个URI列在“支持的打印机URI”属性中。无论打印机的配置如何(无论它只有一个URI还是多个URI),客户机都必须在目标“打印机URI”操作属性中只提供一个URI。

5.4.4. printer-name (name(127))
5.4.4. 打印机名称(名称(127))

This REQUIRED Printer attribute contains the name of the Printer. It is a name that is more End User friendly than a URI. An Administrator determines a Printer's name and sets this attribute to that name. This name can be the last part of the Printer's URI, or it can be unrelated. In non-US-English locales, a name can contain characters that are not allowed in a URI.

此必需的打印机属性包含打印机的名称。它是一个比URI对最终用户更友好的名称。管理员确定打印机的名称并将此属性设置为该名称。此名称可以是打印机URI的最后一部分,也可以不相关。在非美国英语地区,名称可以包含URI中不允许的字符。

5.4.5. printer-location (text(127))
5.4.5. 打印机位置(文本(127))

This RECOMMENDED Printer attribute identifies the location of the device. This could include things like 'in Room 123A, second floor of building XYZ'.

此建议的打印机属性标识设备的位置。这可能包括“在XYZ大楼二楼123A室”之类的东西。

5.4.6. printer-info (text(127))
5.4.6. 打印机信息(文本(127))

This RECOMMENDED Printer attribute provides descriptive information about this Printer. This could include things like 'This printer can be used for printing color transparencies for HR presentations', or 'Out of courtesy for others, please print only small (1-5 page) jobs at this printer', or even 'This printer is going away on July 1; please find a new printer'.

此“建议使用的打印机”属性提供有关此打印机的说明信息。这可能包括“这台打印机可用于打印人力资源演示文稿的彩色透明胶片”,或“出于对他人的礼貌,请在这台打印机上只打印小的(1-5页)作业”,甚至“这台打印机将于7月1日关闭”;请找一台新打印机。

5.4.7. printer-more-info (uri)
5.4.7. 打印机详细信息(uri)

This RECOMMENDED Printer attribute contains a URI used to obtain more information about this specific Printer. For example, this could be an HTTP URI referencing an HTML page accessible to a web browser. The information obtained from this URI is intended for End User consumption. Features outside the scope of IPP can be accessed from this URI. The information is intended to be specific to this Printer instance and site-specific services, e.g., Job pricing, services offered, and End User assistance. The device manufacturer can initially populate this attribute.

此建议的打印机属性包含用于获取有关此特定打印机的详细信息的URI。例如,这可能是一个HTTP URI,它引用web浏览器可以访问的HTML页面。从该URI获得的信息仅供最终用户使用。可以从此URI访问IPP范围之外的功能。这些信息旨在特定于此打印机实例和特定于站点的服务,例如作业定价、提供的服务和最终用户帮助。设备制造商最初可以填充此属性。

5.4.8. printer-driver-installer (uri)
5.4.8. 打印机驱动程序安装程序(uri)

This Printer attribute contains a URI to use to locate the driver installer for this Printer. This attribute is intended for consumption by automata. The mechanics of Printer driver installation are outside the scope of this document. The device manufacturer can initially populate this attribute.

此打印机属性包含用于定位此打印机的驱动程序安装程序的URI。此属性旨在供自动机使用。打印机驱动程序的安装机制不在本文档的范围内。设备制造商最初可以填充此属性。

5.4.9. printer-make-and-model (text(127))
5.4.9. 打印机品牌和型号(文本(127))

This RECOMMENDED Printer attribute identifies the make and model of the device. The device manufacturer can initially populate this attribute.

此建议的打印机属性标识设备的品牌和型号。设备制造商最初可以填充此属性。

5.4.10. printer-more-info-manufacturer (uri)
5.4.10. 打印机详细信息制造商(uri)

This Printer attribute contains a URI used to obtain more information about this type of device. The information obtained from this URI is intended for End User consumption. Features outside the scope of IPP can be accessed from this URI (e.g., latest firmware, upgrades, Printer drivers, optional features available, details on color support). The information is intended to be germane to this Printer without regard to site-specific modifications or services. The device manufacturer can initially populate this attribute.

此打印机属性包含用于获取有关此类型设备的详细信息的URI。从该URI获得的信息仅供最终用户使用。可以从此URI访问IPP范围之外的功能(例如,最新固件、升级、打印机驱动程序、可选功能、颜色支持的详细信息)。该信息旨在与本打印机密切相关,而不考虑现场特定的修改或服务。设备制造商最初可以填充此属性。

5.4.11. printer-state (type1 enum)
5.4.11. 打印机状态(类型1枚举)

This REQUIRED Printer attribute identifies the current state of the device. The "printer-state reasons" attribute augments the "printer-state" attribute to give more detailed information about the Printer in the given Printer state.

此必需的打印机属性标识设备的当前状态。“打印机状态原因”属性扩充了“打印机状态”属性,以提供给定打印机状态下打印机的详细信息。

A Printer updates this attribute continually if asynchronous event notification [RFC3995] is supported.

如果支持异步事件通知[RFC3995],打印机将持续更新此属性。

Standard enum values are defined in Table 18. Values of "printer-state-reasons", such as 'spool-area-full' and 'stopped-partly', MAY be used to provide further information.

表18中定义了标准枚举值。“打印机状态原因”的值,如“线轴区域已满”和“部分停止”,可用于提供更多信息。

   +-------+-----------------------------------------------------------+
   | Value | Symbolic Name and Description                             |
   +-------+-----------------------------------------------------------+
   | '3'   | 'idle': Indicates that new Jobs can start processing      |
   |       | without waiting.                                          |
   +-------+-----------------------------------------------------------+
   | '4'   | 'processing': Indicates that Jobs are processing; new     |
   |       | Jobs will wait before processing.                         |
   +-------+-----------------------------------------------------------+
   | '5'   | 'stopped': Indicates that no Jobs can be processed and    |
   |       | intervention is required.                                 |
   +-------+-----------------------------------------------------------+
        
   +-------+-----------------------------------------------------------+
   | Value | Symbolic Name and Description                             |
   +-------+-----------------------------------------------------------+
   | '3'   | 'idle': Indicates that new Jobs can start processing      |
   |       | without waiting.                                          |
   +-------+-----------------------------------------------------------+
   | '4'   | 'processing': Indicates that Jobs are processing; new     |
   |       | Jobs will wait before processing.                         |
   +-------+-----------------------------------------------------------+
   | '5'   | 'stopped': Indicates that no Jobs can be processed and    |
   |       | intervention is required.                                 |
   +-------+-----------------------------------------------------------+
        

Table 18: "printer-state" Enum Values

表18:“打印机状态”枚举值

5.4.12. printer-state-reasons (1setOf type2 keyword)
5.4.12. 打印机状态原因(1setOf type2关键字)

This REQUIRED Printer attribute supplies additional detail about the device's state. Some of the value definitions indicate conformance requirements; the rest are OPTIONAL.

此必需的打印机属性提供有关设备状态的其他详细信息。一些值定义表示一致性要求;其余的是可选的。

Each 'keyword' value MAY have a suffix to indicate its level of severity. The three levels are 'report' (least severe), 'warning', and 'error' (most severe):

每个“关键字”值可能有一个后缀,以指示其严重程度。这三个级别是“报告”(最低严重程度)、“警告”和“错误”(最高严重程度):

o '-report': This suffix indicates that the reason is a "report". An implementation can choose to omit some or all reports. Some reports specify finer granularity about the Printer state; others serve as a precursor to a warning. A report MUST contain nothing that could affect the printed output. Reports correspond to the 'other' value for the prtAlertSeverityLevel property in the Printer MIB [RFC3805].

o “-report”:此后缀表示原因是“report”。实现可以选择省略部分或全部报告。有些报告指定打印机状态的更精细粒度;另一些则是警告的前兆。报告不得包含任何可能影响打印输出的内容。报告对应于打印机MIB[RFC3805]中prtAlertSeverityLevel属性的“其他”值。

o '-warning': This suffix indicates that the reason is a "warning". An implementation can choose to omit some or all warnings. Warnings serve as a precursor to an error. A warning MUST contain nothing that prevents a Job from completing, though in some cases the output can be of lower quality. Warnings correspond to the 'warning' value for the prtAlertSeverityLevel property in the Printer MIB [RFC3805].

o “-warning”:此后缀表示原因是“警告”。实现可以选择省略部分或全部警告。警告是错误的前兆。警告不得包含任何阻止作业完成的内容,尽管在某些情况下,输出的质量可能较低。警告与打印机MIB[RFC3805]中prtAlertSeverityLevel属性的“警告”值相对应。

o '-error': This suffix indicates that the reason is an "error". An implementation MUST include all errors. If this attribute contains one or more errors, the Printer MUST be in the 'stopped' state. Errors correspond to the 'critical' value for the prtAlertSeverityLevel property in the Printer MIB [RFC3805].

o “-error”:此后缀表示原因是“错误”。实现必须包含所有错误。如果此属性包含一个或多个错误,则打印机必须处于“停止”状态。错误对应于打印机MIB[RFC3805]中prtAlertSeverityLevel属性的“临界”值。

If the implementation does not add any one of the three suffixes and the value is not 'none', Clients can assume that the reason is an "error" if the Printer is in the 'stopped' state and a "warning" if the Printer is in any other state.

如果实现没有添加三个后缀中的任何一个,并且值不是“无”,则客户端可以假设,如果打印机处于“停止”状态,则原因是“错误”,如果打印机处于任何其他状态,则原因是“警告”。

If a Printer controls more than one Output Device, each value of this attribute MAY apply to one or more of the Output Devices. An error on one Output Device that does not stop the Printer as a whole MAY appear as a warning in the Printer's "printer-state-reasons" attribute. If "printer-state" for such a Printer has a value of 'stopped', then there MUST be an error reason among the values in the "printer-state-reasons" attribute.

如果打印机控制多个输出设备,则此属性的每个值都可以应用于一个或多个输出设备。一个输出设备上的错误如果没有整体停止打印机,则可能会在打印机的“打印机状态原因”属性中显示为警告。如果此类打印机的“打印机状态”的值为“已停止”,则“打印机状态原因”属性中的值中必须存在错误原因。

The following standard 'keyword' values are defined:

定义了以下标准“关键字”值:

o 'none': There are no reasons. This state reason is semantically equivalent to "printer-state-reasons" without any value and MUST be used, since the '1setOf' attribute syntax requires at least one value.

o “无”:没有理由。此状态原因在语义上等同于没有任何值的“打印机状态原因”,并且必须使用,因为“1setOf”属性语法至少需要一个值。

o 'other': The device has detected a condition other than one listed in this document.

o “其他”:设备检测到本文档中未列出的情况。

o 'connecting-to-device': The Printer has scheduled a Job on the Output Device and is in the process of connecting to a shared network Output Device (and might not be able to actually start printing the Job for an arbitrarily long time, depending on the usage of the Output Device by other servers on the network).

o “连接到设备”:打印机已计划在输出设备上打印作业,并且正在连接到共享网络输出设备(并且可能无法在任意长的时间内实际开始打印作业,具体取决于网络上其他服务器对输出设备的使用情况)。

o 'cover-open': One or more covers on the device are open, equivalent to a prtCoverStatus [RFC3805] of 3 (coverOpen).

o “盖子打开”:设备上的一个或多个盖子打开,相当于prtCoverStatus[RFC3805]为3(盖子打开)。

o 'developer-empty: The device is out of developer.

o '开发人员为空:设备没有开发人员。

o 'developer-low': The device is low on developer.

o “开发人员不足”:设备的开发人员不足。

o 'door-open': One or more doors on the device are open, equivalent to a prtCoverStatus [RFC3805] of 3 (coverOpen).

o “门打开”:设备上的一个或多个门打开,相当于prtCoverStatus[RFC3805]为3(coverOpen)。

o 'fuser-over-temp': The fuser temperature is above normal, equivalent to a prtMarkerStatus [RFC3805] of 19 (the sum of "Unavailable because Broken" (3) and "Critical Alerts" (16)).

o “定影器温度过高”:定影器温度高于正常值,相当于prtMarkerStatus[RFC3805]为19(“因损坏而不可用”(3)和“严重警报”(16)之和)。

o 'fuser-under-temp': The fuser temperature is below normal, equivalent to a prtMarkerStatus [RFC3805] of 19 (the sum of "Unavailable because Broken" (3) and "Critical Alerts" (16)).

o “温度下的定影器”:定影器温度低于正常值,相当于prtMarkerStatus[RFC3805]为19(“因损坏而不可用”(3)和“严重警报”(16)之和)。

o 'input-tray-missing': One or more input trays are not in the device, equivalent to a prtInputStatus [RFC3805] of 19 (the sum of "Unavailable because Broken" (3) and "Critical Alerts" (16)).

o “输入托盘缺失”:一个或多个输入托盘不在设备中,相当于prtInputStatus[RFC3805]为19(“因损坏而不可用”(3)和“严重警报”(16)之和)。

o 'interlock-open': One or more interlock devices on the Printer are unlocked, equivalent to a prtCoverStatus [RFC3805] of 5 (interlockOpen).

o “联锁打开”:打印机上的一个或多个联锁设备被解锁,相当于prtCoverStatus[RFC3805]为5(联锁打开)。

o 'interpreter-resource-unavailable': An interpreter resource is unavailable (i.e., font, form).

o “解释器资源不可用”:解释器资源不可用(即字体、表单)。

o 'marker-supply-empty: The device is out of at least one marker supply, e.g., toner, ink, ribbon.

o '标记供应为空:设备至少缺少一个标记供应,例如碳粉、墨水、色带。

o 'marker-supply-low': The device is low on at least one marker supply, e.g., toner, ink, ribbon.

o “标记供应不足”:设备至少有一个标记供应不足,例如碳粉、墨水、色带。

o 'marker-waste-almost-full': The device marker supply waste receptacle is almost full.

o “标记废物几乎已满”:设备标记供应废物容器几乎已满。

o 'marker-waste-full': The device marker supply waste receptacle is full.

o “标记废物已满”:设备标记供应废物容器已满。

o 'media-empty': At least one input tray is empty, equivalent to a prtInputStatus [RFC3805] of 19 (the sum of "Unavailable because Broken" (3) and "Critical Alerts" (16)).

o “介质为空”:至少有一个输入托盘为空,相当于prtInputStatus[RFC3805]为19(即“因损坏而不可用”(3)和“严重警报”(16)之和)。

o 'media-jam': The device has a media jam, equivalent to a prtInputStatus [RFC3805] of 19 (the sum of "Unavailable because Broken" (3) and "Critical Alerts" (16)).

o “媒体堵塞”:设备出现媒体堵塞,相当于prtInputStatus[RFC3805]为19(即“因中断而不可用”(3)和“严重警报”(16)之和)。

o 'media-low': At least one input tray is low on media, equivalent to a prtInputStatus [RFC3805] of 8 (Non-Critical Alerts).

o “介质不足”:至少有一个输入托盘的介质不足,相当于prtInputStatus[RFC3805]为8(非严重警报)。

o 'media-needed': A tray has run out of media, equivalent to a prtInputStatus [RFC3805] value of 17 (the sum of "Unavailable and OnRequest" (1) and "Critical Alerts" (16)).

o “需要介质”:托盘已用完介质,相当于prtInputStatus[RFC3805]值17(“不可用和OnRequest”(1)和“严重警报”(16)之和)。

o 'moving-to-paused': Someone has paused the Printer using the Pause-Printer operation (see Section 4.2.7) or other means, but the device(s) is taking an appreciable time to stop. Later, when all output has stopped, "printer-state" becomes 'stopped', and the 'paused' value replaces the 'moving-to-paused' value in the "printer-state-reasons" attribute. This value MUST be supported if the Pause-Printer operation is supported and the implementation takes significant time to pause a device in certain circumstances.

o “移动到暂停”:有人使用暂停打印机操作(见第4.2.7节)或其他方式暂停打印机,但设备需要相当长的时间才能停止。稍后,当所有输出都停止时,“打印机状态”变为“停止”,并且“暂停”值替换“打印机状态原因”属性中的“移动到暂停”值。如果支持暂停打印机操作,并且在某些情况下暂停设备需要较长时间,则必须支持此值。

o 'opc-life-over': The optical photo conductor is no longer functioning, equivalent to a prtMarkerStatus [RFC3805] of 19 (the sum of "Unavailable because Broken" (3) and "Critical Alerts" (16)).

o “opc寿命结束”:光电导体不再工作,相当于prtMarkerStatus[RFC3805]为19(即“因损坏而不可用”(3)和“严重警报”(16)之和)。

o 'opc-near-eol': The optical photo conductor is near its end of life, equivalent to a prtMarkerStatus [RFC3805] of 8 (Non-Critical Alerts).

o “opc近eol”:光学光电导体的寿命即将结束,相当于prtMarkerStatus[RFC3805]的8(非关键警报)。

o 'output-area-almost-full': One or more output areas are almost full, e.g., tray, stacker, collator, equivalent to a prtOutputStatus [RFC3805] of 8 (Non-Critical Alerts).

o “输出区域几乎已满”:一个或多个输出区域几乎已满,例如托盘、堆垛机、折叠机,相当于prtOutputStatus[RFC3805]为8(非关键警报)。

o 'output-area-full': One or more output areas are full, e.g., tray, stacker, collator, equivalent to a prtInputStatus [RFC3805] of 19 (the sum of "Unavailable because Broken" (3) and "Critical Alerts" (16)).

o “输出区域已满”:一个或多个输出区域已满,例如托盘、堆垛机、折叠机,相当于prtInputStatus[RFC3805]为19(即“因损坏而不可用”(3)和“严重警报”(16)之和)。

o 'output-tray-missing': One or more output trays are not in the device, equivalent to a prtOutputStatus [RFC3805] of 19 (the sum of "Unavailable because Broken" (3) and "Critical Alerts" (16)).

o “输出托盘缺失”:一个或多个输出托盘不在设备中,相当于prtOutputStatus[RFC3805]为19(“因损坏而不可用”(3)和“严重警报”(16)之和)。

o 'paused': Someone has paused the Printer using the Pause-Printer operation (see Section 4.2.7) or other means, and the Printer's "printer-state" is 'stopped'. In this state, a Printer MUST NOT produce printed output, but it MUST perform other operations requested by a Client. If a Printer had been printing a Job when the Printer was paused, the Printer MUST resume printing that Job when the Printer is no longer paused and leave no evidence in the printed output of such a pause. This value MUST be supported if the Pause-Printer operation is supported.

o “暂停”:有人使用暂停打印机操作(见第4.2.7节)或其他方式暂停打印机,打印机的“打印机状态”为“停止”。在此状态下,打印机不得生成打印输出,但必须执行客户端请求的其他操作。如果打印机暂停时打印机正在打印作业,则打印机必须在打印机不再暂停时恢复打印该作业,并且在打印的暂停输出中不留下任何证据。如果支持暂停打印机操作,则必须支持此值。

o 'shutdown': Someone has removed a Printer from service, and the device can be powered down or physically removed. In this state, a Printer MUST NOT produce printed output, and unless the Printer is realized by a print server that is still active, the Printer MUST perform no other operations requested by a Client, including returning this value. If a Printer had been printing a Job when it was shut down, the Printer MAY resume printing that Job when the Printer is restarted. If the Printer resumes printing such a Job, it can leave evidence in the printed output of such a shutdown, e.g., the part printed before the shutdown can be printed a second time after the shutdown.

o “关机”:有人已将打印机从服务中删除,设备可以关机或物理删除。在此状态下,打印机不得产生打印输出,除非打印机由仍处于活动状态的打印服务器实现,否则打印机不得执行客户端请求的其他操作,包括返回此值。如果打印机关闭时正在打印作业,则打印机可以在重新启动时恢复打印该作业。如果打印机恢复打印这样的作业,它可以在打印的关机输出中留下证据,例如,关机前打印的零件可以在关机后再次打印。

o 'spool-area-full': The limit of persistent storage allocated for spooling has been reached. The Printer is temporarily unable to accept more Jobs. The Printer will remove this value when it is able to accept more Jobs. This value SHOULD be used by a non-spooling Printer that only accepts one or a small number of Jobs at a time or by a spooling Printer that has filled the spool space.

o “假脱机区域已满”:已达到为假脱机分配的永久存储的限制。打印机暂时无法接受更多作业。打印机将在能够接受更多作业时删除此值。此值应由一次仅接受一个或少量作业的非假脱机打印机使用,或由填充假脱机空间的假脱机打印机使用。

o 'stopped-partly': When a Printer controls more than one Output Device, this reason indicates that one or more Output Devices are stopped. If the reason is a report, fewer than half of the Output Devices are stopped. If the reason is a warning, fewer than all of the Output Devices are stopped.

o “部分停止”:当打印机控制多个输出设备时,此原因表示一个或多个输出设备已停止。如果原因是报告,则不到一半的输出设备停止。如果原因是警告,则停止的输出设备少于所有设备。

o 'stopping': The Printer is in the process of stopping the device and will be stopped in a while. When the device is stopped, the Printer will change the Printer's state to 'stopped'. The 'stopping-warning' reason is never an error, even for a Printer with a single Output Device. When an Output Device ceases accepting Jobs, the Printer will have this reason while the Output Device completes printing.

o “停止”:打印机正在停止设备,并将在一段时间内停止。当设备停止时,打印机会将打印机状态更改为“停止”。“停止警告”原因从来都不是错误,即使对于带有单个输出设备的打印机也是如此。当输出设备停止接受作业时,当输出设备完成打印时,打印机将有此原因。

o 'timed-out': The server was able to connect to the Output Device (or is always connected) but was unable to get a response from the Output Device.

o “超时”:服务器能够连接到输出设备(或始终连接),但无法从输出设备获取响应。

o 'toner-empty': The device is out of toner.

o “碳粉用完”:设备碳粉用完。

o 'toner-low': The device is low on toner.

o “碳粉不足”:设备碳粉不足。

5.4.13. printer-state-message (text(MAX))
5.4.13. 打印机状态消息(文本(最大值))

This RECOMMENDED Printer attribute specifies information about the "printer-state" and "printer-state-reasons" attributes in human-readable text. If the Printer supports this attribute, the Printer MUST be able to generate this message in any of the natural languages identified by the Printer's "generated-natural-language-supported" attribute (see the "attributes-natural-language" operation attribute specified in Section 4.1.4.1).

此建议的打印机属性指定有关人类可读文本中“打印机状态”和“打印机状态原因”属性的信息。如果打印机支持此属性,则打印机必须能够以打印机的“生成的支持的自然语言”属性标识的任何自然语言生成此消息(请参阅第4.1.4.1节中指定的“属性-自然语言”操作属性)。

5.4.14. ipp-versions-supported (1setOf type2 keyword)
5.4.14. 支持ipp版本(1setOf type2关键字)

This REQUIRED attribute identifies the IPP version(s) that this Printer supports, including major and minor versions, i.e., the version numbers for which this Printer implementation meets the conformance requirements. For version number validation, the Printer matches the (2-octet binary) "version-number" parameter supplied by the Client in each request (see Sections 4.1.1 and 4.1.8) with the (US-ASCII) 'keyword' values of this attribute.

此必需属性标识此打印机支持的IPP版本,包括主要版本和次要版本,即此打印机实现满足一致性要求的版本号。对于版本号验证,打印机将客户端在每个请求中提供的(2-八位二进制)“版本号”参数(见第4.1.1节和第4.1.8节)与该属性的(US-ASCII)“关键字”值相匹配。

The following standard 'keyword' values are defined in this document:

本文件中定义了以下标准“关键字”值:

o '1.0': Meets the conformance requirements of IPP version 1.0 as specified in RFC 2566 [RFC2566] and RFC 2565 [RFC2565], including any extensions registered according to Section 7 and any extension defined in this version or any future version of the IPP Model and Semantics document (this document) or the IPP Encoding and Transport document [RFC8010] following the rules, if any, when the "version-number" parameter is '1.0'.

o “1.0”:符合RFC 2566[RFC2566]和RFC 2565[RFC2565]中规定的IPP版本1.0的一致性要求,包括根据第7节注册的任何扩展以及本版本或任何未来版本的IPP模型和语义文件(本文件)或IPP编码和传输文件中定义的任何扩展[RFC8010]当“版本号”参数为“1.0”时,遵循规则(如果有)。

o '1.1': Meets the conformance requirements of IPP version 1.1 as specified in this document and [RFC8010], including any extensions registered according to Section 7 and any extension defined in any future versions of this document or [RFC8010] following the rules, if any, when the "version-number" parameter is '1.1'.

o “1.1”:符合本文件和[RFC8010]中规定的IPP版本1.1的一致性要求,包括根据第7节注册的任何扩展以及本文件任何未来版本或[RFC8010]中定义的任何扩展,如果“版本号”参数为“1.1”,则遵循规则(如有)。

Additional values are defined in "IPP Version 2.0, 2.1, and 2.2" [PWG5100.12].

附加值在“IPP版本2.0、2.1和2.2”[PWG5100.12]中定义。

5.4.15. operations-supported (1setOf type2 enum)
5.4.15. 支持的操作(1setOf type2枚举)

This REQUIRED Printer attribute specifies the set of supported operations for this Printer and contained Jobs.

此必需的打印机属性指定此打印机和包含的作业支持的操作集。

This attribute is encoded as any other enum attribute syntax according to [RFC8010] as 32 bits. However, all 32-bit enum values for this attribute MUST NOT exceed 0x00007fff, since these same values are also passed in two octets in the "operation-id" field (see

根据[RFC8010]将该属性编码为32位的任何其他枚举属性语法。但是,此属性的所有32位枚举值不得超过0x00007fff,因为这些相同的值也在“操作id”字段中以两个八位字节传递(请参阅

Section 4.1.1) in each Protocol request with the two high-order octets omitted in order to indicate the operation being performed [RFC8010].

第4.1.1)节),在每个协议请求中省略两个高阶八位组,以指示正在执行的操作[RFC8010]。

Table 19 lists the "operations-supported" attribute and "operation-id" parameter (see Section 4.1.2) enum values that are defined in this document.

表19列出了本文件中定义的“支持的操作”属性和“操作id”参数(见第4.1.2节)枚举值。

   +---------------+---------------------------------------------------+
   | Value         | Operation Name                                    |
   +---------------+---------------------------------------------------+
   | 0x0000        | reserved, not used                                |
   +---------------+---------------------------------------------------+
   | 0x0001        | reserved, not used                                |
   +---------------+---------------------------------------------------+
   | 0x0002        | Print-Job                                         |
   +---------------+---------------------------------------------------+
   | 0x0003        | Print-URI                                         |
   +---------------+---------------------------------------------------+
   | 0x0004        | Validate-Job                                      |
   +---------------+---------------------------------------------------+
   | 0x0005        | Create-Job                                        |
   +---------------+---------------------------------------------------+
   | 0x0006        | Send-Document                                     |
   +---------------+---------------------------------------------------+
   | 0x0007        | Send-URI                                          |
   +---------------+---------------------------------------------------+
   | 0x0008        | Cancel-Job                                        |
   +---------------+---------------------------------------------------+
   | 0x0009        | Get-Job-Attributes                                |
   +---------------+---------------------------------------------------+
   | 0x000a        | Get-Jobs                                          |
   +---------------+---------------------------------------------------+
   | 0x000b        | Get-Printer-Attributes                            |
   +---------------+---------------------------------------------------+
   | 0x000c        | Hold-Job                                          |
   +---------------+---------------------------------------------------+
   | 0x000d        | Release-Job                                       |
   +---------------+---------------------------------------------------+
   | 0x000e        | Restart-Job                                       |
   +---------------+---------------------------------------------------+
   | 0x000f        | reserved for a future operation                   |
        
   +---------------+---------------------------------------------------+
   | Value         | Operation Name                                    |
   +---------------+---------------------------------------------------+
   | 0x0000        | reserved, not used                                |
   +---------------+---------------------------------------------------+
   | 0x0001        | reserved, not used                                |
   +---------------+---------------------------------------------------+
   | 0x0002        | Print-Job                                         |
   +---------------+---------------------------------------------------+
   | 0x0003        | Print-URI                                         |
   +---------------+---------------------------------------------------+
   | 0x0004        | Validate-Job                                      |
   +---------------+---------------------------------------------------+
   | 0x0005        | Create-Job                                        |
   +---------------+---------------------------------------------------+
   | 0x0006        | Send-Document                                     |
   +---------------+---------------------------------------------------+
   | 0x0007        | Send-URI                                          |
   +---------------+---------------------------------------------------+
   | 0x0008        | Cancel-Job                                        |
   +---------------+---------------------------------------------------+
   | 0x0009        | Get-Job-Attributes                                |
   +---------------+---------------------------------------------------+
   | 0x000a        | Get-Jobs                                          |
   +---------------+---------------------------------------------------+
   | 0x000b        | Get-Printer-Attributes                            |
   +---------------+---------------------------------------------------+
   | 0x000c        | Hold-Job                                          |
   +---------------+---------------------------------------------------+
   | 0x000d        | Release-Job                                       |
   +---------------+---------------------------------------------------+
   | 0x000e        | Restart-Job                                       |
   +---------------+---------------------------------------------------+
   | 0x000f        | reserved for a future operation                   |
        
   +---------------+---------------------------------------------------+
   | 0x0010        | Pause-Printer                                     |
   +---------------+---------------------------------------------------+
   | 0x0011        | Resume-Printer                                    |
   +---------------+---------------------------------------------------+
   | 0x0012        | Purge-Jobs                                        |
   +---------------+---------------------------------------------------+
   | 0x0013-0x3fff | additional registered operations (see the IANA    |
   |               | IPP registry and Section 7.8)                     |
   +---------------+---------------------------------------------------+
   | 0x4000-0x7fff | reserved for vendor extensions (see Section 7.8)  |
   +---------------+---------------------------------------------------+
        
   +---------------+---------------------------------------------------+
   | 0x0010        | Pause-Printer                                     |
   +---------------+---------------------------------------------------+
   | 0x0011        | Resume-Printer                                    |
   +---------------+---------------------------------------------------+
   | 0x0012        | Purge-Jobs                                        |
   +---------------+---------------------------------------------------+
   | 0x0013-0x3fff | additional registered operations (see the IANA    |
   |               | IPP registry and Section 7.8)                     |
   +---------------+---------------------------------------------------+
   | 0x4000-0x7fff | reserved for vendor extensions (see Section 7.8)  |
   +---------------+---------------------------------------------------+
        

Table 19: "operations-supported" Enum Values

表19:“支持的操作”枚举值

5.4.16. multiple-document-jobs-supported (boolean)
5.4.16. 支持多个文档作业(布尔值)

This RECOMMENDED Printer attribute indicates whether the Printer supports more than one Document per Job, i.e., more than one Send-Document operation with Document data and/or Send-URI operations. If the Printer supports the Create-Job and Send-Document operations (see Sections 4.2.4 and 4.3.1), it MUST support this attribute.

此建议的打印机属性指示打印机是否支持每个作业一个以上的文档,即,使用文档数据和/或发送URI操作的多个发送文档操作。如果打印机支持创建作业和发送文档操作(请参阅第4.2.4节和第4.3.1节),则必须支持此属性。

5.4.17. charset-configured (charset)
5.4.17. 已配置字符集(字符集)

This REQUIRED Printer attribute identifies the charset that the Printer has been configured to represent 'text' and 'name' Printer attributes that are set by the Operator, Administrator, or manufacturer, i.e., for "printer-name" (name), "printer-location" (text), "printer-info" (text), and "printer-make-and-model" (text). Therefore, the value of the Printer's "charset-configured" attribute MUST also be among the values of the Printer's "charset-supported" attribute.

此必需的打印机属性标识打印机配置为表示操作员、管理员或制造商设置的“文本”和“名称”打印机属性的字符集,即“打印机名称”(名称)、“打印机位置”(文本)、“打印机信息”(文本)和“打印机品牌和型号”(文本)。因此,打印机的“charset configured”属性的值也必须在打印机的“charset supported”属性的值中。

5.4.18. charset-supported (1setOf charset)
5.4.18. 支持的字符集(1个字符集)

This REQUIRED Printer attribute identifies the set of charsets that the Printer and contained Jobs support in attributes with attribute syntaxes 'text' and 'name'. At least the value 'utf-8' MUST be present, since IPP objects MUST support the UTF-8 [RFC3629] charset. If a Printer supports a charset, it means that for all attributes of syntaxes 'text' and 'name' the Printer MUST (1) accept the charset in requests and (2) return the charset in responses as needed.

此必需的打印机属性标识打印机和包含的作业在属性语法为“text”和“name”的属性中支持的字符集集集。由于IPP对象必须支持utf-8[RFC3629]字符集,因此必须至少存在值“utf-8”。如果打印机支持字符集,这意味着对于语法“text”和“name”的所有属性,打印机必须(1)在请求中接受字符集,并(2)根据需要在响应中返回字符集。

If more charsets than UTF-8 are supported, the Printer MUST perform charset conversion between the charsets as described in Section 4.1.4.2.

如果支持的字符集多于UTF-8,打印机必须按照第4.1.4.2节所述在字符集之间执行字符集转换。

5.4.19. natural-language-configured (naturalLanguage)
5.4.19. 自然语言配置(自然语言)

This REQUIRED Printer attribute identifies the natural language that the Printer has been configured to represent 'text' and 'name' Printer attributes that are set by the Operator, Administrator, or manufacturer, i.e., for "printer-name" (name), "printer-location" (text), "printer-info" (text), and "printer-make-and-model" (text). When returning these Printer attributes, the Printer MAY return them in the configured natural language specified by this attribute, instead of the natural language requested by the Client in the "attributes-natural-language" operation attribute. See Section 4.1.4.1 for the specification of the OPTIONAL support for multiple natural languages. Therefore, the value of the Printer's "natural-language-configured" attribute MUST also be among the values of the Printer's "generated-natural-language-supported" attribute.

此必需的打印机属性标识打印机配置为表示操作员、管理员或制造商设置的“文本”和“名称”打印机属性的自然语言,即“打印机名称”(名称)、“打印机位置”(文本)、“打印机信息”(文本)和“打印机品牌和型号”(文本)。当返回这些打印机属性时,打印机可能会以该属性指定的配置自然语言返回它们,而不是客户端在“属性自然语言”操作属性中请求的自然语言。有关多自然语言可选支持的规范,请参见第4.1.4.1节。因此,打印机的“自然语言配置”属性的值也必须在打印机的“支持生成的自然语言”属性的值中。

5.4.20. generated-natural-language-supported (1setOf naturalLanguage)
5.4.20. 支持生成的自然语言(1套自然语言)

This REQUIRED Printer attribute identifies the natural language(s) that the Printer and contained Jobs support in attributes with attribute syntaxes 'text' and 'name'. The natural language(s) supported depends on implementation and/or configuration. Unlike charsets, Printers MUST accept requests with any natural language or any Natural Language Override whether the natural language is supported or not.

此必需的打印机属性在属性语法为“text”和“name”的属性中标识打印机和包含的作业支持的自然语言。支持的自然语言取决于实现和/或配置。与字符集不同,无论是否支持自然语言,打印机都必须接受使用任何自然语言或任何自然语言覆盖的请求。

If a Printer supports a natural language, it means that for any of the attributes for which the Printer or Job generates messages, i.e., for the "job-state-message" and "printer-state-message" attributes and operation messages (see Section 4.1.5) in operation responses, the Printer and Job MUST be able to generate messages in any of the Printer's supported natural languages. See Sections 4.1.4, 5.1.2, and 5.1.3 for the definitions of 'text' and 'name' attributes in operation requests and responses.

如果打印机支持自然语言,则意味着对于打印机或作业生成消息的任何属性,即操作响应中的“作业状态消息”和“打印机状态消息”属性和操作消息(见第4.1.5节),打印机和作业必须能够以打印机支持的任何自然语言生成消息。有关操作请求和响应中“文本”和“名称”属性的定义,请参见第4.1.4节、第5.1.2节和第5.1.3节。

Note: A Printer that supports multiple natural languages often has separate catalogs of messages, one for each natural language supported.

注意:支持多种自然语言的打印机通常有单独的消息目录,支持的每种自然语言对应一个。

5.4.21. document-format-default (mimeMediaType)
5.4.21. 文档格式默认值(mimeMediaType)

This REQUIRED Printer attribute identifies the Document format that the Printer has been configured to assume if the Client does not supply a "document-format" operation attribute in any of the operation requests that supply Document data. The standard values for this attribute are Internet media types (sometimes called "MIME media types"). For further details, see the description of the 'mimeMediaType' attribute syntax in Section 5.1.10.

如果客户端在提供文档数据的任何操作请求中未提供“文档格式”操作属性,则此必需的打印机属性标识打印机已配置为采用的文档格式。此属性的标准值是Internet媒体类型(有时称为“MIME媒体类型”)。有关更多详细信息,请参阅第5.1.10节中的“mimediatype”属性语法说明。

5.4.22. document-format-supported (1setOf mimeMediaType)
5.4.22. 支持的文档格式(1个mimeMediaType设置)

This REQUIRED Printer attribute identifies the set of Document formats that the Printer and contained Jobs can support. For further details, see the description of the 'mimeMediaType' attribute syntax in Section 5.1.10.

此必需的打印机属性标识打印机和包含的作业可以支持的文档格式集。有关更多详细信息,请参阅第5.1.10节中的“mimediatype”属性语法说明。

5.4.23. printer-is-accepting-jobs (boolean)
5.4.23. 打印机正在接受作业(布尔值)

This REQUIRED Printer attribute indicates whether the Printer is currently able to accept Jobs, i.e., is accepting Print-Job, Print-URI, and Create-Job requests. If the value is 'true', the Printer is accepting Jobs. If the value is 'false', the Printer is currently rejecting any Jobs submitted to it. In this case, the Printer returns the 'server-error-not-accepting-jobs' status-code.

此必需的打印机属性指示打印机当前是否能够接受作业,即接受打印作业、打印URI和创建作业请求。如果该值为“true”,则打印机正在接受作业。如果该值为“false”,则打印机当前拒绝提交给它的任何作业。在这种情况下,打印机返回“服务器错误不接受作业”状态代码。

This value is independent of the "printer-state" and "printer-state-reasons" attributes because its value does not affect the current Job; rather, it affects future Jobs. This attribute, when 'false', causes the Printer to reject Jobs even when "printer-state" is 'idle' or, when 'true', causes the Printer to accept Jobs even when "printer-state" is 'stopped'.

此值独立于“打印机状态”和“打印机状态原因”属性,因为其值不影响当前作业;相反,它会影响未来的工作。此属性为“false”时,即使“打印机状态”为“空闲”,也会导致打印机拒绝作业;为“true”时,即使“打印机状态”为“停止”,也会导致打印机接受作业。

5.4.24. queued-job-count (integer(0:MAX))
5.4.24. 排队作业计数(整数(0:MAX))

This REQUIRED Printer attribute contains a count of the number of Jobs that are either 'pending', 'processing', 'pending-held', or 'processing-stopped' and is set by the Printer.

此必需的打印机属性包含由打印机设置的“挂起”、“处理”、“挂起保留”或“处理已停止”作业数的计数。

5.4.25. printer-message-from-operator (text(127))
5.4.25. 来自操作员的打印机消息(文本(127))

This Printer attribute provides a message from an Operator, Administrator, or "intelligent" process to indicate to the End User information or status of the Printer, such as why it is unavailable or when it is expected to be available.

此打印机属性提供来自操作员、管理员或“智能”进程的消息,以向最终用户指示打印机的信息或状态,例如打印机不可用的原因或预计何时可用。

5.4.26. color-supported (boolean)
5.4.26. 支持颜色(布尔值)

This RECOMMENDED Printer attribute identifies whether the device is capable of any type of color printing at all, including highlight color. All Document instructions having to do with color are embedded within the Document PDL, although IPP attributes can affect the rendering of those colors.

此建议的打印机属性标识设备是否能够进行任何类型的彩色打印,包括高亮显示颜色。所有与颜色有关的文档说明都嵌入到文档PDL中,尽管IPP属性可能会影响这些颜色的呈现。

Note: End Users are able to determine the nature and details of the color support by querying the "printer-more-info-manufacturer" Printer attribute.

注意:最终用户可以通过查询“打印机更多信息制造商”打印机属性来确定颜色支持的性质和详细信息。

5.4.27. reference-uri-schemes-supported (1setOf uriScheme)
5.4.27. 支持的参考uri方案(1个uri方案)

This Printer attribute specifies which URI schemes are supported for use in the "document-uri" operation attribute of the Print-URI or Send-URI operations. If a Printer supports these OPTIONAL operations, it MUST support the "reference-uri-schemes-supported" Printer attribute with at least the following URI scheme value:

此打印机属性指定在打印URI或发送URI操作的“文档URI”操作属性中支持使用哪些URI方案。如果打印机支持这些可选操作,则它必须支持“reference uri schemes supported”(参考uri schemes支持)打印机属性,且至少具有以下uri scheme值:

o 'ftp': The Printer will use an FTP 'get' operation as defined in [RFC959] using FTP URLs as defined by [RFC3986].

o “ftp”:打印机将使用[RFC959]中定义的ftp“获取”操作,并使用[RFC3986]中定义的ftp URL。

The Printer MAY support other URI schemes (see Section 5.1.7).

打印机可能支持其他URI方案(见第5.1.7节)。

5.4.28. pdl-override-supported (type2 keyword)
5.4.28. 支持pdl覆盖(type2关键字)

This REQUIRED Printer attribute expresses the ability of a particular Printer implementation to override Document data instructions with IPP attributes. The following 'keyword' values are defined in this document:

此必需的打印机属性表示特定打印机实现使用IPP属性覆盖文档数据指令的能力。本文档中定义了以下“关键字”值:

o 'attempted': This value indicates that the Printer attempts to make the IPP attribute values take precedence over embedded instructions in the Document data; however, there is no guarantee.

o “已尝试”:此值表示打印机试图使IPP属性值优先于文档数据中的嵌入指令;然而,这并不能保证。

o 'not-attempted': This value indicates that the Printer makes no attempt to make the IPP attribute values take precedence over embedded instructions in the Document data.

o “未尝试”:此值表示打印机未尝试使IPP属性值优先于文档数据中的嵌入指令。

Appendix C contains a full description of how this attribute interacts with and affects other IPP attributes, especially the "ipp-attribute-fidelity" attribute.

附录C全面描述了该属性如何与其他IPP属性交互并影响其他IPP属性,尤其是“IPP属性保真度”属性。

5.4.29. printer-up-time (integer(1:MAX))
5.4.29. 打印机启动时间(整数(1:最大值))

This REQUIRED Printer attribute indicates the amount of time (in seconds) that this Printer instance has been up and running. The value is a monotonically increasing value starting from 1 when the Printer is started up (initialized, booted, etc.). This value is used to populate the Event Time Job Status attributes "time-at-creation", "time-at-processing", and "time-at-completed" (see Section 5.3.14).

此REQUIRED Printer属性指示此打印机实例已启动并运行的时间量(秒)。该值是从打印机启动(初始化、启动等)时的1开始单调递增的值。该值用于填充事件时间作业状态属性“创建时的时间”、“处理时的时间”和“完成时的时间”(见第5.3.14节)。

If the Printer goes down at some value 'n' and comes back up, the implementation MAY:

如果打印机在某个值“n”处停机并重新启动,则实现可能:

1. know how long it has been down and resume at some value greater than 'n', or

1. 知道它已关闭多长时间,并以大于“n”的某个值恢复,或

2. restart from 1.

2. 从1重新启动。

In other words, if the device or devices that the Printer is representing are restarted or power-cycled, the Printer MAY continue counting this value or MAY reset this value to 1, depending on implementation. However, if the Printer software ceases running and restarts without knowing the last value for "printer-up-time", the implementation MUST reset this value to 1. If this value is reset and the Printer has persistent Jobs, the Printer MUST reset the "time-at-xxx (integer)" Event Time Job Status attributes according to Section 5.3.14. An implementation MAY use both implementation alternatives, depending on warm versus cold start, respectively.

换言之,如果打印机所代表的一个或多个设备重新启动或电源循环,打印机可能会继续计算该值或将该值重置为1,具体取决于实现。但是,如果打印机软件停止运行并重新启动,而不知道“打印机启动时间”的最后一个值,则实现必须将该值重置为1。如果重置此值且打印机具有持久作业,则打印机必须根据第5.3.14节重置“xxx时的时间(整数)”事件时间作业状态属性。一个实现可以使用两种实现方案,分别取决于热启动和冷启动。

5.4.30. printer-current-time (dateTime|unknown)
5.4.30. 打印机当前时间(日期时间|未知)

This RECOMMENDED Printer attribute indicates the current date and time. This value is used to populate the Event Time Job Status attributes "date-time-at-creation", "date-time-at-processing", and "date-time-at-completed" (see Section 5.3.14).

此建议的打印机属性指示当前日期和时间。该值用于填充事件时间作业状态属性“创建时的日期时间”、“处理时的日期时间”和“完成时的日期时间”(见第5.3.14节)。

This value is obtained on a "best effort" basis and in practice does not have to be precise in order to be useful. A Printer implementation sets the value of this attribute by obtaining the date and time via some implementation-dependent means, such as getting the value from a network time server, initialization at time of manufacture, or setting by an Administrator. See [RFC3196] and [PWG5100.19] for examples. If an implementation supports this attribute and the implementation knows that it has not yet been set, then the implementation MUST return the value of this attribute using the out-of-band 'unknown', meaning the value is not yet known. See the beginning of Section 5.1.

该值是在“尽力而为”的基础上获得的,在实践中,不必为了有用而精确。打印机实现通过一些依赖于实现的方式获取日期和时间来设置此属性的值,例如从网络时间服务器获取值、在制造时初始化或由管理员进行设置。有关示例,请参见[RFC3196]和[PWG5100.19]。如果一个实现支持该属性,并且该实现知道尚未设置该属性,那么该实现必须使用带外“未知”返回该属性的值,这意味着该值还未知。见第5.1节开头部分。

The time zone of this attribute might not be the time zone used by people located near the Printer or device. The Client MUST NOT expect the time zone of any received 'dateTime' value to be in the time zone of the Client or in the time zone of the people located near the Printer.

此属性的时区可能不是位于打印机或设备附近的人员使用的时区。客户机不得期望收到的任何“dateTime”值的时区位于客户机的时区或打印机附近人员的时区。

The Client SHOULD display any dateTime attributes to the user in the Client's local time by converting the 'dateTime' value returned by the server to the time zone of the Client, rather than using the time zone returned by the Printer in attributes that use the 'dateTime' attribute syntax.

客户端应通过将服务器返回的“dateTime”值转换为客户端的时区,而不是在使用“dateTime”属性语法的属性中使用打印机返回的时区,在客户端的本地时间向用户显示任何dateTime属性。

Note: Prior versions of this document incorrectly specified the use of the 'no-value' out-of-band value when the current date and time had not been set. The correct out-of-band value is 'unknown', since there is always an intrinsic current date and time.

注意:本文档的早期版本错误地指定了在未设置当前日期和时间时使用“无值”带外值。正确的带外值为“未知”,因为始终存在固有的当前日期和时间。

5.4.31. multiple-operation-time-out (integer(1:MAX))
5.4.31. 多次操作超时(整数(1:最大值))

This RECOMMENDED Printer attribute identifies the minimum time (in seconds) that the Printer waits for additional Send-Document or Send-URI operations to follow a still-open Job before taking any recovery actions, such as the ones indicated in Section 4.3.1. If the Printer supports the Create-Job and Send-Document operations (see Sections 4.2.4 and 4.3.1), it MUST support this attribute.

此建议的打印机属性标识打印机在执行任何恢复操作(如第4.3.1节所述)之前,等待附加的发送文档或发送URI操作以跟踪仍然打开的作业的最短时间(秒)。如果打印机支持创建作业和发送文档操作(请参阅第4.2.4节和第4.3.1节),则必须支持此属性。

Printers SHOULD use a value between '60' and '240' (seconds). An implementation MAY allow an Administrator to set this attribute by means not defined in this document. If so, the Administrator MAY be able to set values outside this range.

打印机应使用介于“60”和“240”(秒)之间的值。实现可能允许管理员通过本文档中未定义的方式设置此属性。如果是这样,管理员可以设置此范围之外的值。

5.4.32. compression-supported (1setOf type2 keyword)
5.4.32. 支持压缩(1setOf type2关键字)

This REQUIRED Printer attribute identifies the set of supported compression algorithms for Document data. Compression only applies to the Document data; compression does not apply to the encoding of the IPP operation itself. The supported values are used to validate the Client-supplied "compression" operation attributes in Print-Job and Send-Document requests.

此必需的打印机属性标识文档数据支持的压缩算法集。压缩仅适用于文档数据;压缩不适用于IPP操作本身的编码。支持的值用于验证打印作业中客户端提供的“压缩”操作属性,并发送文档请求。

Standard 'keyword' values defined in this document are:

本文件中定义的标准“关键字”值为:

o 'none': no compression is used.

o “无”:不使用压缩。

o 'deflate': ZIP inflate/deflate compression technology described in RFC 1951 [RFC1951].

o “放气”:RFC 1951[RFC1951]中描述的拉链充气/放气压缩技术。

o 'gzip': GNU zip compression technology described in RFC 1952 [RFC1952].

o “gzip”:RFC1952[RFC1952]中描述的GNU压缩技术。

o 'compress': UNIX compression technology described in RFC 1977 [RFC1977].

o “compress”:RFC1977中描述的UNIX压缩技术。

5.4.33. job-k-octets-supported (rangeOfInteger(0:MAX))
5.4.33. 支持作业-k-八位字节(整数范围(0:MAX))

This Printer attribute specifies the upper and lower bounds of total sizes of Jobs in K octets, i.e., in units of 1024 octets. The supported values are used to validate the Client-supplied "job-k-octets" operation attribute in Job Creation requests. The corresponding Job Description attribute "job-k-octets" is defined in Section 5.3.17.1.

此打印机属性以K个八位字节(即1024个八位字节)为单位指定作业总大小的上限和下限。支持的值用于验证作业创建请求中客户端提供的“作业k八位字节”操作属性。第5.3.17.1节定义了相应的职务描述属性“职务-k-八位字节”。

5.4.34. job-impressions-supported (rangeOfInteger(0:MAX))
5.4.34. 支持的工作印象(整数范围(0:MAX))

This RECOMMENDED Printer attribute specifies the upper and lower bounds for the number of Impressions per Job. The supported values are used to validate the Client-supplied "job-impressions" operation attribute in Job Creation requests. The corresponding Job Description attribute "job-impressions" is defined in Section 5.3.17.2.

此建议的打印机属性指定每个作业的印数上限和下限。支持的值用于验证作业创建请求中客户端提供的“作业印象”操作属性。第5.3.17.2节定义了相应的工作描述属性“工作印象”。

5.4.35. job-media-sheets-supported (rangeOfInteger(1:MAX))
5.4.35. 支持的作业介质表(整数范围(1:MAX))

This Printer attribute specifies the upper and lower bounds for the number of Media Sheets per Job. The supported values are used to validate the Client-supplied "job-media-sheets" operation attribute in Job Creation requests. The corresponding Job attribute "job-media-sheets" is defined in Section 5.3.17.3.

此打印机属性指定每个作业的介质张数的上限和下限。支持的值用于验证作业创建请求中客户端提供的“作业介质表”操作属性。第5.3.17.3节定义了相应的作业属性“作业介质表”。

5.4.36. pages-per-minute (integer(0:MAX))
5.4.36. 每分钟页数(整数(0:最大))

This RECOMMENDED Printer attribute specifies the nominal number of pages per minute to the nearest whole number that can be generated by this Printer (e.g., simplex, black-and-white). This attribute is informative, not a service guarantee. Generally, it is the value used in the marketing literature to describe the speed of the device.

此建议的打印机属性将每分钟的标称页数指定为该打印机可以生成的最接近的整数(例如,单工、黑白)。此属性是信息性的,不是服务保证。一般来说,市场营销文献中使用的价值是描述设备的速度。

A value of 0 indicates a device that takes more than two minutes to process a page.

值0表示设备处理页面所需时间超过两分钟。

5.4.37. pages-per-minute-color (integer(0:MAX))
5.4.37. 每分钟页数颜色(整数(0:MAX))

This RECOMMENDED Printer attribute specifies the nominal number of pages per minute to the nearest whole number that can be generated by this Printer when printing color (e.g., simplex, color). For purposes of this attribute, the meaning of "color" is the same as that for the "color-supported" attribute; namely, the device is capable of any type of color printing at all, including highlight color. This attribute is informative, not a service guarantee. Generally, it is the value used in the marketing literature to describe the color capabilities of this device.

此建议的打印机属性将每分钟的标称页数指定为打印机在打印颜色(例如单工、彩色)时可生成的最接近的整数。就该属性而言,“颜色”的含义与“支持颜色”属性的含义相同;也就是说,该设备能够进行任何类型的彩色打印,包括高亮显示颜色。此属性是信息性的,不是服务保证。一般来说,市场营销文献中使用的值用于描述该设备的颜色功能。

A value of 0 indicates a device that takes more than two minutes to process a page in color.

值0表示设备处理彩色页面所需时间超过两分钟。

If a color device has several color modes, it MAY use the "pages-per-minute" value for this attribute that corresponds to the mode that produces the highest number.

如果一个颜色设备有多个颜色模式,它可能会为此属性使用“每分钟页数”值,该值对应于产生最大数字的模式。

Printers that are black-and-white only MUST NOT support this attribute. If this attribute is present, then the "color-supported" Printer Description attribute MUST be present and have a 'true' value.

仅黑白打印机不能支持此属性。如果此属性存在,则“支持的颜色”打印机描述属性必须存在并具有“true”值。

The values of the "pages-per-minute" and "pages-per-minute-color" attributes returned by the Get-Printer-Attributes operation MAY be affected by the "document-format" attribute supplied by the Client in the Get-Printer-Attributes request. In other words, the implementation MAY have different speeds, depending on the Document format being processed. See Section 4.2.5.1 ("Get-Printer-Attributes Request").

“获取打印机属性”操作返回的“每分钟页数”和“每分钟页数颜色”属性的值可能会受到客户端在“获取打印机属性”请求中提供的“文档格式”属性的影响。换句话说,根据正在处理的文档格式,实现可能具有不同的速度。请参阅第4.2.5.1节(“获取打印机属性请求”)。

6. Conformance
6. 一致性

This section describes conformance issues and requirements. This document introduces model entities such as objects, operations, attributes, attribute syntaxes, and attribute values. The following sections describe the conformance requirements that apply to these model entities.

本节描述了一致性问题和要求。本文档介绍模型实体,如对象、操作、属性、属性语法和属性值。以下各节描述了适用于这些模型实体的一致性要求。

6.1. Client Conformance Requirements
6.1. 客户一致性要求

This section describes the conformance requirements for a Client (see Section 3.1), whether it be:

本节描述了客户的一致性要求(见第3.1节),无论是:

1. contained within software controlled by an End User, e.g., activated by the "Print" menu item in an application that sends IPP requests, or

1. 包含在由最终用户控制的软件中,例如,由发送IPP请求的应用程序中的“打印”菜单项激活,或

2. the print server component that sends IPP requests to either an Output Device or another "downstream" print server.

2. 向输出设备或另一个“下游”打印服务器发送IPP请求的打印服务器组件。

A conforming Client supports all REQUIRED operations as defined in this document. For each attribute included in an operation request, a conforming Client MUST supply a value whose type and value syntax conforms to the requirements specified in Sections 4 and 5 of this document. A conforming Client MAY supply any Standards Track extensions and/or vendor extensions in an operation request, as long as the extensions meet the requirements in Section 7.

合格客户支持本文件中定义的所有要求的操作。对于操作请求中包含的每个属性,一致性客户必须提供一个值,其类型和值语法符合本文件第4节和第5节规定的要求。合规客户可在运营请求中提供任何标准轨道扩展和/或供应商扩展,只要扩展符合第7节的要求。

While this document does not define conformance requirements for the user interfaces provided by IPP Clients or their applications, best practices for user interfaces are defined in [PWG5100.19].

虽然本文件未定义IPP客户机或其应用程序提供的用户界面的一致性要求,但[PWG5100.19]中定义了用户界面的最佳实践。

A Client MUST be able to accept any of the attribute syntaxes defined in Section 5.1, including their full range, that can be returned to it in a response from a Printer. In particular, for each attribute that the Client supports whose attribute syntax is 'text', the Client MUST accept and process both the 'textWithoutLanguage' and 'textWithLanguage' forms. Similarly, for each attribute that the Client supports whose attribute syntax is 'name', the Client MUST accept and process both the 'nameWithoutLanguage' and 'nameWithLanguage' forms. For presentation purposes, truncation of long attribute values is not recommended. A recommended approach would be for the Client implementation to allow the user to scroll through long attribute values.

客户机必须能够接受第5.1节中定义的任何属性语法,包括它们的完整范围,这些属性语法可以在打印机的响应中返回给客户机。特别是,对于客户端支持的属性语法为“text”的每个属性,客户端必须接受并处理“textWithoutLanguage”和“textWithLanguage”两种形式。类似地,对于客户端支持的属性语法为“name”的每个属性,客户端必须接受并处理“nameWithoutLanguage”和“nameWithLanguage”两种形式。出于演示目的,不建议截断长属性值。推荐的方法是客户端实现允许用户滚动长属性值。

A response MAY contain attribute groups, attributes, attribute syntaxes, values, and status-code values that the Client does not expect. Therefore, a Client implementation MUST gracefully handle such responses and not refuse to interoperate with a conforming Printer that is returning Standards Track extensions or vendor extensions, including attribute groups, attributes, attribute syntaxes, attribute values, status-code values, and out-of-band attribute values that conform to Section 7. Clients can choose to ignore any parameters, attribute groups, attributes, attribute syntaxes, or values that they do not understand.

响应可能包含客户端不期望的属性组、属性、属性语法、值和状态代码值。因此,客户机实现必须优雅地处理此类响应,并且不拒绝与返回标准跟踪扩展或供应商扩展(包括属性组、属性、属性语法、属性值、状态代码值)的合格打印机进行互操作,以及符合第7节的带外属性值。客户端可以选择忽略任何参数、属性组、属性、属性语法或他们不理解的值。

While a Client is sending data to a Printer, it SHOULD do its best to prevent a channel from being closed by a lower layer when the channel is blocked (i.e., flow-controlled off) for whatever reason, e.g., 'out of paper' or 'Job ahead hasn't freed up enough memory'. However, the layer that launched the print submission (e.g., an End User) MAY close the channel in order to cancel the Job. When a Client closes a channel, a Printer MAY print all or part of the received portion of the Document. See the Encoding and Transport document [RFC8010] for more details.

当客户端向打印机发送数据时,无论出于何种原因(例如,“纸张用完”或“前方作业未释放足够内存”),都应尽最大努力防止通道被较低层关闭(即流量控制关闭)。但是,启动打印提交的层(例如,最终用户)可能会关闭通道以取消作业。当客户端关闭频道时,打印机可以打印文档的全部或部分接收部分。有关更多详细信息,请参阅编码和运输文件[RFC8010]。

A Client MUST support Client Authentication as defined in [RFC8010]. A Client SHOULD support Operation Privacy and Server Authentication as defined in [RFC8010]. See also Section 9 of this document.

客户端必须支持[RFC8010]中定义的客户端身份验证。客户机应支持[RFC8010]中定义的操作隐私和服务器身份验证。另见本文件第9节。

6.2. IPP Object Conformance Requirements
6.2. IPP对象一致性要求

This section specifies the conformance requirements for conforming implementations of IPP objects (see Section 3). These requirements apply to an IPP object whether it is:

本节规定了IPP对象一致性实施的一致性要求(见第3节)。这些要求适用于IPP对象,无论其是否:

1) an (embedded) device component that accepts IPP requests and controls the device, or

1) 接受IPP请求并控制设备的(嵌入式)设备组件,或

2) a component of a print server that accepts IPP requests (where the print server controls one or more networked devices using IPP or other protocols).

2) 接受IPP请求的打印服务器组件(其中打印服务器使用IPP或其他协议控制一个或多个联网设备)。

6.2.1. Objects
6.2.1. 物体

Conforming implementations MUST implement all of the model objects as defined in this document in the indicated sections:

一致性实施必须实施本文件中指定章节中定义的所有模型对象:

Section 3.1 - Printer Object

第3.1节-打印机对象

Section 3.2 - Job Object

第3.2节-作业对象

6.2.2. Operations
6.2.2. 操作

Conforming IPP object implementations MUST implement all of the REQUIRED model operations, including REQUIRED responses, as defined in this document in the indicated sections. Table 20 lists the operations for a Printer, while Table 21 lists the operations for a Job.

符合要求的IPP对象实施必须实施所有要求的模型操作,包括要求的响应,如本文件所示章节所述。表20列出了打印机的操作,而表21列出了作业的操作。

         +----------------------------------------+-------------+
         | Operation                              | Conformance |
         +----------------------------------------+-------------+
         | Print-Job (Section 4.2.1)              | REQUIRED    |
         +----------------------------------------+-------------+
         | Print-URI (Section 4.2.2)              | OPTIONAL    |
         +----------------------------------------+-------------+
         | Validate-Job (Section 4.2.3)           | REQUIRED    |
         +----------------------------------------+-------------+
         | Create-Job (Section 4.2.4)             | RECOMMENDED |
         +----------------------------------------+-------------+
         | Get-Printer-Attributes (Section 4.2.5) | REQUIRED    |
         +----------------------------------------+-------------+
         | Get-Jobs (Section 4.2.6)               | REQUIRED    |
         +----------------------------------------+-------------+
         | Pause-Printer (Section 4.2.7)          | OPTIONAL    |
         +----------------------------------------+-------------+
         | Resume-Printer (Section 4.2.8)         | OPTIONAL    |
         +----------------------------------------+-------------+
         | Purge-Jobs (Section 4.2.9)             | SHOULD NOT  |
         +----------------------------------------+-------------+
        
         +----------------------------------------+-------------+
         | Operation                              | Conformance |
         +----------------------------------------+-------------+
         | Print-Job (Section 4.2.1)              | REQUIRED    |
         +----------------------------------------+-------------+
         | Print-URI (Section 4.2.2)              | OPTIONAL    |
         +----------------------------------------+-------------+
         | Validate-Job (Section 4.2.3)           | REQUIRED    |
         +----------------------------------------+-------------+
         | Create-Job (Section 4.2.4)             | RECOMMENDED |
         +----------------------------------------+-------------+
         | Get-Printer-Attributes (Section 4.2.5) | REQUIRED    |
         +----------------------------------------+-------------+
         | Get-Jobs (Section 4.2.6)               | REQUIRED    |
         +----------------------------------------+-------------+
         | Pause-Printer (Section 4.2.7)          | OPTIONAL    |
         +----------------------------------------+-------------+
         | Resume-Printer (Section 4.2.8)         | OPTIONAL    |
         +----------------------------------------+-------------+
         | Purge-Jobs (Section 4.2.9)             | SHOULD NOT  |
         +----------------------------------------+-------------+
        

Table 20: Conformance Requirements for Printer Operations

表20:打印机操作的一致性要求

           +------------------------------------+-------------+
           | Operation                          | Conformance |
           +------------------------------------+-------------+
           | Send-Document (Section 4.3.1)      | RECOMMENDED |
           +------------------------------------+-------------+
           | Send-URI (Section 4.3.2)           | RECOMMENDED |
           +------------------------------------+-------------+
           | Cancel-Job (Section 4.3.3)         | REQUIRED    |
           +------------------------------------+-------------+
           | Get-Job-Attributes (Section 4.3.4) | REQUIRED    |
           +------------------------------------+-------------+
           | Hold-Job (Section 4.3.5)           | OPTIONAL    |
           +------------------------------------+-------------+
           | Release-Job (Section 4.3.6)        | OPTIONAL    |
           +------------------------------------+-------------+
           | Restart-Job (Section 4.3.7)        | SHOULD NOT  |
           +------------------------------------+-------------+
        
           +------------------------------------+-------------+
           | Operation                          | Conformance |
           +------------------------------------+-------------+
           | Send-Document (Section 4.3.1)      | RECOMMENDED |
           +------------------------------------+-------------+
           | Send-URI (Section 4.3.2)           | RECOMMENDED |
           +------------------------------------+-------------+
           | Cancel-Job (Section 4.3.3)         | REQUIRED    |
           +------------------------------------+-------------+
           | Get-Job-Attributes (Section 4.3.4) | REQUIRED    |
           +------------------------------------+-------------+
           | Hold-Job (Section 4.3.5)           | OPTIONAL    |
           +------------------------------------+-------------+
           | Release-Job (Section 4.3.6)        | OPTIONAL    |
           +------------------------------------+-------------+
           | Restart-Job (Section 4.3.7)        | SHOULD NOT  |
           +------------------------------------+-------------+
        

Table 21: Conformance Requirements for Job Operations

表21:作业操作的合规性要求

Conforming IPP objects MUST support all REQUIRED operation attributes and all values of such attributes if so indicated in the description. Conforming IPP objects MUST ignore all unsupported or unknown operation attributes or Operation Attributes groups received in a request but MUST reject a request that contains a supported operation attribute that contains an unsupported value.

符合IPP要求的对象必须支持所有要求的操作属性和这些属性的所有值(如果说明中有说明)。一致性IPP对象必须忽略请求中接收到的所有不支持或未知的操作属性或操作属性组,但必须拒绝包含不支持值的支持操作属性的请求。

Conforming IPP objects MAY return operation responses that contain attribute groups, attribute names, attribute syntaxes, attribute values, and status-code values that are extensions to this specification. The additional attribute groups MAY occur in any order.

一致性IPP对象可能返回操作响应,其中包含本规范扩展的属性组、属性名称、属性语法、属性值和状态代码值。附加属性组可以按任何顺序出现。

The following section on object attributes specifies the support required for object attributes.

以下关于对象属性的部分指定了对象属性所需的支持。

6.2.3. IPP Object Attributes
6.2.3. IPP对象属性

Conforming IPP objects MUST support all of the REQUIRED object attributes, as defined in this document in the indicated sections.

符合要求的IPP对象必须支持本文件所示章节中定义的所有所需对象属性。

If an object supports an attribute, it MUST support only those values specified in this document or through the extension mechanism described in Section 6.2.5. It MAY support any non-empty subset of these values. That is, it MUST support at least one of the specified values and at most all of them.

如果对象支持属性,则它必须仅支持本文档中指定的值或通过第6.2.5节中描述的扩展机制指定的值。它可以支持这些值的任何非空子集。也就是说,它必须至少支持一个指定值,最多支持所有指定值。

6.2.4. Versions
6.2.4. 版本

IPP/1.1 Clients MUST meet the conformance requirements for Clients specified in this document and [RFC8010]. IPP/1.1 Clients MUST be capable of sending requests containing a "version-number" parameter with a value of '1.1'.

IPP/1.1客户必须满足本文件和[RFC8010]中规定的客户合规性要求。IPP/1.1客户端必须能够发送包含值为“1.1”的“版本号”参数的请求。

IPP/1.1 Printer and Job objects MUST meet the conformance requirements for IPP objects specified in this document and [RFC8010]. IPP/1.1 objects MUST accept requests containing a "version-number" parameter with a '1.1' value or reject the request if the operation is not supported.

IPP/1.1打印机和作业对象必须满足本文件和[RFC8010]中规定的IPP对象的一致性要求。IPP/1.1对象必须接受包含具有“1.1”值的“版本号”参数的请求,如果不支持该操作,则必须拒绝该请求。

It is beyond the scope of this specification to mandate conformance with other IPP versions. However, IPP was deliberately designed to make supporting different versions easy. IPP/1.1 Printer implementations MUST:

强制要求与其他IPP版本的一致性超出了本规范的范围。然而,IPP的设计是为了使支持不同版本变得容易。IPP/1.1打印机实施必须:

o decode and process any well-formed IPP/1.1 request, and

o 解码并处理任何格式良好的IPP/1.1请求,以及

o respond appropriately with a response containing the same "version-number" parameter value used by the Client in the request.

o 使用包含客户端在请求中使用的相同“版本号”参数值的响应