Network Working Group                                           R. deBry
Request for Comments: 2566                     Utah Valley State College
Category: Experimental                                       T. Hastings
                                                       Xerox Corporation
                                                              R. Herriot
                                                       Xerox Corporation
                                                             S. Isaacson
                                                            Novell, Inc.
                                                               P. Powell
                                                     Astart Technologies
                                                              April 1999
        
Network Working Group                                           R. deBry
Request for Comments: 2566                     Utah Valley State College
Category: Experimental                                       T. Hastings
                                                       Xerox Corporation
                                                              R. Herriot
                                                       Xerox Corporation
                                                             S. Isaacson
                                                            Novell, Inc.
                                                               P. Powell
                                                     Astart Technologies
                                                              April 1999
        

Internet Printing Protocol/1.0: Model and Semantics

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

Status of this Memo

本备忘录的状况

This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited.

这份备忘录为互联网社区定义了一个实验性协议。它没有规定任何类型的互联网标准。要求进行讨论并提出改进建议。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The Internet Society (1999). All Rights Reserved.

版权所有(C)互联网协会(1999年)。版权所有。

IESG Note

IESG注释

This document defines an Experimental protocol for the Internet community. The IESG expects that a revised version of this protocol will be published as Proposed Standard protocol. The Proposed Standard, when published, is expected to change from the protocol defined in this memo. In particular, it is expected that the standards-track version of the protocol will incorporate strong authentication and privacy features, and that an "ipp:" URL type will be defined which supports those security measures. Other changes to the protocol are also possible. Implementors are warned that future versions of this protocol may not interoperate with the version of IPP defined in this document, or if they do interoperate, that some protocol features may not be available.

本文档为互联网社区定义了一个实验协议。IESG希望本协议的修订版将作为拟议标准协议出版。拟定标准发布后,预计将改变本备忘录中定义的协议。特别是,预计协议的标准跟踪版本将包含强大的身份验证和隐私功能,并且将定义支持这些安全措施的“ipp:”URL类型。协议的其他更改也是可能的。提醒实施者,本协议的未来版本可能无法与本文档中定义的IPP版本进行互操作,或者,如果实现了互操作,则某些协议功能可能不可用。

The IESG encourages experimentation with this protocol, especially in combination with Transport Layer Security (TLS) [RFC 2246], to help determine how TLS may effectively be used as a security layer for IPP.

IESG鼓励对该协议进行试验,特别是结合传输层安全(TLS)[RFC 2246],以帮助确定如何将TLS有效地用作IPP的安全层。

Abstract

摘要

This document is one of a set of documents, which together describe all aspects of a new Internet Printing Protocol (IPP). IPP is an application level protocol that can be used for distributed printing using Internet tools and technologies. This document describes a simplified model consisting of abstract objects, their attributes, and their operations that is independent of encoding and transport. The model consists of a Printer and a Job object. A Job optionally supports multiple documents. IPP 1.0 semantics allow end-users and operators to query printer capabilities, submit print jobs, inquire about the status of print jobs and printers, and cancel print jobs. This document also addresses security, internationalization, and directory issues.

本文档是一组文档之一,这些文档共同描述了新Internet打印协议(IPP)的所有方面。IPP是一种应用程序级协议,可用于使用Internet工具和技术进行分布式打印。本文档描述了一个简化模型,该模型由抽象对象、抽象对象的属性及其独立于编码和传输的操作组成。该模型由打印机和作业对象组成。作业可以选择支持多个文档。IPP 1.0语义允许最终用户和操作员查询打印机功能、提交打印作业、查询打印作业和打印机的状态以及取消打印作业。本文档还讨论了安全性、国际化和目录问题。

The full set of IPP documents includes:

整套IPP文件包括:

     Design Goals for an Internet Printing Protocol [RFC2567]
     Rationale for the Structure and Model and Protocol for the Internet
        Printing Protocol [RFC2568]
     Internet Printing Protocol/1.0: Model and Semantics (this document)
     Internet Printing Protocol/1.0: Encoding and Transport [RFC2565]
     Internet Printing Protocol/1.0: Implementer's Guide [ipp-iig]
     Mapping between LPD and IPP Protocols [RFC2569]
        
     Design Goals for an Internet Printing Protocol [RFC2567]
     Rationale for the Structure and Model and Protocol for the Internet
        Printing Protocol [RFC2568]
     Internet Printing Protocol/1.0: Model and Semantics (this document)
     Internet Printing Protocol/1.0: Encoding and Transport [RFC2565]
     Internet Printing Protocol/1.0: Implementer's Guide [ipp-iig]
     Mapping between LPD and IPP Protocols [RFC2569]
        

The "Design Goals for an Internet Printing Protocol" document takes a broad look at distributed printing functionality, and it enumerates real-life scenarios that help to clarify the features that need to be included in a printing protocol for the Internet. It identifies requirements for three types of users: end users, operators, and administrators. It calls out a subset of end user requirements that are satisfied in IPP/1.0. Operator and administrator requirements are out of scope for version 1.0.

“Internet打印协议的设计目标”文档广泛介绍了分布式打印功能,并列举了有助于澄清需要包含在Internet打印协议中的功能的实际场景。它确定了三类用户的需求:最终用户、操作员和管理员。它列出了IPP/1.0中满足的最终用户需求的子集。操作员和管理员要求超出了版本1.0的范围。

The "Rationale for the Structure and Model and Protocol for the Internet Printing Protocol" document describes IPP from a high level view, defines a roadmap for the various documents that form the suite of IPP specifications, and gives background and rationale for the IETF working group's major decisions.

“互联网打印协议的结构、模型和协议的基本原理”文件从高层次上描述了IPP,定义了构成IPP规范套件的各种文件的路线图,并为IETF工作组的主要决策提供了背景和基本原理。

The "Internet Printing Protocol/1.0: Encoding and Transport" document is a formal mapping of the abstract operations and attributes defined in the model document onto HTTP/1.1. It defines the encoding rules for a new Internet media type called "application/ipp".

“Internet打印协议/1.0:编码和传输”文档是模型文档中定义的抽象操作和属性到HTTP/1.1的正式映射。它定义了称为“应用程序/ipp”的新Internet媒体类型的编码规则。

The "Internet Printing Protocol/1.0: Implementer's Guide" document gives insight and advice to implementers of IPP clients and IPP objects. It is intended to help them understand IPP/1.0 and some of

“互联网打印协议/1.0:实施者指南”文件为IPP客户端和IPP对象的实施者提供了见解和建议。旨在帮助他们理解IPP/1.0和其中的一些内容

the considerations that may assist them in the design of their client and/or IPP object implementations. For example, a typical order of processing requests is given, including error checking. Motivation for some of the specification decisions is also included.

可能有助于他们设计客户端和/或IPP对象实现的注意事项。例如,给出了处理请求的典型顺序,包括错误检查。还包括一些规范决策的动机。

The "Mapping between LPD and IPP Protocols" document gives some advice to implementers of gateways between IPP and LPD (Line Printer Daemon) implementations.

“LPD和IPP协议之间的映射”文档为IPP和LPD(Line Printer Daemon)实现之间网关的实现者提供了一些建议。

Table of Contents

目录

1. Introduction 8 1.1 Simplified Printing Model 9 2. IPP Objects 11 2.1 Printer Object 12 2.2 Job Object 14 2.3 Object Relationships 14 2.4 Object Identity 15 3. IPP Operations 18 3.1 Common Semantics 19 3.1.1 Required Parameters 19 3.1.2 Operation IDs and Request IDs 20 3.1.3 Attributes 20 3.1.4 Character Set and Natural Language Operation Attributes 22 3.1.4.1 Request Operation Attributes 22 3.1.4.2 Response Operation Attributes 26 3.1.5 Operation Targets 28 3.1.6 Operation Status Codes and Messages 29 3.1.7 Versions 30 3.1.8 Job Creation Operations 32 3.2 Printer Operations 34 3.2.1 Print-Job Operation 34 3.2.1.1 Print-Job Request 34 3.2.1.2 Print-Job Response 38 3.2.2 Print-URI Operation 41 3.2.3 Validate-Job Operation 42 3.2.4 Create-Job Operation 42 3.2.5 Get-Printer-Attributes Operation 43 3.2.5.1 Get-Printer-Attributes Request 44 3.2.5.2 Get-Printer-Attributes Response 46 3.2.6 Get-Jobs Operation 47 3.2.6.1 Get-Jobs Request 47 3.2.6.2 Get-Jobs Response 49 3.3 Job Operations 50 3.3.1 Send-Document Operation 50 3.3.1.1 Send-Document Request 51 3.3.1.2 Send-Document Response 53 3.3.2 Send-URI Operation 54

1. 导言8 1.1简化打印模型9 2。IPP对象11 2.1打印机对象12 2.2作业对象14 2.3对象关系14 2.4对象标识15 3。IPP操作18 3.1通用语义19 3.1.1所需参数19 3.1.2操作ID和请求ID 20 3.1.3属性20 3.1.4字符集和自然语言操作属性22 3.1.4.1请求操作属性22 3.1.4.2响应操作属性26 3.1.5操作目标28 3.1.6操作状态代码和消息293.1.7版本30 3.1.8作业创建操作32 3.2打印机操作34 3.2.1打印作业操作34 3.2.1.1打印作业请求34 3.2.1.2打印作业响应38 3.2.2打印URI操作41 3.2.3验证作业操作42 3.2.4创建作业操作42 3.2.5获取打印机属性操作43 3.2.5.1获取打印机属性请求44 3.2.5.2获取打印机属性响应46 3.2.6获取作业操作47 3.2.6.1获取作业请求47 3.2.6.2获取作业响应49 3.3作业操作50 3.3.1发送文档操作50 3.3.1.1发送文档请求51 3.3.1.2发送文档响应53 3.3.2发送URI操作54

3.3.3 Cancel-Job Operation 54 3.3.3.1 Cancel-Job Request 54 3.3.3.2 Cancel-Job Response 55 3.3.4 Get-Job-Attributes Operation 56 3.3.4.1 Get-Job-Attributes Request 57 3.3.4.2 Get-Job-Attributes Response 57 4. Object Attributes 58 4.1 Attribute Syntaxes 59 4.1.1 'text' 60 4.1.1.1 'textWithoutLanguage' 61 4.1.1.2 'textWithLanguage' 61 4.1.2 'name' 62 4.1.2.1 'nameWithoutLanguage' 62 4.1.2.2 'nameWithLanguage' 63 4.1.2.3 Matching 'name' attribute values 63 4.1.3 'keyword' 64 4.1.4 'enum' 65 4.1.5 'uri' 65 4.1.6 'uriScheme' 65 4.1.7 'charset' 66 4.1.8 'naturalLanguage' 67 4.1.9 'mimeMediaType' 67 4.1.10 'octetString' 69 4.1.11 'boolean' 69 4.1.12 'integer' 69 4.1.13 'rangeOfInteger' 69 4.1.14 'dateTime' 69 4.1.15 'resolution' 69 4.1.16 '1setOf X' 70 4.2 Job Template Attributes 70 4.2.1 job-priority (integer(1:100)) 74 4.2.2 job-hold-until (type3 keyword | name (MAX)) 75 4.2.3 job-sheets (type3 keyword | name(MAX)) 75 4.2.4 multiple-document-handling (type2 keyword) 76 4.2.5 copies (integer(1:MAX)) 77 4.2.6 finishings (1setOf type2 enum) 78 4.2.7 page-ranges (1setOf rangeOfInteger (1:MAX)) 79 4.2.8 sides (type2 keyword) 80 4.2.9 number-up (integer(1:MAX)) 80 4.2.10 orientation-requested (type2 enum) 81 4.2.11 media (type3 keyword | name(MAX)) 82 4.2.12 printer-resolution (resolution) 83 4.2.13 print-quality (type2 enum) 83 4.3 Job Description Attributes 84 4.3.1 job-uri (uri) 85 4.3.2 job-id (integer(1:MAX)) 85 4.3.3 job-printer-uri (uri) 86 4.3.4 job-more-info (uri) 86

3.3.3取消作业操作54 3.3.3.1取消作业请求54 3.3.3.2取消作业响应55 3.3.4获取作业属性操作56 3.3.4.1获取作业属性请求57 3.3.4.2获取作业属性响应57 4。对象属性58 4.1属性语法59 4.1.1“text”60 4.1.1.1“textWithoutLanguage”61 4.1.1.2“textWithLanguage”61 4.1.2“name”62 4.1.2.1“nameWithoutLanguage”62 4.1.2.2“nameWithLanguage”63 4.1.2.3“name”属性值63 4.1.3“关键字”64 4.1.4“enum”65 4.1.5“uri”65 4.1.6“uriScheme”65 4.1.7“charset”66 4.8“naturalLanguage”67 4.1.9“mimeMediaType”67 4.1.10“octetString”69 4.1.11“boolean”69 4.1.12“integer”69 4.1.13“rangeOfInteger”69 4.1.14“dateTime”69 4.1.15“resolution”69 4.1.16“1setOf X”70 4.2作业模板属性70 4.2.1作业优先级(整数(1:100))74 4.2.2作业保留至(type3关键字名称(最大值))75 4.2.3作业表(type3关键字| name(MAX))75 4.2.4多文档处理(type2关键字)76 4.2.5份(整数(1:MAX))77 4.2.6完成(1setOf type2枚举)78 4.2.7页面范围(1setOf rangeof integer(1:MAX))79 4.2.8边(type2关键字)80 4.2.9向上数(整数(1:MAX))80 4.2.10请求的方向(type2枚举)81 4.2.11介质(type3关键字| name(MAX))82 4.2.12打印机分辨率(分辨率)83 4.2.13打印质量(type2枚举)83 4.3作业描述属性84 4.3.1作业uri(uri)85 4.3.2作业id(整数(1:MAX))85 4.3.3作业打印机uri(uri)86 4.3.4作业更多信息(uri)86

4.3.5 job-name (name(MAX)) 86 4.3.6 job-originating-user-name (name(MAX)) 86 4.3.7 job-state (type1 enum) 87 4.3.8 job-state-reasons (1setOf type2 keyword) 90 4.3.9 job-state-message (text(MAX)) 92 4.3.10 number-of-documents (integer(0:MAX)) 93 4.3.11 output-device-assigned (name(127)) 93 4.3.12 time-at-creation (integer(0:MAX)) 93 4.3.13 time-at-processing (integer(0:MAX)) 93 4.3.14 time-at-completed (integer(0:MAX)) 94 4.3.15 number-of-intervening-jobs (integer(0:MAX)) 94 4.3.16 job-message-from-operator (text(127)) 94 4.3.17 job-k-octets (integer(0:MAX)) 94 4.3.18 job-impressions (integer(0:MAX)) 95 4.3.19 job-media-sheets (integer(0:MAX)) 95 4.3.20 job-k-octets-processed (integer(0:MAX)) 96 4.3.21 job-impressions-completed (integer(0:MAX)) 96 4.3.22 job-media-sheets-completed (integer(0:MAX)) 96 4.3.23 attributes-charset (charset) 97 4.3.24 attributes-natural-language (naturalLanguage) 97 4.4 Printer Description Attributes 97 4.4.1 printer-uri-supported (1setOf uri) 99 4.4.2 uri-security-supported (1setOf type2 keyword) 100 4.4.3 printer-name (name(127)) 101 4.4.4 printer-location (text(127)) 101 4.4.5 printer-info (text(127)) 101 4.4.6 printer-more-info (uri) 101 4.4.7 printer-driver-installer (uri) 102 4.4.8 printer-make-and-model (text(127)) 102 4.4.9 printer-more-info-manufacturer (uri) 102 4.4.10 printer-state (type1 enum) 102 4.4.11 printer-state-reasons (1setOf type2 keyword) 103 4.4.12 printer-state-message (text(MAX)) 106 4.4.13 operations-supported (1setOf type2 enum) 106 4.4.14 charset-configured (charset) 107 4.4.15 charset-supported (1setOf charset) 107 4.4.16 natural-language-configured (naturalLanguage) 107 4.4.17 generated-natural-language-supported(1setOf naturalLanguage108 4.4.18 document-format-default (mimeMediaType) 108 4.4.19 document-format-supported (1setOf mimeMediaType) 108 4.4.20 printer-is-accepting-jobs (boolean) 109 4.4.21 queued-job-count (integer(0:MAX)) 109 4.4.22 printer-message-from-operator (text(127)) 109 4.4.23 color-supported (boolean) 109 4.4.24 reference-uri-schemes-supported (1setOf uriScheme) 109 4.4.25 pdl-override-supported (type2 keyword) 110 4.4.26 printer-up-time (integer(1:MAX)) 110 4.4.27 printer-current-time (dateTime) 111

4.3.5作业名称(名称(最大值))86 4.3.6作业发起用户名(名称(最大值))86 4.3.7作业状态(类型1枚举)87 4.3.8作业状态原因(类型1关键字)90 4.3.9作业状态消息(文本(最大值))92 4.3.10文档数(整数(0:最大值))93 4.3.11分配的输出设备(名称(127))93 4.3.12创建时间(整数(0:最大值))93 4.3.13处理时的时间(整数(0:MAX))93 4.3.14完成时的时间(整数(0:MAX))94 4.3.15中间作业数(整数(0:MAX))94 4.3.16来自操作员的作业消息(文本(127))94 4.3.17作业k八位字节(整数(0:MAX))94 4.3.18作业印象(整数(0:MAX))95 4.3.19作业介质表(整数(0:MAX))95 4.3.20作业-k-octets-processed(整数(0:MAX))96 4.3.21作业印象完成(整数(0:MAX))96 4.3.22作业介质表完成(整数(0:MAX))96 4.3.23属性字符集(字符集)97 4.3.24属性自然语言(自然语言)97 4.4打印机描述属性97 4.4.1支持的打印机uri(1setOf uri)99 4.4.2支持uri安全性(1setOf type2关键字)100 4.4.3打印机名称(名称(127))101 4.4.4打印机位置(文本(127))101 4.4.5打印机信息(文本(127))101 4.4.6打印机更多信息(uri)101 4.4.7打印机驱动程序安装程序(uri)102 4.4.8打印机品牌和型号(文本(127))102 4.4.9打印机更多信息制造商(uri)102 4.4.10打印机状态(type1枚举)102 4.4.11打印机状态原因(1setOf type2关键字)103 4.4.12打印机状态消息(文本(最大值))106 4.4.13支持的操作(1setOf type2枚举)106 4.4.14配置的字符集(字符集)107 4.4.15支持的字符集(1setOf charset)107 4.4.16配置的自然语言(自然语言)107 4.4.17支持生成的自然语言(1setOf naturalLanguage108 4.4.18文档格式默认值(mimeMediaType)108 4.4.19支持的文档格式(1setOf mimeMediaType)108 4.4.20打印机正在接受作业(布尔值)109 4.4.21排队作业计数(整数(0:MAX))109 4.4.22来自操作员的打印机消息(文本(127))109 4.4.23支持颜色(布尔值)109 4.4.24支持参考uri方案(1setOf uriScheme)109 4.4.25支持pdl覆盖(type2关键字)110 4.4.26打印机启动时间(整数(1:MAX))110 4.4.27打印机当前时间(dateTime)111

4.4.28 multiple-operation-time-out (integer(1:MAX)) 111 4.4.29 compression-supported (1setOf type3 keyword) 111 4.4.30 job-k-octets-supported (rangeOfInteger(0:MAX)) 112 4.4.31 job-impressions-supported (rangeOfInteger(0:MAX)) 112 4.4.32 job-media-sheets-supported (rangeOfInteger(0:MAX)) 112 5. Conformance 112 5.1 Client Conformance Requirements 112 5.2 IPP Object Conformance Requirements 113 5.2.1 Objects 113 5.2.2 Operations 113 5.2.3 IPP Object Attributes 114 5.2.4 Extensions 114 5.2.5 Attribute Syntaxes 115 5.3 Charset and Natural Language Requirements 115 5.4 Security Conformance Requirements 115 6. IANA Considerations (registered and private extensions) 116 6.1 Typed 'keyword' and 'enum' Extensions 116 6.2 Attribute Extensibility 119 6.3 Attribute Syntax Extensibility 119 6.4 Operation Extensibility 120 6.5 Attribute Groups 120 6.6 Status Code Extensibility 120 6.7 Registration of MIME types/sub-types for document-formats 121 6.8 Registration of charsets for use in 'charset' attribute values121 7. Internationalization Considerations 121 8. Security Considerations 125 8.1 Security Scenarios 126 8.1.1 Client and Server in the Same Security Domain 126 8.1.2 Client and Server in Different Security Domains 126 8.1.3 Print by Reference 127 8.2 URIs for SSL3 and non-SSL3 Access 127 8.3 The "requesting-user-name" (name(MAX)) Operation Attribute 127 8.4 Restricted Queries 129 8.5 Queries on jobs submitted using non-IPP protocols 129 8.6 IPP Security Application Profile for SSL3 130 9. References 131 10. Authors' Addresses 134 11. Formats for IPP Registration Proposals 136 11.1 Type2 keyword attribute values registration 136 11.2 Type3 keyword attribute values registration 137 11.3 Type2 enum attribute values registration 137 11.4 Type3 enum attribute values registration 137 11.5 Attribute registration 138 11.6 Attribute Syntax registration 138 11.7 Operation registration 139 11.8 Attribute Group registration 139 11.9 Status code registration 139 12.APPENDIX A: Terminology 141

4.4.28多个操作超时(整数(1:MAX))111 4.4.29支持压缩(1setOf type3关键字)111 4.4.30支持job-k-octets(rangeof integer(0:MAX))112 4.4.31支持作业印象(rangeof integer(0:MAX))112 4.4.32支持作业介质表(rangeof integer(0:MAX))112 5。一致性112 5.1客户一致性要求112 5.2 IPP对象一致性要求113 5.2.1对象113 5.2.2操作113 5.2.3 IPP对象属性114 5.2.4扩展114 5.2.5属性语法115 5.3字符集和自然语言要求115 5.4安全一致性要求115 6。IANA注意事项(注册和专用扩展)116 6.1键入的“关键字”和“枚举”扩展116 6.2属性扩展性119 6.3属性语法扩展性119 6.4操作扩展性120 6.5属性组120 6.6状态代码扩展性120 6.7文档格式MIME类型/子类型的注册121 6.8在“字符集”属性值中使用的字符集注册1217.国际化考虑121 8。安全注意事项125 8.1安全场景126 8.1.1同一安全域中的客户端和服务器126 8.1.2不同安全域中的客户端和服务器126 8.1.3通过参考127 8.2 URI打印SSL3和非SSL3访问127 8.3的“请求用户名”(名称(最大值))操作属性127 8.4受限查询129 8.5使用SSL3 130 9的非IPP协议129 8.6 IPP安全应用程序配置文件提交作业的查询。参考文献13110。作者地址134 11。IPP注册建议书格式136 11.1类型2关键字属性值注册136 11.2类型3关键字属性值注册137 11.3类型2枚举属性值注册137 11.4类型3枚举属性值注册137 11.5属性注册138 11.6属性语法注册138 11.7操作注册139 11.8属性组注册139 11.9状态代码注册139 12.附录A:术语141

12.1 Conformance Terminology 141 12.1.1 NEED NOT 141 12.2 Model Terminology 141 12.2.1 Keyword 141 12.2.2 Attributes 141 12.2.2.1 Attribute Name 141 12.2.2.2 Attribute Group Name 142 12.2.2.3 Attribute Value 142 12.2.2.4 Attribute Syntax 142 12.2.3 Supports 142 12.2.4 print-stream page 144 12.2.5 impression 144 13.APPENDIX B: Status Codes and Suggested Status Code Messages 145 13.1 Status Codes 146 13.1.1 Informational 146 13.1.2 Successful Status Codes 146 13.1.2.1 successful-ok (0x0000) 146 13.1.2.2 successful-ok-ignored-or-substituted-attributes (0x0001) 146 13.1.2.3 successful-ok-conflicting-attributes (0x0002) 147 13.1.3 Redirection Status Codes 147 13.1.4 Client Error Status Codes 147 13.1.4.1 client-error-bad-request (0x0400) 147 13.1.4.2 client-error-forbidden (0x0401) 147 13.1.4.3 client-error-not-authenticated (0x0402) 148 13.1.4.4 client-error-not-authorized (0x0403) 148 13.1.4.5 client-error-not-possible (0x0404) 148 13.1.4.6 client-error-timeout (0x0405) 148 13.1.4.7 client-error-not-found (0x0406) 149 13.1.4.8 client-error-gone (0x0407) 149 13.1.4.9 client-error-request-entity-too-large (0x0408) 149 13.1.4.10client-error-request-value-too-long (0x0409) 150 13.1.4.11client-error-document-format-not-supported (0x040A) 150 13.1.4.12client-error-attributes-or-values-not-supported (0x040B) 150 13.1.4.13client-error-uri-scheme-not-supported (0x040C) 151 13.1.4.14client-error-charset-not-supported (0x040D) 151 13.1.4.15client-error-conflicting-attributes (0x040E) 151 13.1.5 Server Error Status Codes 151 13.1.5.1 server-error-internal-error (0x0500) 151 13.1.5.2 server-error-operation-not-supported (0x0501) 152 13.1.5.3 server-error-service-unavailable (0x0502) 152 13.1.5.4 server-error-version-not-supported (0x0503) 152 13.1.5.5 server-error-device-error (0x0504) 152 13.1.5.6 server-error-temporary-error (0x0505) 153 13.1.5.7 server-error-not-accepting-jobs (0x0506) 153 13.1.5.8 server-error-busy (0x0507) 153 13.1.5.9 server-error-job-canceled (0x0508) 153 13.2 Status Codes for IPP Operations 153 14.APPENDIX C: "media" keyword values 155

12.1一致性术语141 12.1.1无需141 12.2模型术语141 12.2.1关键字141 12.2.2属性141 12.2.2.1属性名称141 12.2.2.2属性组名称142 12.2.2.3属性值142 12.2.2.4属性语法142 12.2.3支持142 12.2.4打印流页面144 12.2.5.13附录B:状态代码和建议状态代码消息145 13.1状态代码146 13.1.1信息性146 13.1.2成功状态代码146 13.1.2.1成功ok(0x0000)146 13.1.2.2成功ok忽略或替换属性(0x0001)146 13.1.2.3成功ok冲突属性(0x0002)147 13.1.3重定向状态代码147 13.1.4客户端错误状态代码147 13.1.4.1客户端错误错误错误请求(0x0400)147 13.1.4.2客户端错误禁止(0x0401)147 13.1.4.3客户端错误未验证(0x0402)148 13.1.4.4客户端错误未授权(0x0403)148 13.1.4.5客户端错误不可能(0x0404)148 13.1.4.6客户端错误超时(0x0405)148 13.1.4.7未找到客户端错误(0x0406)149 13.1.4.8客户端错误已消失(0x0407)149 13.1.4.9客户端错误请求实体过大(0x0408)149 13.1.4.10客户端错误请求值过长(0x0409)150 13.1.4.11客户端错误文档格式不受支持(0x040A)150 13.1.4.12客户端错误属性或值不受支持(0x040B)150 13.1.4.13客户端错误uri方案不受支持(0x040C)151 13.1.4.14客户端错误字符集不受支持(0x040D)151 13.1.4.15客户端错误冲突属性(0x040E)151 13.1.5服务器错误状态代码151 13.1.5.1服务器错误内部错误(0x0500)151 13.1.5.2不支持服务器错误操作(0x0501)152 13.1.5.3服务器错误服务不可用(0x0502)152 13.1.5.4服务器错误版本不支持(0x0503)152 13.1.5.5服务器错误设备错误(0x0504)152 13.1.5.6服务器错误临时错误(0x0505)153 13.1.5.7服务器错误不接受作业(0x0506)153 13.1.5.8服务器错误忙(0x0507)153 13.1.5.9服务器错误作业已取消(0x0508)153 13.2 IPP操作的状态代码153 14.附录C:“媒体”关键字值155

15.APPENDIX D: Processing IPP Attributes 160 15.1 Fidelity 160 15.2 Page Description Language (PDL) Override 161 15.3 Using Job Template Attributes During Document Processing. 163 16.APPENDIX E: Generic Directory Schema 166 17.APPENDIX F: Change History for the Model and Semantics document 168 18.FULL COPYRIGHT STATEMENT 173

15.附录D:处理IPP属性160 15.1逼真度160 15.2页面描述语言(PDL)在文档处理期间使用作业模板属性覆盖161 15.3。163 16.附录E:通用目录模式166 17.附录F:模型和语义文档的更改历史168 18.完整版权声明173

1. Introduction
1. 介绍

The Internet Printing Protocol (IPP) is an application level protocol that can be used for distributed printing using Internet tools and technologies. IPP version 1.0 (IPP/1.0) focuses only on end user functionality. This document is just one of a suite of documents that fully define IPP. The full set of IPP documents includes:

Internet打印协议(IPP)是一种应用程序级协议,可用于使用Internet工具和技术进行分布式打印。IPP版本1.0(IPP/1.0)只关注最终用户功能。本文档只是完整定义IPP的一套文档之一。整套IPP文件包括:

     Design Goals for an Internet Printing Protocol [RFC2567]
     Rationale for the Structure and Model and Protocol for the Internet
        Printing Protocol [RFC2568]
     Internet Printing Protocol/1.0: Model and Semantics (this document)
     Internet Printing Protocol/1.0: Encoding and Transport [RFC2565]
     Internet Printing Protocol/1.0: Implementer's Guide [ipp-iig]
     Mapping between LPD and IPP Protocols [RFC2569]
        
     Design Goals for an Internet Printing Protocol [RFC2567]
     Rationale for the Structure and Model and Protocol for the Internet
        Printing Protocol [RFC2568]
     Internet Printing Protocol/1.0: Model and Semantics (this document)
     Internet Printing Protocol/1.0: Encoding and Transport [RFC2565]
     Internet Printing Protocol/1.0: Implementer's Guide [ipp-iig]
     Mapping between LPD and IPP Protocols [RFC2569]
        

Anyone reading these documents for the first time is strongly encouraged to read the IPP documents in the above order.

强烈建议首次阅读这些文件的任何人按照上述顺序阅读IPP文件。

This document is laid out as follows:

本文件的内容如下:

- The rest of Section 1 is an introduction to the IPP simplified model for distributed printing. - Section 2 introduces the object types covered in the model with their basic behaviors, attributes, and interactions. - Section 3 defines the operations included in IPP/1.0. IPP operations are synchronous, therefore, for each operation, there is a both request and a response. - Section 4 defines the attributes (and their syntaxes) that are used in the model. - Sections 5 - 6 summarizes the implementation conformance requirements for objects that support the protocol and IANA considerations, respectively. - Sections 7 - 11 cover the Internationalization and Security considerations as well as References, Author contact information, and Formats for Registration Proposals. - Sections 12 - 14 are appendices that cover Terminology, Status Codes and Messages, and "media" keyword values.

- 第1节的其余部分介绍了分布式打印的IPP简化模型第2节介绍了模型中包含的对象类型及其基本行为、属性和交互。-第3节定义了IPP/1.0中包含的操作。IPP操作是同步的,因此,对于每个操作,都有一个请求和一个响应。-第4节定义了模型中使用的属性(及其语法)第5-6节分别总结了支持协议和IANA考虑的对象的实现一致性要求。-第7-11节涵盖了国际化和安全考虑,以及参考资料、作者联系信息和注册建议格式第12-14节是涵盖术语、状态代码和消息以及“媒体”关键字值的附录。

Note: This document uses terms such as "attributes", "keywords", and "support". These terms have special meaning and are defined in the model terminology section 12.2. Capitalized terms, such as MUST, MUST NOT, REQUIRED, SHOULD, SHOULD NOT, MAY, NEED NOT, and OPTIONAL, have special meaning relating to conformance. These terms are defined in section 12.1 on conformance terminology, most of which is taken from RFC 2119 [RFC2119].

注:本文档使用“属性”、“关键字”和“支持”等术语。这些术语具有特殊含义,在模型术语第12.2节中有定义。大写术语,如必须、不得、必需、应该、不应该、可以、不需要和可选,具有与合规性相关的特殊含义。这些术语在第12.1节“一致性术语”中有定义,其中大部分取自RFC 2119[RFC2119]。

- Section 15 is an appendix that helps to clarify the effects of interactions between related attributes and their values. - Section 16 is an appendix that enumerates the subset of Printer attributes that form a generic directory schema. These attributes are useful when registering a Printer so that a client can find the Printer not just by name, but by filtered searches as well. - Section 17 is an appendix that provides a Change History summarizing the clarification and changes that might affect an implementation since the June 30, 1998 draft.

- 第15节是一个附录,有助于澄清相关属性及其价值之间相互作用的影响。-第16节是一个附录,列举了构成通用目录模式的打印机属性子集。这些属性在注册打印机时非常有用,这样客户端不仅可以通过名称,还可以通过过滤搜索找到打印机。-第17节是一个附录,提供了变更历史,总结了自1998年6月30日草案以来可能影响实施的澄清和变更。

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 model and semantics document describes a simple, abstract model for IPP even though the underlying configurations may 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 model document does not include features, interfaces, and relationships that are beyond the scope of the first version of IPP (IPP/1.0). IPP/1.0 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 version 1.0 (IPP/1.0) focuses only on end user functionality.

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

The IPP/1.0 model encapsulates the important components of distributed printing into two object types:

IPP/1.0模型将分布式打印的重要组件封装为两种对象类型:

- Printer (Section 2.1) - Job (Section 2.2)

- 打印机(第2.1节)-作业(第2.2节)

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

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

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

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

                                +--------------+
                                |  Application |
                      o         +. . . . . . . |
                     \|/        |   Spooler    |
                     / \        +. . . . . . . |   +---------+
                   End-User     | Print 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     | Print 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)|
                       +-----------------+
        

An IPP Printer object 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. Printer objects are optionally registered as entries in a directory where end users find and select them based on some sort of filtered and context based searching mechanism (see section 16). The directory is used to store relatively static information about the Printer, allowing end users to search for and find Printers that

IPP打印机对象封装了通常与物理输出设备相关联的功能,以及通常与打印服务器相关联的假脱机、调度和多设备管理功能。打印机对象可以选择注册为目录中的条目,最终用户可以根据某种过滤和基于上下文的搜索机制在目录中查找和选择它们(参见第16节)。该目录用于存储有关打印机的相对静态信息,允许最终用户搜索和查找

match their search criteria, for example: name, context, printer capabilities, etc. The more dynamic information, such as state, currently loaded and ready media, number of jobs at the Printer, errors, warnings, and so forth, is directly associated with the Printer object itself rather than with the entry in the directory which only represents the Printer object.

匹配他们的搜索条件,例如:名称、上下文、打印机功能等。更多动态信息,如状态、当前加载和准备好的介质、打印机上的作业数、错误、警告等,与打印机对象本身直接关联,而不是与目录中仅表示打印机对象的条目直接关联。

IPP clients implement the IPP protocol on the client side and give end users (or programs running on behalf of end users) the ability to query Printer objects 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. The Printer objects may be embedded in an output device or may 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 object and the Printer object validates the attributes in the submission request, the Printer object creates a new Job object. The end user then interacts with this new Job object to query its status and monitor the progress of the job. End users may also cancel the print job by using the Job object's Cancel-Job operation. The notification service is out of scope for IPP/1.0, but using such a notification service, the end user is able to register for and receive Printer specific and Job specific events. An end user can query the status of Printer objects and can follow the progress of Job objects by polling using the Get-Printer-Attributes, Get-Jobs, and Get-Job-Attributes operations.

当作业提交给打印机对象且打印机对象验证提交请求中的属性时,打印机对象将创建一个新作业对象。最终用户然后与这个新作业对象交互,以查询其状态并监视作业的进度。最终用户还可以使用作业对象的“取消作业”操作取消打印作业。通知服务不在IPP/1.0的范围内,但使用此类通知服务,最终用户可以注册并接收特定于打印机和特定于作业的事件。最终用户可以查询打印机对象的状态,并通过使用“获取打印机属性”、“获取作业”和“获取作业属性”操作进行轮询来跟踪作业对象的进度。

2. IPP Objects
2. IPP对象

The IPP/1.0 model introduces objects of type 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 may 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/1.0模型引入了打印机和作业类型的对象。每种类型的对象都为真实实体的相关方面建模,例如真实打印机或真实打印作业。每个对象类型都定义为一组可能由该对象类型的实例支持的属性。对于每个对象(实例),支持的属性和值的实际集合描述了特定的实现。对象的属性和值描述其状态、功能、可实现功能、作业处理功能以及默认行为和特征。例如,打印机对象类型定义为每个打印机对象可能支持的一组属性。以相同的方式,作业对象类型定义为每个作业对象可能支持的一组属性。

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

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

- "REQUIRED": each object MUST support the attribute. - "OPTIONAL": each object MAY support the attribute.

- “必需”:每个对象必须支持该属性。-“可选”:每个对象都可以支持该属性。

There is no such similar labeling of attribute values. However, if an implementation supports an attribute, it MUST support at least one of the possible values for that attribute.

没有类似的属性值标签。但是,如果实现支持某个属性,则它必须至少支持该属性的一个可能值。

2.1 Printer Object
2.1 打印机对象

The major component of the IPP/1.0 model is the Printer object. A Printer object implements the server-side of the IPP/1.0 protocol. Using the protocol, end users may query the attributes of the Printer object and submit print jobs to the Printer object. The actual implementation components behind the Printer abstraction may 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 3 describes each of the Printer operations in detail.

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

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

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

- "job-template" attributes: These attributes describe supported job processing capabilities and defaults for the Printer object. (See section 4.2) - "printer-description" attributes: These attributes describe the Printer object's identification, state, location, references to other sources of information about the Printer object, etc. (see section 4.4)

- “作业模板”属性:这些属性描述打印机对象支持的作业处理功能和默认值。(参见第4.2节)-“打印机描述”属性:这些属性描述打印机对象的标识、状态、位置、对打印机对象其他信息源的引用等(参见第4.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 2) An output device with a built-in spooler 3) A print server supporting IPP with one or more associated output devices 3a) The associated output devices may or may not be capable of spooling jobs 3b) The associated output devices may or may not support IPP

1) 不具有假脱机功能的输出设备2)具有内置假脱机程序的输出设备3)支持IPP的打印服务器,以及一个或多个关联的输出设备3a)关联的输出设备可能能够也可能无法假脱机作业3b)关联的输出设备可能支持也可能不支持IPP

The following figures show some examples of how Printer objects can be realized on top of various distributed printing configurations. The embedded case below represents configurations 1 and 2. The hosted and fan-out figures below represent configurations 3a and 3b.

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

Legend:

图例:

##### indicates a Printer object which is either embedded in an output device or is 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  #  |
                                           |  ###########  |
                                           +---------------+
        
   embedded printer:
                                             output device
                                           +---------------+
    O   +--------+                         |  ###########  |
   /|\  | client |------------IPP------------># Printer #  |
   / \  +--------+                         |  # Object  #  |
                                           |  ###########  |
                                           +---------------+
        
   hosted printer:
                                           +---------------+
    O   +--------+        ###########      |               |
   /|\  | client |--IPP--># Printer #-any->| output device |
   / \  +--------+        # Object  #      |               |
                          ###########      +---------------+
        
   hosted printer:
                                           +---------------+
    O   +--------+        ###########      |               |
   /|\  | client |--IPP--># Printer #-any->| output device |
   / \  +--------+        # Object  #      |               |
                          ###########      +---------------+
        
                                            +---------------+
   fan out:                                 |               |
                                        +-->| output device |
                                    any/    |               |
    O   +--------+      ###########   /     +---------------+
   /|\  | client |-IPP-># Printer #--*
   / \  +--------+      # Object  #   \     +---------------+
                        ########### any\    |               |
                                        +-->| output device |
                                            |               |
                                            +---------------+
        
                                            +---------------+
   fan out:                                 |               |
                                        +-->| output device |
                                    any/    |               |
    O   +--------+      ###########   /     +---------------+
   /|\  | client |-IPP-># Printer #--*
   / \  +--------+      # Object  #   \     +---------------+
                        ########### any\    |               |
                                        +-->| output device |
                                            |               |
                                            +---------------+
        
2.2 Job Object
2.2 作业对象

A Job object is used to model a print job. A Job object contains documents. The information required to create a Job object is sent in a create request from the end user via an IPP Client to the Printer object. The Printer object validates the create request, and if the Printer object accepts the request, the Printer object creates the new Job object. Section 3 describes each of the Job operations in detail.

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

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

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

- "job-template" attributes: These attributes can be supplied by the client or end user and include job processing instructions which are intended to override any Printer object defaults and/or instructions embedded within the document data. (See section 4.2) - "job-description" attributes: These attributes describe the Job object's identification, state, size, etc. The client supplies some of these attributes, and the Printer object generates others. (See section 4.3)

- “作业模板”属性:这些属性可由客户机或最终用户提供,并包括作业处理指令,用于覆盖文档数据中嵌入的任何打印机对象默认值和/或指令。(参见第4.2节)-“作业描述”属性:这些属性描述作业对象的标识、状态、大小等。客户端提供其中一些属性,打印机对象生成其他属性。(见第4.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:

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

- a stream of document data in a format supported by the Printer object (typically a Page Description Language - PDL), or - a reference to such a stream of document data

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

In IPP/1.0, a document is not modeled as an IPP object, therefore it has no object identifier or associated attributes. 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.

在IPP/1.0中,文档未建模为IPP对象,因此它没有对象标识符或关联属性。所有作业处理指令都建模为作业对象属性。这些属性称为作业模板属性,它们同样适用于作业对象中的所有文档。

2.3 Object Relationships
2.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 which "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 object contains zero or more Job objects.

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

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

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

A Job object is either 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 Job objects. If the contained document is just a reference to a stream of document data, other documents (in the same or different Job object(s)) may contain the same reference.

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

2.4 Object Identity
2.4 对象标识

All Printer and Job objects are identified by a Uniform Resource Identifier (URI) [RFC2396] so that they can be persistently and unambiguously referenced. The notion of a URI is a useful concept, however, until the notion of URI is more stable (i.e., defined more completely and deployed more widely), it is expected that the URIs used for IPP objects will actually be URLs [RFC2396]. 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.

所有打印机和作业对象都由统一资源标识符(URI)[RFC2396]标识,以便可以持久和明确地引用它们。URI的概念是一个有用的概念,但是,在URI的概念更稳定(即定义更完整、部署更广泛)之前,预计IPP对象使用的URI实际上是URL[RFC2396]。由于每个URL都是URI的一种特殊形式,即使在本文档的其余部分中使用了更通用的术语URI,其用法也旨在涵盖URL的更具体概念。

An administrator configures Printer objects to either support or not support authentication and/or message privacy using SSL3 [SSL] (the mechanism for security configuration is outside the scope of IPP/1.0). 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 8 provides a full description of all security considerations and configurations.

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

If a Printer object 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 object where each URI represents one of the communication channels to the Printer object. To support this flexibility, the IPP Printer object type defines a multi-valued identification attribute called the "printer-uri-supported" attribute. It MUST contain at least one URI. It MAY contain more than one URI. That is, every Printer object will have at least one

如果打印机对象支持多个通信通道,则其中一些或所有通道可能支持和/或需要不同的安全机制。在这种情况下,管理员可以将对这些多个通信通道的同时支持公开为单个打印机对象的多个URI,其中每个URI表示到打印机对象的一个通信通道。为了支持这种灵活性,IPP打印机对象类型定义了一个称为“支持的打印机uri”属性的多值标识属性。它必须至少包含一个URI。它可能包含多个URI。也就是说,每个打印机对象将至少有一个

URI that identifies at least one communication channel to the Printer object, but it may have more than one URI where each URI identifies a different communication channel to the Printer object. The "printer-uri-supported" attribute has a companion attribute, the "uri-security-supported" attribute, that has the same cardinality as "printer-uri-supported". The purpose of the "uri-security-supported" attribute is to indicate the security mechanisms (if any) used for each URI listed in "printer-uri-supported". These two attributes are fully described in sections 4.4.1 and 4.4.2.

标识到打印机对象的至少一个通信通道的URI,但它可能具有多个URI,其中每个URI标识到打印机对象的不同通信通道。“支持的打印机uri”属性有一个附带属性“支持的uri安全性”属性,该属性的基数与“支持的打印机uri”相同。“支持的uri安全性”属性的目的是指示“支持的打印机uri”中列出的每个uri所使用的安全机制(如果有)。这两个属性在第4.4.1节和第4.4.2节中有详细描述。

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

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

Note: IPP/1.0 does not specify how the client obtains the client supplied URI, but it is RECOMMENDED that a Printer object be registered as an entry in a directory service. End-users and programs can then interrogate the directory searching for Printers. Section 16 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 object. The entry in the directory that represents the IPP Printer object includes the possibly many URIs for that Printer object as values in one its attributes.

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

When a client submits a create request to the Printer object, the Printer object validates the request and creates a new Job object. The Printer object assigns the new Job object a URI which is stored in the "job-uri" Job attribute. This URI is then used by clients as the target for subsequent Job operations. The Printer object generates a Job URI based on its configured security policy and the URI used by the client in the create request.

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

For example, consider a Printer object that supports both a communication channel secured by the use of SSL3 (using HTTP over SSL3 with an "https" schemed URI) and another open communication channel that is not secured with SSL3 (using a simple "http" schemed URI). If a client were to submit a job using the secure URI, the Printer object would assign the new Job object a secure URI as well. If a client were to submit a job using the open-channel URI, the Printer would assign the new Job object an open-channel URI.

例如,考虑一个打印机对象,它既支持使用SSL3保证的通信信道(使用HTSPS在SSL3上带有“HTTPS”模式的URI)和另一个未用SSL3固定的开放通信信道(使用简单的“HTTP”方案URI)。如果客户端要使用安全URI提交作业,打印机对象也会为新作业对象分配一个安全URI。如果客户端使用开放通道URI提交作业,打印机将为新作业对象分配一个开放通道URI。

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

此外,打印机对象还填充作业对象的“作业打印机uri”属性。这是对创建作业对象的打印机对象的引用。如果客户端只能访问作业对象的“作业uri”标识符,则客户端可以查询作业的“作业打印机uri”属性,以确定哪个打印机对象创建了作业对象。如果打印机对象支持更多

than one URI, the Printer object 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”属性。

Allowing Job objects to have URIs allows for flexibility and scalability. For example, in some implementations, the Printer object might create Jobs that are processed in the same local environment as the Printer object itself. In this case, the Job URI might just be a composition of the Printer's URI and some unique component for the Job object, such as the unique 32-bit positive integer mentioned later in this paragraph. In other implementations, the Printer object might be a central clearing-house for validating all Job object creation requests, but the Job object itself might be created in some environment that is remote from the Printer object. In this case, the Job object's URI may have no physical-location relationship at all to the Printer object's URI. Again, the fact that Job objects have URIs allows for flexibility and scalability, however, many existing printing systems have local models or interface constraints that force print jobs to be identified using only a 32-bit positive integer rather than an independent URI. This numeric Job ID is only unique within the context of the Printer object to which the create request was originally submitted. Therefore, in order to allow both types of client access to IPP Job objects (either by Job URI or by numeric Job ID), when the Printer object successfully processes a create request and creates a new Job object, the Printer object MUST generate both a Job URI and a Job ID. The Job ID (stored in the "job-id" attribute) only has meaning in the context of the Printer object to which the create request was originally submitted. This requirement to support both Job URIs and Job IDs allows all types of clients to access Printer objects and Job objects no matter the local constraints imposed on the client implementation.

允许作业对象具有URI允许灵活性和可伸缩性。例如,在某些实现中,打印机对象可能创建与打印机对象本身在同一本地环境中处理的作业。在这种情况下,作业URI可能只是打印机URI和作业对象的某个唯一组件的组合,例如本段后面提到的唯一32位正整数。在其他实现中,打印机对象可能是验证所有作业对象创建请求的中央交换所,但作业对象本身可能是在远离打印机对象的某些环境中创建的。在这种情况下,作业对象的URI可能与打印机对象的URI完全没有物理位置关系。同样,作业对象具有URI这一事实允许灵活性和可伸缩性,但是,许多现有打印系统具有本地模型或接口约束,这些约束迫使打印作业仅使用32位正整数而不是独立的URI进行标识。此数字作业ID仅在创建请求最初提交到的打印机对象的上下文中是唯一的。因此,为了允许两种类型的客户端访问IPP作业对象(通过作业URI或数字作业ID),当打印机对象成功处理创建请求并创建新作业对象时,打印机对象必须同时生成作业URI和作业ID。作业ID(存储在“作业ID”属性中)仅在创建请求最初提交到的打印机对象的上下文中具有意义。支持作业URI和作业ID的这一要求允许所有类型的客户端访问打印机对象和作业对象,而不管对客户端实现施加的本地约束如何。

In addition to identifiers, Printer objects and Job objects have names ("printer-name" and "job-name"). An object name NEED NOT be unique across all instances of all objects. A Printer object's name is chosen and set by an administrator through some mechanism outside the scope of IPP/1.0. A Job object's name is optionally chosen and supplied by the IPP client submitting the job. If the client does not supply a Job object name, the Printer object generates a name for the new Job object. In all cases, the name only has local meaning.

除了标识符之外,打印机对象和作业对象还有名称(“打印机名称”和“作业名称”)。对象名称不必在所有对象的所有实例中都是唯一的。打印机对象的名称由管理员通过IPP/1.0范围之外的某种机制进行选择和设置。作业对象的名称由提交作业的IPP客户端选择性地选择和提供。如果客户端未提供作业对象名称,打印机对象将为新作业对象生成名称。在所有情况下,该名称仅具有本地含义。

To summarize:

总结如下:

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

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

- The Printer object's "uri-security-supported" attribute identifies the communication channel security protocols that may or may not have been configured for the various Printer object URIs (e.g., 'ssl3' or 'none'). - Each Job object is identified with a Job URI. The Job's "job-uri" attribute contains the URI. - Each Job object is also identified with Job ID 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 object which created the Job object. - Each Job object has a "job-printer-uri" attribute which contains the URI of the Printer object that was used to create the Job object. This attribute is used to determine the Printer object that created a Job object when given only the URI for the Job object. This linkage is necessary to determine the languages, charsets, and operations which are supported on that Job (the basis for such support comes from the creating Printer object). - Each Printer object has a name (which is not necessarily unique). The administrator chooses and sets this name through some mechanism outside the scope of IPP/1.0 itself. The Printer object's "printer-name" attribute contains the name. - Each Job object has a name (which is not necessarily unique). The client optionally supplies this name in the create request. If the client does not supply this name, the Printer object generates a name for the Job object. The Job object's "job-name" attribute contains the name.

- 打印机对象的“uri security supported”(uri安全支持)属性标识可能为各种打印机对象uri配置或未配置的通信通道安全协议(例如,“ssl3”或“none”)-每个作业对象都由一个作业URI标识。作业的“作业uri”属性包含uri。-每个作业对象还使用作业ID标识,作业ID是32位正整数。作业的“作业id”属性包含作业id。作业id仅在创建作业对象的打印机对象的上下文中是唯一的。-每个作业对象都有一个“作业打印机uri”属性,该属性包含用于创建作业对象的打印机对象的uri。当仅为作业对象提供URI时,此属性用于确定创建作业对象的打印机对象。此链接是确定该作业支持的语言、字符集和操作所必需的(此类支持的基础来自创建打印机对象)。-每个打印机对象都有一个名称(不一定是唯一的)。管理员通过IPP/1.0本身范围之外的某种机制选择和设置此名称。打印机对象的“打印机名称”属性包含名称。-每个作业对象都有一个名称(不一定是唯一的)。客户端在创建请求中可选地提供此名称。如果客户端不提供此名称,打印机对象将为作业对象生成一个名称。作业对象的“作业名称”属性包含该名称。

3. IPP Operations
3. IPP运营

IPP objects support operations. An operation consists of a request and a response. When a client communicates with an IPP object, the client issues an operation request to the URI for that object. Operation requests and responses have parameters that identify the operation. Operations also have attributes that affect the run-time 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 object attributes or Job object 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对象支持操作。操作由请求和响应组成。当客户端与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 IPP/1.0 Printer operations are:

IPP/1.0打印机操作包括:

Print-Job (section 3.2.1) Print-URI (section 3.2.2) Validate-Job (section 3.2.3) Create-Job (section 3.2.4) Get-Printer-Attributes (section 3.2.5) Get-Jobs (section 3.2.6)

打印作业(第3.2.1节)打印URI(第3.2.2节)验证作业(第3.2.3节)创建作业(第3.2.4节)获取打印机属性(第3.2.5节)获取作业(第3.2.6节)

The Job operations are:

作业操作包括:

Send-Document (section 3.3.1) Send-URI (section 3.3.2) Cancel-Job (section 3.3.3) Get-Job-Attributes (section 3.3.4)

发送文档(第3.3.1节)发送URI(第3.3.2节)取消作业(第3.3.3节)获取作业属性(第3.3.4节)

The Send-Document and Send-URI Job operations are used to add a new document to an existing multi-document Job object created using the Create-Job operation.

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

3.1 Common Semantics
3.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操作都需要一些通用参数和操作属性。这些常见元素及其语义特征将在以下章节中进行更详细的定义和描述。

3.1.1 Required Parameters
3.1.1 所需参数

Every operation request contains the following REQUIRED parameters:

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

- a "version-number", - an "operation-id", - a "request-id", and - the attributes that are REQUIRED for that type of request.

- “版本号”、“操作id”、“请求id”和该类型请求所需的属性。

Every operation response contains the following REQUIRED parameters:

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

- a "version-number", - a "status-code", - the "request-id" that was supplied in the corresponding request, and - the attributes that are REQUIRED for that type of response.

- 一个“版本号”、-一个“状态代码”、-相应请求中提供的“请求id”、-该类型响应所需的属性。

The encoding and transport document [RFC2565] 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.

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

3.1.2 Operation IDs and Request IDs
3.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 4.4.13). The client specifies which operation is being requested by supplying the correct "operation-id" value.

每个IPP操作请求都包含一个标识“操作id”值。有效值在“支持的操作”打印机属性部分中定义(见第4.4.13节)。客户端通过提供正确的“操作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 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”必须是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 mappings, the operation responses can come back in any order. In these cases, the "request-id" would be essential.

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

3.1.3 Attributes
3.1.3 属性

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

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

- Operation Attributes: These attributes are passed in the operation and affect the IPP object's behavior while processing the operation request and may 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 operation attributes are REQUIRED and which are OPTIONAL

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

for an IPP object to support and which attributes a client MUST supply in a request and an IPP object MUST supply in a response. - Job Template Attributes: These attributes affect the processing of a job. A client OPTIONALLY supplies Job Template Attributes in a create 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 create 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 15 for a full description of "ipp-attribute-fidelity" and its relationship to other attributes). - Job Object Attributes: These attributes are returned in response to a query operation directed at a Job object. - Printer Object Attributes: These attributes are returned in response to a query operation directed at a Printer object. - Unsupported Attributes: In a create request, the client supplies a set of Operation and Job Template attributes. If any of these attributes or their values is unsupported by the Printer object, the Printer object returns the set of unsupported attributes in the response. Section 15 gives a full description of how Job Template attributes supplied by the client in a create 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.

对于要支持的IPP对象,以及客户端必须在请求中提供哪些属性,IPP对象必须在响应中提供哪些属性。-作业模板属性:这些属性影响作业的处理。客户端可以选择在创建请求中提供作业模板属性,并且接收对象必须准备好接收所有支持的属性。稍后可以查询作业对象,以找出最初在创建请求中请求了哪些作业模板属性,这些属性在响应中作为作业对象属性返回。可以查询打印机对象的作业模板属性,以了解支持哪种类型的作业处理功能和/或默认作业处理行为,尽管这些属性在响应中作为打印机对象属性返回。“ipp属性保真度”操作属性影响所有客户提供的作业模板属性的处理(有关“ipp属性保真度”及其与其他属性的关系的完整说明,请参阅第15节)作业对象属性:这些属性是为了响应针对作业对象的查询操作而返回的。-打印机对象属性:这些属性是响应针对打印机对象的查询操作而返回的。-不支持的属性:在创建请求中,客户端提供一组操作和作业模板属性。如果打印机对象不支持这些属性或其值中的任何一个,则打印机对象将在响应中返回不支持的属性集。第15节全面介绍了打印机对象如何处理客户端在创建请求中提供的作业模板属性,以及如何将不支持的属性返回给客户端。由于可扩展性,任何IPP对象都可能接收到包含其不支持的新的或未知的属性或值的请求。在这种情况下,IPP对象将尽其所能处理并在响应中返回不受支持的属性。

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 may be in any order, unless specified otherwise.

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

Each attribute specification includes the attribute's name followed by the name of its attribute syntax(es) in parenthesizes. In addition, each 'integer' attribute is followed by the allowed range in parentheses, (m:n), for values of that attribute. Each 'text' or 'name' attribute is 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 attributes syntaxes in section 4.1.

每个属性规范都包括属性名称,后跟括号中的属性语法名称。此外,每个“integer”属性后面都有该属性值的允许范围(m:n)。每个“text”或“name”属性后面都跟有该属性值的最大大小(以八位字节为单位,括号中为大小)。有关属性语法表示法的更多详细信息,请参阅第4.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 that support supplying the document data within an operation request are Print-Job and Send-Document. There are no operation responses that include document data.

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

Note: Some operations are REQUIRED for IPP objects to support; the others are OPTIONAL (see section 5.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 Printer and Job 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 returns the 'server-error-operation-not-supported' status code (see section 13.1.5.2). An IPP object is non-conformant if it does not support a REQUIRED operation.

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

3.1.4 Character Set and Natural Language Operation Attributes
3.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 4.1). The following sections describe two special Operation Attributes called "attributes-charset" and "attributes-natural-language". These attributes are always part of the Operation Attributes group. For most attribute groups, the order of the attributes within the group is not important. However, for these two attributes within the Operation Attributes group, the order is critical. 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. In other words, these attributes MUST be supplied in every IPP request and response, they MUST come first in the group, and MUST come in the specified order. For job creation operations, the IPP Printer implementation saves these two attributes with the new Job object as Job Description attributes. For the sake of brevity in this document, these operation attribute descriptions are not repeated with every operation request and response, but have a reference back to this section instead.

某些作业和打印机属性的值是文本字符串和名称,用于人类理解而不是机器理解(请参阅第4.1节中的“文本”和“名称”属性语法描述)。以下部分描述了两种特殊的操作属性,称为“属性字符集”和“属性自然语言”。这些属性始终是“操作属性”组的一部分。对于大多数属性组,组中属性的顺序并不重要。但是,对于“操作属性”组中的这两个属性,顺序至关重要。“attributes charset”属性必须是组中的第一个属性,“attributes natural language”属性必须是组中的第二个属性。换句话说,这些属性必须在每个IPP请求和响应中提供,它们必须在组中位于第一位,并且必须按照指定的顺序出现。对于作业创建操作,IPP打印机实现将这两个属性与新作业对象一起保存为作业描述属性。为了在本文档中简洁起见,这些操作属性描述不会在每个操作请求和响应中重复,而是引用本节。

3.1.4.1 Request Operation Attributes
3.1.4.1 请求操作属性

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

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

"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 4.1.1 and 4.1.2 for the specification of the 'text' and 'name' attribute syntaxes.

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

All clients and IPP objects MUST support the 'utf-8' charset [RFC2279] and MAY support additional charsets provided that they are registered with IANA [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 object MUST indicate the charset(s) supported as the values of the "charset-supported" Printer attribute (see Section 4.4.15), so that the client can query to determine which charset(s) are supported.

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

Note to client implementers: Since IPP objects are only required to support the 'utf-8' charset, in order to maximize interoperability with multiple IPP object implementations, a client may want to 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 or ISO-8859-1. Then the client will have to filter out (or charset convert) 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 may want to use that charset in order to avoid charset conversion or data loss.

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

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

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

"attributes-natural-language" (naturalLanguage): This operation attribute identifies the natural language 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.

“attributes natural language”(自然语言):此操作属性标识客户端在此请求中提供的任何“文本”和“名称”属性所使用的自然语言。此属性还标识打印机对象应用于打印机对象在响应此请求时返回的所有“文本”和“名称”属性以及状态消息的自然语言。

There are no REQUIRED natural languages required for the Printer object to support. However, the Printer object's "generated-natural-language-supported" attribute identifies the natural languages supported by the Printer object and any contained Job objects for all text strings generated by the IPP object. A client MAY query this attribute to determine which natural language(s) are 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 3.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 4.4.16).

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

For other 'text' and 'name' attributes supplied by the client, authentication system, operator, system 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 object'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 4.1.1.2 and 4.1.2.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.

对于请求中使用与“属性-自然语言”操作属性中提供的值不同的自然语言的任何“文本”或“名称”属性,客户端必须为提供的每个此类属性值使用自然语言覆盖机制(见第4.1.1.2节和第4.1.2.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 object's "generated-natural-language-supported" attribute. That attribute, "generated-natural-language-supported", only applies to generated messages,

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

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对象必须指示该自然语言。

Each value whose attribute syntax type is 'text' or 'name' (see sections 4.1.1 and 4.1.2) 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”的每个值(参见第4.1.1节和第4.1.2节)都有一个相关的自然语言。本文档未指定此关联在打印机或作业对象中的存储方式。当在请求或响应中对此类值进行编码时,自然语言是隐式或显式的:

- 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 4.1.1.1 textWithoutLanguage and 4.1.2.1 nameWithoutLanguage).

- 在隐式情况下,该值仅包含文本/名称值,并且该语言由请求或响应中的“attributes natural language”操作属性指定(请参见第4.1.1.1节textWithoutLanguage和第4.1.2.1节nameWithoutLanguage)。

- 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 4.1.1.2 textWithLanguage and 4.1.2.2 nameWithLanguage).

- 在显式情况下(也称为自然语言覆盖情况),该值同时包含语言和文本/名称值(请参见第4.1.1.2节textWithLanguage和第4.1.2.2节nameWithLanguage)。

For example, the "job-name" attribute MAY be supplied by the client in a create 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 object's "job-name" attribute. Whenever any client queries the Job object'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”操作属性或使用自然语言覆盖的任何属性中提供的自然语言的请求。

See the 'naturalLanguage' attribute syntax description in section 4.1.8 for the syntax and semantic interpretation of the values of this attribute and for example values.

有关该属性值和示例值的语法和语义解释,请参见第4.1.8节中的“naturalLanguage”属性语法说明。

Clients SHOULD NOT supply 'text' or 'name' attributes that use an illegal combination of natural language and charset. For example, suppose a Printer object 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 object 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 object handles this apparent incompatibility differently depending on the context in which it occurs:

客户端不应提供使用自然语言和字符集非法组合的“文本”或“名称”属性。例如,假设打印机对象支持字符集“utf-8”、“iso-8859-1”和“iso-8859-7”。还假设它支持自然语言“en”(英语)、“fr”(法语)和“el”(希腊语)。尽管Printer对象支持字符集“iso-8859-1”和自然语言“el”,但它可能不支持使用“iso-8859-1”字符集组合希腊文本字符串。打印机对象根据出现这种明显不兼容的上下文,以不同的方式处理这种不兼容:

- In a create 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 object or its correct operation. Therefore, the Printer object simply accepts the client supplied value, stores it with the Job object, 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 object responds (as described in section 3.1.4.2) using the Printer's configured natural language rather than the natural language requested by the client.

- 在创建请求中:如果客户端提供的文本或名称属性(例如,“作业名称”操作属性)使用了明显不兼容的组合,则客户端选择不会影响打印机对象或其正确操作。因此,打印机对象只接受客户机提供的值,将其与作业对象一起存储,并在客户机(或任何客户机)查询该属性时以相同的组合进行响应。-在查询类型操作中,如获取打印机属性:如果客户端请求明显不兼容的组合,打印机对象将使用打印机配置的自然语言而不是客户端请求的自然语言进行响应(如第3.1.4.2节所述)。

In either case, the Printer object 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.

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

3.1.4.2 Response Operation Attributes
3.1.4.2 响应操作属性

The Printer object MUST supply and the client MUST support the following REQUIRED operation attributes in every IPP/1.0 operation response:

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

"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

“attributes charset”(字符集):此操作属性标识打印机对象在此响应中返回的任何“text”和“name”属性所使用的字符集。此响应中的值必须与客户端在请求中提供的“attributes charset”操作属性的值相同。如果这是不可能的

(i.e., the charset requested is not supported), the request would have been rejected. See "attributes-charset" described in Section 3.1.4.1 above.

(即,不支持请求的字符集),请求将被拒绝。见上文第3.1.4.1节所述的“属性字符集”。

If the Printer object supports more than just the 'utf-8' charset, the Printer object MUST be able to code convert 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 MAY occur during the charset conversion depending on the charsets involved. For example, the Printer object may 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 '?', decimal code equivalent, or to the absence of a character, depending on implementation.

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

Note: Whether an implementation that supports more than one charset stores the data in the charset supplied by the client or code converts 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 NEED NOT return the same value as that supplied by the client in the request. The IPP object MAY return the natural language of the Job object or the Printer's configured natural language as identified by the Printer object'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 4.1.1.2 and 4.1.2.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.

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

3.1.5 Operation Targets
3.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 object'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 (uri)" operation attribute.

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

For Job operations, the operation is directed at either:

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

- The Job object itself using the Job object's URI. In this case, the client identifies the target object by supplying the correct URI in the "job-uri (uri)" operation attribute. - The Printer object that created the Job object using both the Printer objects URI and the Job object's 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 object's URI in the "printer-uri (uri)" operation attribute and the Job object's Job ID in the "job-id (integer(1:MAX))" operation attribute.

- 作业对象本身使用作业对象的URI。在这种情况下,客户端通过在“作业URI(URI)”操作属性中提供正确的URI来标识目标对象。-使用打印机对象URI和作业对象的作业ID创建作业对象的打印机对象。由于创建作业对象的打印机对象生成作业ID,因此必须能够将客户端提供的作业ID与正确的作业对象正确关联。客户端在“打印机URI(URI)”操作属性中提供打印机对象的URI,在“作业ID(整数(1:MAX))”操作属性中提供作业对象的作业ID。

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

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

The operation target attributes are REQUIRED operation attributes that MUST be included in every operation request. Like the charset and natural language attributes (see section 3.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 attribute group, however the specific ordering rules are:

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

- 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. - 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.

- 如果只有一个操作目标属性(即,只有“打印机uri”属性或只有“作业uri”属性),则该属性必须是操作属性组中的第三个属性。-在作业操作使用两个操作目标属性(即“打印机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 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: The IPP encoding and transport document [RFC2565] shows a mapping of IPP onto HTTP/1.1 and defines a new default port number for using IPP over HTTP/1.1.

注意:IPP编码和传输文档[RFC2565]显示了IPP到HTTP/1.1的映射,并定义了通过HTTP/1.1使用IPP的新默认端口号。

3.1.6 Operation Status Codes and Messages
3.1.6 操作状态代码和消息

Every operation response includes a REQUIRED "status-code" parameter and an OPTIONAL "status-message" operation attribute. The "status-code" provides information on the processing of a request. A "status-message" attribute provides a short textual description of the status of the operation. The status code is intended for use by automata, and the status message is intended for the human end user. If a response does include a "status-message" attribute, an IPP client NEED NOT examine or display the message, however it SHOULD do so in some implementation specific manner.

每个操作响应包括一个必需的“状态代码”参数和一个可选的“状态消息”操作属性。“状态代码”提供有关请求处理的信息。“状态消息”属性提供操作状态的简短文本描述。状态代码供自动机使用,状态消息供人类最终用户使用。如果响应确实包含“status message”属性,则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 4.1 on "Attribute Syntaxes") except that values can range only from 0x0000 to 0x7FFF. Section 13 describes the status codes, assigns the numeric values, and suggests a corresponding status message for each status code. The "status-message" attribute's syntax is "text(255)". A client implementation of IPP SHOULD convert status code values into any localized message that has semantic meaning to the end user.

“状态代码”值是具有语义意义的数值。“状态代码”语法类似于“type2枚举”(请参阅第4.1节“属性语法”),只是值的范围只能从0x0000到0x7FFF。第13节描述了状态代码,分配了数值,并为每个状态代码建议了相应的状态消息。“状态消息”属性的语法为“text(255)”。IPP的客户端实现应将状态代码值转换为对最终用户具有语义意义的任何本地化消息。

If the Printer object supports the "status-message" operation attribute, the Printer object MUST be able to generate this message in any of the natural languages identified by the Printer object's "generated-natural-language-supported" attribute (see the "attributes-natural-language" operation attribute specified in section 3.1.4.1). As described in section 3.1.4.1 for any returned ' text' attribute, if there is a choice for generating this message, the Printer object uses the natural language indicated by the value of the "attributes-natural-language" in the client request if supported, otherwise the Printer object uses the value in the Printer object's own "natural-language-configured" attribute. If the Printer object supports the "status-message" operation attribute, it SHOULD use the REQUIRED 'utf-8' charset to return a status message for the following error status codes (see section 13): '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.

如果打印机对象支持“状态消息”操作属性,则打印机对象必须能够以打印机对象的“支持生成的自然语言”属性标识的任何自然语言生成此消息(请参阅第3.1.4.1节中指定的“属性-自然语言”操作属性)。如第3.1.4.1节所述,对于任何返回的“文本”属性,如果可以选择生成此消息,打印机对象将使用客户端请求中“属性自然语言”值指示的自然语言(如果支持),否则打印机对象将使用打印机对象自身的值“自然语言配置”属性。如果打印机对象支持“状态消息”操作属性,则应使用所需的“utf-8”字符集为以下错误状态代码返回状态消息(请参阅第13节):“客户端错误错误错误请求”、“客户端错误字符集不受支持”、“服务器错误内部错误”、“服务器错误操作不受支持”和“服务器错误版本不受支持”。在这种情况下,它必须在错误响应中将“attributes charset”操作属性的值设置为“utf-8”。

3.1.7 Versions
3.1.7 版本

Each operation request and response carries with it a "version-number" parameter. Each value of the "version-number" 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. If the IPP object does not support that version, the object responds with a status code of 'server-error-version-not-supported' along with the closest version number that is supported (see section 13.1.5.4).

每个操作请求和响应都带有一个“版本号”参数。“版本号”的每个值均采用“X.Y”的形式,其中X为主要版本号,Y为次要版本号。通过在客户机请求中包含版本号,它允许客户机确定其感兴趣使用哪个版本的IPP。如果IPP对象不支持该版本,该对象将以“服务器错误版本不受支持”的状态代码以及支持的最接近的版本号进行响应(见第13.1.5.4节)。

There is no version negotiation per se. However, if after receiving a 'server-error-version-not-supported' status code from an IPP object, there is nothing that prevents a client from trying again with a different version number. In order to conform to IPP/1.0, an implementation MUST support at least version '1.0'.

没有版本协商本身。但是,如果从IPP对象接收到“服务器错误版本不受支持”状态代码后,没有任何东西可以阻止客户端使用不同的版本号重试。为了符合IPP/1.0,实现必须至少支持版本“1.0”。

There is only one notion of "version number" that covers both IPP Model and IPP Protocol changes. Thus the version number MUST change when introducing a new version of the Model and Semantics document [RFC2566] or a new version of the Encoding and Transport document [RFC2565].

“版本号”只有一个概念涵盖IPP型号和IPP协议变更。因此,在引入新版本的模型和语义文档[RFC2566]或新版本的编码和传输文档[RFC2565]时,版本号必须更改。

Changes to the major version number indicate structural or syntactic changes that make it impossible for older version of IPP clients and Printer objects to correctly parse and process the new or changed attributes, operations and responses. If the major version number

主版本号的更改表示结构或语法的更改,使旧版本的IPP客户端和打印机对象无法正确解析和处理新的或更改的属性、操作和响应。如果主版本号

changes, the minor version numbers is set to zero. As an example, adding the "ipp-attribute-fidelity" attribute (if it had not been part of version '1.0'), would have required a change to the major version number. Items that might affect the changing of the major version number include any changes to the Model and Semantics document [RFC2566] or the Encoding and Transport [RFC2565] itself, such as:

更改后,次要版本号设置为零。例如,添加“ipp属性保真度”属性(如果它不是版本“1.0”的一部分)需要更改主要版本号。可能影响主要版本号更改的项目包括对模型和语义文档[RFC2566]或编码和传输[RFC2565]本身的任何更改,例如:

- reordering of ordered attributes or attribute sets - changes to the syntax of existing attributes - changing Operation or Job Template attributes from OPTIONAL to REQUIRED and vice versa - adding REQUIRED (for an IPP object to support) operation attributes - adding REQUIRED (for an IPP object to support) operation attribute groups - adding values to existing operation attributes - adding REQUIRED operations

- 有序属性或属性集的重新排序-更改现有属性的语法-将操作或作业模板属性从可选更改为必需,反之亦然-添加必需(对于要支持的IPP对象)操作属性-添加必需(对于要支持的IPP对象)操作属性组-向现有操作属性添加值-添加所需操作

Changes to the minor version number indicate the addition of new features, attributes and attribute values that may not be understood by all IPP objects, but which 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 [RFC2565] (except adding attribute syntaxes). Examples of such changes are:

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

- grouping all extensions not included in a previous version into a new version - adding new attribute values - adding new object attributes - adding OPTIONAL (for an IPP object to support) operation attributes (i.e., those attributes that an IPP object can ignore without confusing clients) - adding OPTIONAL (for an IPP object to support) operation attribute groups (i.e., those attributes that an IPP object can ignore without confusing clients) - adding new attribute syntaxes - adding OPTIONAL operations - changing Job Description attributes or Printer Description attributes from OPTIONAL to REQUIRED or vice versa.

- 将以前版本中未包含的所有扩展分组到新版本-添加新属性值-添加新对象属性-添加可选(对于要支持的IPP对象)操作属性(即IPP对象可以忽略而不会混淆客户端的那些属性)-添加可选(对于要支持的IPP对象)操作属性组(即IPP对象可以忽略而不会混淆客户端的属性)-添加新属性语法-添加可选操作-将作业描述属性或打印机描述属性从可选更改为必需,反之亦然。

The encoding of the "operation-id", the "version-number", the "status-code", and the "request-id" 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 "operation-id", the "version-number", and the "request-id"). In addition, any protocol elements (attributes, error

“操作id”、“版本号”、“状态代码”和“请求id”的编码不得更改为任何版本号(主要版本号或次要版本号)。此规则保证所有未来版本将向后兼容所有以前的版本(至少用于检查“操作id”、“版本号”和“请求id”)。此外,任何协议元素(属性、错误

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.

未从一个版本转到下一个版本的代码、标记等)将被弃用,因此它们永远无法在新的语义中重用。

Implementations that support a certain major version NEED NOT support ALL previous versions. As each new major version is defined (through the release of a new specification), that major version will specify which previous major versions MUST be supported in compliant implementations.

支持某个主要版本的实现不需要支持所有以前的版本。随着每个新的主要版本的定义(通过发布新规范),该主要版本将指定在兼容实现中必须支持哪些以前的主要版本。

3.1.8 Job Creation Operations
3.1.8 创造就业机会行动

In order to "submit a print job" and create a new Job object, a client issues a create request. A create request is any one of following three operation requests:

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

- The Print-Job Request: A client that wants to submit a print job with only a single document uses the Print-Job operation. The operation allows for the client to "push" the document data to the Printer object by including the document data in the request itself.

- 打印作业请求:希望提交仅包含单个文档的打印作业的客户端使用打印作业操作。该操作允许客户端通过将文档数据包含在请求本身中,将文档数据“推送”到打印机对象。

- The Print-URI Request: A client that wants to submit a print job with only a single document (where the Printer object "pulls" the document data instead of the client "pushing" the data to the Printer object) 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).

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

- The Create-Job Request: A client that wants to submit a print job with multiple 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 create Job object). 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 object includes a "last-document" operation attribute set to 'true' indicating that this is the last request.

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

Throughout this model specification, the term "create 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, for performance reasons, the client SHOULD use the Print-Job operation

仅后跟一个发送文档操作的创建作业操作在语义上等同于打印作业操作,但是,出于性能原因,客户端应使用打印作业操作

for all single document jobs. Also, Print-Job is a REQUIRED operation (all implementations MUST support it) whereas Create-Job is an OPTIONAL operation, hence some implementations might not support it.

对于所有单文档作业。此外,打印作业是必需的操作(所有实现都必须支持它),而创建作业是可选操作,因此某些实现可能不支持它。

Job submission time is the point in time when a client issues a create request. The initial state of every Job object is the ' pending' or 'pending-held' state. Later, the Printer object begins processing the print job. At this point in time, the Job object's state moves to 'processing'. This is known as job processing time. There are validation checks that must be done at job submission time and others that must be performed at job processing time.

作业提交时间是客户端发出创建请求的时间点。每个作业对象的初始状态都是“挂起”或“挂起挂起”状态。稍后,打印机对象开始处理打印作业。此时,作业对象的状态移动到“正在处理”。这称为作业处理时间。有些验证检查必须在作业提交时完成,有些验证检查必须在作业处理时执行。

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 2. Validate the syntax of and support for the scheme of any client supplied URI

1. 处理客户端提供的属性并接受或拒绝请求2。验证任何客户端提供的URI的语法和对方案的支持

At job submission time the Printer object MUST validate whether or not the supplied attributes, attribute syntaxes, and values are supported by matching them with the Printer object's corresponding "xxx-supported" attributes. See section 3.2.1.2 for details. [ipp-iig] presents suggested steps for an IPP object to either accept or reject any request and additional steps for processing create requests.

在作业提交时,打印机对象必须通过将所提供的属性、属性语法和值与打印机对象相应的“支持xxx”属性进行匹配来验证它们是否受支持。详见第3.2.1.2节。[ipp iig]提供ipp对象接受或拒绝任何请求的建议步骤,以及处理创建请求的其他步骤。

At job submission time the Printer object NEED NOT perform the validation checks reserved for job processing time such as:

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

1. Validating the document data 2. Validating the actual contents of any client supplied URI (resolve the reference and follow the link to the document data)

1. 正在验证文档数据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 object might discover any of the following conditions that were not detectable at job submission time:

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

- runtime errors in the document data, - nested document data that is in an unsupported format,

- 文档数据中存在运行时错误,-格式不受支持的嵌套文档数据,

- the URI reference is no longer valid (i.e., the server hosting the document might be down), or - any other job processing error

- URI引用不再有效(即,承载文档的服务器可能已关闭),或者-任何其他作业处理错误

At job processing time, since the Printer object has already responded with a successful status code in the response to the create request, if the Printer object detects an error, the Printer object 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-state", "job-state-reasons", 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 outside the scope of IPP/1.0.

注意:事件的异步通知不在IPP/1.0的范围内。

3.2 Printer Operations
3.2 打印机操作

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

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

3.2.1 Print-Job Operation
3.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 Section 15 for the suggested steps for processing create operations and their Operation and Job Template attributes.

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

3.2.1.1 Print-Job Request
3.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 3.1.4.1. The Printer object MUST copy these values to the corresponding Job Description attributes described in sections 4.3.23 and 4.3.24.

自然语言和字符集:“属性字符集”和“属性自然语言”属性如第3.1.4.1节所述。打印机对象必须将这些值复制到第4.3.23节和第4.3.24节中描述的相应职务描述属性。

Target: The "printer-uri" (uri) operation attribute which is the target for this operation as described in section 3.1.5.

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

Requesting User Name: The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the client as described in section 8.3.

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

"job-name" (name(MAX)): The client OPTIONALLY supplies this attribute. The Printer object 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 object. 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 object (see Section 4.3.5).

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

"ipp-attribute-fidelity" (boolean): The client OPTIONALLY supplies this attribute. The Printer object MUST support this attribute. The value 'true' indicates that total fidelity to client supplied Job Template attributes and values is required, else the Printer object MUST reject the Print-Job request. The value 'false' indicates that a reasonable attempt to print the Job object is acceptable and the Printer object MUST accept the Print-job request. If not supplied, the Printer object assumes the value is 'false'. All Printer objects MUST support both types of job processing. See section 15 for a full description of "ipp-attribute-fidelity" and its relationship to other attributes, especially the Printer object's "pdl-override-supported" attribute.

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

"document-name" (name(MAX)): The client OPTIONALLY supplies this attribute. The Printer object 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: 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. IPP/1.0 does not support the concept of document level attributes.

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

"document-format" (mimeMediaType) : The client OPTIONALLY supplies this attribute. The Printer object MUST support this attribute. The value of this attribute identifies the format of the supplied document data. If the client does not supply this attribute, the Printer object assumes that the document data is in the format defined by the Printer object's "document-format-default" attribute. If the client supplies this attribute, but the value is not supported by the Printer object, i.e., the value is not one of the values of the Printer object's "document-format-supported" attribute, the Printer object MUST reject the request and return the ' client-error-document-format-not-supported' status code.

“文档格式”(mimeMediaType):客户机可以选择提供此属性。打印机对象必须支持此属性。此属性的值标识所提供文档数据的格式。如果客户端不提供此属性,打印机对象将假定文档数据采用打印机对象的“文档格式默认值”属性定义的格式。如果客户端提供此属性,但打印机对象不支持该值,即该值不是打印机对象的“支持的文档格式”属性的值之一,则打印机对象必须拒绝请求并返回“客户端错误文档格式不支持”状态码。

"document-natural-language" (naturalLanguage): The client OPTIONALLY supplies this attribute. The Printer object OPTIONALLY supports this attribute. This attribute specifies the natural language of the document for those document-formats that require a specification of the natural language in order to image the document unambiguously. There are no particular values required for the Printer object to support.

“document natural language”(自然语言):客户机可以选择提供此属性。打印机对象可选地支持此属性。该属性为需要自然语言规范的文档格式指定文档的自然语言,以便清晰地显示文档。打印机对象不需要支持特定的值。

"compression" (type3 keyword) The client OPTIONALLY supplies this attribute. The Printer object OPTIONALLY supports this attribute and the "compression-supported" attribute (see section 4.4.29). The client supplied "compression" operation attribute identifies the compression algorithm used on the document data. If the client omits this attribute, the Printer object MUST assume that the data is not compressed. If the client supplies the attribute and the Printer object supports the attribute, the Printer object uses the corresponding decompression algorithm on the document data. If the client supplies this attribute, but the value is not supported by the Printer object, i.e., the value is not one of the values of the Printer object's "compression-supported" attribute, the Printer object MUST copy the attribute and its value to the Unsupported Attributes response group, reject the request, and return the 'client-error-attributes-or-values-not-supported' status code.

“compression”(type3关键字)客户端可以选择提供此属性。打印机对象可选地支持此属性和“支持压缩”属性(参见第4.4.29节)。客户机提供的“压缩”操作属性标识文档数据上使用的压缩算法。如果客户端忽略此属性,则打印机对象必须假定数据未压缩。如果客户端提供该属性,并且打印机对象支持该属性,则打印机对象对文档数据使用相应的解压缩算法。如果客户端提供此属性,但打印机对象不支持该值,即该值不是打印机对象的“支持压缩”属性的值之一,则打印机对象必须将该属性及其值复制到不支持的属性响应组,拒绝请求,并返回“不支持的客户端错误属性或值”状态代码。

"job-k-octets" (integer(0:MAX)) The client OPTIONALLY supplies this attribute. The Printer object OPTIONALLY supports this attribute and the "job-k-octets-supported" attribute (see section 4.4.30). The client supplied "job-k-octets" operation attribute identifies the total size of the document(s) in K octets being submitted (see section 4.3.17 for the complete semantics). If the client supplies the

“job-k-octets”(整数(0:MAX))客户端可以选择提供此属性。打印机对象可选地支持此属性和“支持的作业k八位字节”属性(见第4.4.30节)。客户机提供的“job-k-octets”操作属性以提交的k个八位字节为单位标识文档的总大小(完整语义见第4.3.17节)。如果客户提供

attribute and the Printer object supports the attribute, the value of the attribute is used to populate the Job object's "job-k-octets" Job Description attribute.

属性,并且打印机对象支持该属性,则该属性的值用于填充作业对象的“Job-k-octets”作业描述属性。

Note: For this attribute and the following two attributes ("job-impressions", and "job-media-sheets"), if the client supplies the attribute, but the Printer object does not support the attribute, the Printer object 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 object's "xxx-supported" attribute, the Printer object MUST use the value to populate the Job object'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 object's "xxx-supported" attribute, the Printer object MUST copy the attribute and its value to the Unsupported Attributes response 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 object MAY choose to populate the corresponding Job object attribute depending on whether the Printer object supports the attribute and is able to calculate or discern the correct value.

注意:对于此属性和以下两个属性(“作业印象”和“作业介质表”),如果客户端提供该属性,但打印机对象不支持该属性,则打印机对象将忽略客户端提供的值。如果客户端提供该属性且打印机支持该属性,并且该值在相应打印机对象的“支持的xxx”属性的范围内,则打印机对象必须使用该值填充作业对象的“xxx”属性。如果客户端提供该属性且打印机支持该属性,但该值超出了相应打印机对象的“支持的xxx”属性的范围,则打印机对象必须将该属性及其值复制到不支持的属性响应组,拒绝请求,并返回“不支持的客户端错误属性或值”状态代码。如果客户端不提供该属性,打印机对象可以选择填充相应的作业对象属性,具体取决于打印机对象是否支持该属性以及是否能够计算或识别正确的值。

"job-impressions" (integer(0:MAX)) The client OPTIONALLY supplies this attribute. The Printer object OPTIONALLY supports this attribute and the "job-impressions-supported" attribute (see section 4.4.31). The client supplied "job-impressions" operation attribute identifies the total size in number of impressions of the document(s) being submitted (see section 4.3.18 for the complete semantics).

“作业印象”(整数(0:MAX))客户端可以选择提供此属性。打印机对象可选地支持此属性和“支持的工作印象”属性(参见第4.4.31节)。客户提供的“工作印象”操作属性标识提交文件的总印象数量(完整语义见第4.3.18节)。

See note under "job-k-octets".

见“job-k-octets”下的注释。

"job-media-sheets" (integer(0:MAX)) The client OPTIONALLY supplies this attribute. The Printer object OPTIONALLY supports this attribute and the "job-media-sheets-supported" attribute (see section 4.4.32). The client supplied "job-media-sheets" operation attribute identifies the total number of media sheets to be produced for this job (see section 4.3.19 for the complete semantics).

“作业介质表”(整数(0:MAX))客户端可以选择提供此属性。打印机对象可选地支持此属性和“支持的作业介质表”属性(请参阅第4.4.32节)。客户机提供的“作业介质表”操作属性标识要为此作业生成的介质表总数(完整语义见第4.3.19节)。

See note under "job-k-octets".

见“job-k-octets”下的注释。

Group 2: Job Template Attributes

组2:作业模板属性

The client OPTIONALLY supplies a set of Job Template attributes as defined in section 4.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 object MUST be able to accept an empty group.

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

Group 3: Document Content

第3组:文件内容

The client MUST supply the document data to be processed.

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

Note: In addition to the MANDATORY parameters required for every operation request, the simplest Print-Job Request consists of just the "attributes-charset" and "attributes-natural-language" operation attributes; the "printer-uri" target operation attribute; the Document Content and nothing else. In this simple case, the Printer object:

注意:除了每个操作请求所需的强制参数外,最简单的打印作业请求仅包括“属性字符集”和“属性自然语言”操作属性;“打印机uri”目标操作属性;文档内容,而不是其他内容。在这种简单的情况下,打印机对象:

- creates a new Job object (the Job object contains a single document), - stores a generated Job name in the "job-name" attribute in the natural language and charset requested (see Section 3.1.4.1) (if those are supported, otherwise using the Printer object's default natural language and charset), and - at job processing time, uses its corresponding default value attributes for the supported Job Template attributes that were not supplied by the client as IPP attribute or embedded instructions in the document data.

- 创建新作业对象(作业对象包含单个文档),-在“作业名称”属性中以请求的自然语言和字符集存储生成的作业名称(请参阅第3.1.4.1节)(如果支持这些,否则使用打印机对象的默认自然语言和字符集),以及-在作业处理时,将其对应的默认值属性用于受支持的作业模板属性,这些属性不是由客户端作为IPP属性或文档数据中的嵌入指令提供的。

3.2.1.2 Print-Job Response
3.2.1.2 打印作业响应

The Printer object MUST return to the client the following sets of attributes as part of the Print-Job Response:

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

Group 1: Operation Attributes

第1组:操作属性

Status Message: In addition to the REQUIRED status code returned in every response, the response OPTIONALLY includes a "status-message" (text) operation attribute as described in sections 14 and 3.1.6. If the client supplies unsupported or conflicting Job Template attributes or values, the Printer object MUST reject or accept the Print-Job request depending on the whether the client supplied a 'true' or 'false' value for the "ipp-attribute-fidelity" operation attribute. See the Implementer's Guide [ipp-iig] for a complete description of the suggested steps for processing a create request.

状态消息:除了在每个响应中返回所需的状态代码外,响应还可以选择包括“状态消息”(文本)操作属性,如第14节和第3.1.6节所述。如果客户端提供不受支持或冲突的作业模板属性或值,则打印机对象必须拒绝或接受打印作业请求,具体取决于客户端为“ipp属性保真度”操作属性提供的值是“真”还是“假”。有关处理创建请求的建议步骤的完整说明,请参阅实施者指南[ipp iig]。

Natural Language and Character Set: The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2.

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

Group 2: Unsupported Attributes

第2组:不支持的属性

This is a set of Operation and Job Template attributes supplied by the client (in the request) that are not supported by the Printer object or that conflict with one another (see the Implementer's Guide [ipp-iig]). If the Printer object is not returning any Unsupported Attributes in the response, the Printer object SHOULD omit Group 2 rather than sending an empty group. However, a client MUST be able to accept an empty group.

这是一组由客户机(在请求中)提供的操作和作业模板属性,打印机对象不支持这些属性,或者它们之间存在冲突(请参阅实施者指南[ipp iig])。如果打印机对象在响应中未返回任何不受支持的属性,则打印机对象应忽略组2,而不是发送空组。但是,客户端必须能够接受空组。

Unsupported attributes fall into three categories:

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

1. The Printer object does not support the supplied attribute (no matter what the attribute syntax or value). 2. The Printer object does support the attribute, but does not support some or all of the particular attribute syntaxes or values supplied by the client (i.e., the Printer object does not have those attribute syntaxes or values in its corresponding "xxx-supported" attribute). 3. The Printer object 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.

1. 打印机对象不支持提供的属性(无论属性语法或值如何)。2.打印机对象不支持该属性,但不支持客户端提供的某些或所有特定属性语法或值(即,打印机对象在其相应的“支持xxx”属性中没有这些属性语法或值)。3.打印机对象确实支持提供的属性和值,但特定值彼此冲突,因为它们违反了约束,例如无法装订透明胶片。

In the case of an unsupported attribute name, the Printer object returns the client-supplied attribute with a substituted "out-of-band" value of 'unsupported' indicating no support for the attribute itself (see the beginning of section 4.1).

对于不支持的属性名称,Printer对象返回客户机提供的属性,其中替换的“带外”值为“unsupported”,表示不支持该属性本身(请参阅第4.1节开头)。

In the case of a supported attribute with one or more unsupported attribute syntaxes or values, the Printer object 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 object supports the attribute but only supports a subset of the client-supplied attribute syntaxes or values, the Printer object MUST return only those attribute syntaxes or values that are unsupported.

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

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 object 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 The Implementer's Guide [ipp-iig] for an example.

在同一作业中),打印机对象必须返回它为解决冲突而忽略或替换的所有值,但不能返回它仍在使用的任何值。解决冲突的具体方式取决于实现。有关示例,请参见实施者指南[ipp iig]。

In these three cases, the value of the "ipp-attribute-fidelity" supplied by the client does not affect what the Printer object returns. The value of "ipp-attribute-fidelity" only affects whether the Print-Job operation is accepted or rejected. If the job is accepted, the client may query the job using the Get-Job-Attributes operation requesting the unsupported attributes that were returned in the create response to see which attributes were ignored (not stored on the Job object) and which attributes were stored with other (substituted) values.

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

Group 3: Job Object Attributes

组3:作业对象属性

"job-uri" (uri): The Printer object MUST return the Job object's URI by returning the contents of the REQUIRED "job-uri" Job object attribute. The client uses the Job object's URI when directing operations at the Job object. The Printer object always uses its configured security policy when creating the new URI. However, if the Printer object supports more than one URI, the Printer object also uses information about which URI was used in the Print-Job Request to generated the new URI so that the new URI references the correct access channel. In other words, if the Print-Job Request comes in over a secure channel, the Printer object MUST generate a Job URI that uses the secure channel as well.

“作业uri”(uri):打印机对象必须通过返回所需的“作业uri”作业对象属性的内容来返回作业对象的uri。客户端在将操作定向到作业对象时使用作业对象的URI。打印机对象在创建新URI时始终使用其配置的安全策略。但是,如果打印机对象支持多个URI,则打印机对象还将使用有关打印作业请求中使用了哪个URI的信息来生成新URI,以便新URI引用正确的访问通道。换句话说,如果打印作业请求通过安全通道传入,则打印机对象必须生成也使用安全通道的作业URI。

"job-id" (integer(1:MAX)): The Printer object MUST return the Job object's Job ID by returning the REQUIRED "job-id" Job object 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 object.

“作业id”(整数(1:MAX)):打印机对象必须通过返回所需的“作业id”作业对象属性来返回作业对象的作业id。在打印机对象上指导作业操作时,客户端将此“作业id”属性与打印作业请求中使用的“打印机uri”属性结合使用。

"job-state": The Printer object MUST return the Job object's REQUIRED "job-state" attribute. The value of this attribute (along with the value of the next attribute "job-state-reasons") is taken from a "snapshot" of the new Job object at some meaningful point in time (implementation defined) between when the Printer object receives the Print-Job Request and when the Printer object returns the response.

“作业状态”:打印机对象必须返回作业对象所需的“作业状态”属性。此属性的值(以及下一个属性“作业状态原因”的值)取自打印机对象收到打印作业请求和打印机对象返回响应之间某个有意义的时间点(实现定义)的新作业对象的“快照”。

"job-state-reasons": The Printer object OPTIONALLY returns the Job object's OPTIONAL "job-state-reasons" attribute. If the Printer object 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-reasons" attribute is not supported and will not be returned in a subsequent Job object query.

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

"job-state-message": The Printer object OPTIONALLY returns the Job object's OPTIONAL "job-state-message" attribute. If the Printer object 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 object query.

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

"number-of-intervening-jobs": The Printer object OPTIONALLY returns the Job object's OPTIONAL "number-of-intervening-jobs" attribute. If the Printer object 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 object query.

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

Note: Since any printer state information which 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 specific printer status attributes.

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

Note: In addition to the MANDATORY parameters required for every operation response, the simplest response consists of the just the "attributes-charset" and "attributes-natural-language" operation attributes and the "job-uri", "job-id", and "job-state" Job Object Attributes. In this simplest case, the status code is "successful-ok" and there is no "status-message" operation attribute.

注意:除了每个操作响应所需的强制参数外,最简单的响应仅包括“attributes charset”和“attributes natural language”操作属性以及“作业uri”、“作业id”和“作业状态”作业对象属性。在这种最简单的情况下,状态代码为“成功确定”,并且没有“状态消息”操作属性。

3.2.2 Print-URI Operation
3.2.2 打印URI操作

This OPTIONAL operation is identical to the Print-Job operation (section 3.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 object's "referenced-uri-scheme-supported" attribute, the Printer

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

object MUST reject the request and return the 'client-error-uri-scheme-not-supported' status code. See The Implementer's Guide [ipp-iig] for suggested additional checks. The Printer NEED NOT follow the reference and validate the contents of the reference.

对象必须拒绝请求并返回“客户端错误uri方案不受支持”状态代码。有关建议的附加检查,请参阅实施者指南[ipp iig]。打印机无需遵循引用并验证引用的内容。

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

如果打印机对象支持此操作,则它必须支持“支持的引用uri方案”打印机属性(请参阅第4.4.24节)。

It is up to the IPP object to interpret the URI and subsequently "pull" the document from the source referenced by the URI string.

由IPP对象来解释URI,然后从URI字符串引用的源“拉”出文档。

3.2.3 Validate-Job Operation
3.2.3 验证作业操作

This REQUIRED operation is similar to the Print-Job operation (section 3.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 object). This operation is used only to verify capabilities of a printer object 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 Print-Job operation (with the document data) would be accepted. The Validate-Job operation also performs the same security negotiation as the Print-Job operation (see section 8), so that a client can check that the client and Printer object security requirements can be met before performing a Print-Job operation.

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

Note: 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 object returns the same status codes, Operation Attributes (Group 1) and Unsupported Attributes (Group 2) as the Print-Job operation. However, no Job Object Attributes (Group 3) are returned, since no Job object is created.

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

3.2.4 Create-Job Operation
3.2.4 创建作业操作

This OPTIONAL operation is similar to the Print-Job operation (section 3.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

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

client OPTIONALLY supplies the "document-name", "document-format", and "document-natural-language" attributes for each document in the multi-document Job object.

客户端可选地为多文档作业对象中的每个文档提供“文档名称”、“文档格式”和“文档自然语言”属性。

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

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

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

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

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

This REQUIRED operation allows a client to request the values of the attributes of a Printer object. 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 object returns a corresponding attribute set with the appropriate attribute values filled in.

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

For Printer objects, the possible names of attribute groups are:

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

- 'job-template': all of the Job Template attributes that apply to a Printer object (the last two columns of the table in Section 4.2). - 'printer-description': the attributes specified in Section 4.4. - 'all': the special group 'all' that includes all supported attributes.

- “作业模板”:应用于打印机对象的所有作业模板属性(第4.2节表格的最后两列)。-'打印机说明“:第4.4节中指定的属性。-”all”:包含所有受支持属性的特殊组“all”。

Since a client MAY request specific attributes or named groups, there is a potential that there is 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 object NEED NOT return 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.

由于客户端可能会请求特定的属性或命名组,因此可能存在一些重叠。例如,如果客户端请求“打印机名称”和“全部”,则客户端实际上会请求“打印机名称”属性两次:一次是显式命名,一次是包含在“全部”组中。在这种情况下,打印机对象不需要在响应中只返回每个属性一次,即使它被多次请求。客户端不应以多种方式请求同一属性。

It is NOT REQUIRED that a Printer object support all attributes belonging to a group (since some attributes are OPTIONAL). However, it is REQUIRED that each Printer object support all group names.

打印机对象不需要支持属于组的所有属性(因为某些属性是可选的)。但是,要求每个打印机对象支持所有组名。

3.2.5.1 Get-Printer-Attributes Request
3.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: attributes-charset" and "attributes-natural-language" butes as described in section 3.1.4.1.

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

Target: The "printer-uri" (uri) operation attribute which is the target for this operation as described in section 3.1.5.

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

Requesting User Name: The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the client as described in section 8.3.

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

"requested-attributes" (1setOf keyword) : The client OPTIONALLY supplies a set of attribute names and/or attribute group names in whose values the requester is interested. The Printer object 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'.

“请求的属性”(1setOf关键字):客户机可以选择提供一组属性名和/或属性组名,请求者对这些属性名和/或属性组名的值感兴趣。打印机对象必须支持此属性。如果客户端忽略此属性,则打印机必须响应,就像此属性已提供值“all”一样。

"document-format" (mimeMediaType) : The client OPTIONALLY supplies this attribute. The Printer object MUST support this attribute. This attribute is useful for a Printer object to determine the set of supported attribute values that relate to the requested document format. The Printer object MUST return the attributes and values that it uses to validate a job on a create or Validate-Job operation in which this document format is supplied. The Printer object SHOULD return only (1) those attributes 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 object to eliminate the attributes and values that are not supported for a specific document format. For example, a Printer object might have multiple interpreters to support both ' application/postscript' (for PostScript) and 'text/plain' (for text) documents. However, for only one of those interpreters might the Printer object be able to support "number-up" with values of '1', '2', and '4'. For the other interpreter it might be able to only support "number-up" with a value of '1'. Thus a

“文档格式”(mimeMediaType):客户机可以选择提供此属性。打印机对象必须支持此属性。此属性对于打印机对象确定与请求的文档格式相关的受支持属性值集非常有用。打印机对象必须返回用于在提供此文档格式的创建或验证作业操作中验证作业的属性和值。打印机对象应仅返回(1)指定格式支持的属性和(2)指定文档格式支持的属性值。通过指定文档格式,客户端可以使打印机对象消除特定文档格式不支持的属性和值。例如,打印机对象可能有多个解释器来支持“应用程序/postscript”(用于postscript)和“文本/普通”(用于文本)文档。但是,对于这些解释器中的一个,打印机对象可能只能支持值为“1”、“2”和“4”的“number up”。对于另一个解释器,它可能只能支持值为“1”的“number up”。因此

client can use the Get-Printer-Attributes operation to obtain the attributes and values that will be used to accept/reject a create job operation.

客户端可以使用“获取打印机属性”操作来获取将用于接受/拒绝创建作业操作的属性和值。

If the Printer object does not distinguish between different sets of supported values for each different document format when validating jobs in the create and Validate-Job operations, it MUST NOT distinguish between different document formats in the Get-Printer-Attributes operation. If the Printer object 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 object attributes:

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

- Printer attributes that are Job Template attributes ("xxx-default" "xxx-supported", and "xxx-ready" in the Table in Section 4.2), - "pdl-override-supported", - "compression-supported", - "job-k-octets-supported", - "job-impressions-supported, - "job-media-sheets-supported" - "printer-driver-installer", - "color-supported", and - "reference-uri-schemes-supported"

- 作为作业模板属性的打印机属性(“第4.2节表中的xxx默认值”、“支持xxx”和“xxx就绪”)、-“支持pdl覆盖”、“支持压缩”、“支持Job-k-octets”、-“支持作业印象”、“支持作业介质表”—“打印机驱动程序安装程序”、-“支持颜色”和-“支持的引用uri方案”

The values of all other Printer object attributes (including "document-format-supported") remain invariant with respect to the client supplied document format (except for new Printer description attribute as registered according to section 6.2).

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

If the client omits this "document-format" operation attribute, the Printer object MUST respond as if the attribute had been supplied with the value of the Printer object's "document-format-default" attribute. It is recommended that the client always supply a value for "document-format", since the Printer object's "document-format-default" may 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 4.1.9.

如果客户端忽略此“文档格式”操作属性,则打印机对象必须响应,就像该属性已提供打印机对象的“文档格式默认”属性的值一样。建议客户端始终为“文档格式”提供一个值,因为打印机对象的“文档格式默认值”可能是“应用程序/八位字节流”,在这种情况下,返回的属性和值用于打印机可以自动感知的文档格式的并集。有关更多详细信息,请参阅第4.1.9节中对“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 object's "document-format-supported" attribute, the Printer object MUST reject the operation and return the 'client-error-document-format-not-supported' status code.

如果客户端为打印机不支持的“文档格式”操作属性提供值,即不在打印机对象的“支持的文档格式”属性的值中,则打印机对象必须拒绝该操作并返回“客户端错误文档格式不支持”状态码。

3.2.5.2 Get-Printer-Attributes Response
3.2.5.2 获取打印机属性响应

The Printer object returns the following sets of attributes as part of the Get-Printer-Attributes Response:

打印机对象返回以下属性集,作为获取打印机属性响应的一部分:

Group 1: Operation Attributes

第1组:操作属性

Status Message: In addition to the REQUIRED status code returned in every response, the response OPTIONALLY includes a "status-message" (text) operation attribute as described in section 3.1.6.

状态消息:除了在每个响应中返回所需的状态代码外,响应还可以选择包括“状态消息”(文本)操作属性,如第3.1.6节所述。

Natural Language and Character Set: The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2.

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

Group 2: Unsupported Attributes

第2组:不支持的属性

This is a set of Operation attributes supplied by the client (in the request) that are not supported by the Printer object or that conflict with one another (see sections 3.2.1.2 and 16). The response NEED NOT contain the "requested-attributes" operation attribute with any supplied values (attribute keywords) that were requested by the client but are not supported by the IPP object. If the Printer object is not returning any Unsupported Attributes in the response, the Printer object SHOULD omit Group 2 rather than sending an empty group. However, a client MUST be able to accept an empty group.

这是由客户端(在请求中)提供的一组操作属性,打印机对象不支持这些属性,或者这些属性相互冲突(请参见第3.2.1.2和16节)。响应不需要包含“请求的属性”操作属性以及客户端请求但IPP对象不支持的任何提供的值(属性关键字)。如果打印机对象在响应中未返回任何不受支持的属性,则打印机对象应忽略组2,而不是发送空组。但是,客户端必须能够接受空组。

Group 3: Printer Object Attributes

组3:打印机对象属性

This is the set of requested attributes and their current values. The Printer object ignores (does not respond with) any requested attribute which is not supported. The Printer object MAY respond with a subset of the supported attributes and values, depending on the security policy in force. However, the Printer object MUST respond with the 'unknown' value for any supported attribute (including all REQUIRED attributes) for which the Printer object does not know the value. Also the Printer object MUST respond with the 'no-value' for any supported attribute (including all REQUIRED attributes) for which the system administrator has not configured a value. See the description of the "out-of-band" values in the beginning of Section 4.1.

这是一组请求的属性及其当前值。打印机对象忽略(不响应)任何不受支持的请求属性。打印机对象可能会响应支持的属性和值的子集,具体取决于有效的安全策略。但是,对于打印机对象不知道其值的任何受支持属性(包括所有必需属性),打印机对象必须使用“未知”值进行响应。此外,对于系统管理员尚未为其配置值的任何受支持属性(包括所有必需属性),打印机对象必须以“无值”响应。参见第4.1节开头的“带外”值说明。

3.2.6 Get-Jobs Operation
3.2.6 找工作操作

This REQUIRED operation allows a client to retrieve the list of Job objects belonging to the target Printer object. The client may also supply a list of Job attribute names and/or attribute group names. A group of Job object attributes will be returned for each Job object 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 object (see the description of Job attribute group names in section 3.3.4).

此操作类似于“获取作业属性”操作,只是此“获取作业”操作可能会从多个对象返回属性(请参见第3.3.4节中的作业属性组名称说明)。

3.2.6.1 Get-Jobs Request
3.2.6.1 获取作业请求

The client submits the Get-Jobs request to a Printer object.

客户端向打印机对象提交获取作业请求。

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 3.1.4.1.

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

Target: The "printer-uri" (uri) operation attribute which is the target for this operation as described in section 3.1.5.

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

Requesting User Name: The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the client as described in section 8.3.

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

"limit" (integer(1:MAX)): The client OPTIONALLY supplies this attribute. The Printer object MUST support this attribute. It is an integer value that indicates a limit to the number of Job objects 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. There is no mechanism to allow for the next 'M' jobs after the first 'N' jobs. If the client does not supply this attribute, the Printer object responds with all applicable jobs.

“limit”(整数(1:MAX)):客户端可以选择提供此属性。打印机对象必须支持此属性。它是一个整数值,指示对返回的作业对象数量的限制。该限制是一个“无状态限制”,因为如果客户端提供的值为“N”,则在Get jobs响应中只返回前“N”个作业。没有机制允许在第一个“N”个工作之后再进行下一个“M”个工作。如果客户端不提供此属性,则打印机对象将使用所有适用的作业进行响应。

"requested-attributes" (1setOf keyword): The client OPTIONALLY supplies this attribute. The Printer object MUST support this attribute. It is a set of Job attribute names and/or attribute groups names in whose values

“请求的属性”(1setOf关键字):客户端可以选择提供此属性。打印机对象必须支持此属性。它是一组作业属性名称和/或属性组名称,其值为

the requester is interested. This set of attributes is returned for each Job object that is returned. The allowed attribute group names are the same as those defined in the Get-Job-Attributes operation in section 3.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'.

请求者感兴趣。为返回的每个作业对象返回这组属性。允许的属性组名称与第3.3.4节“获取作业属性”操作中定义的名称相同。如果客户端未提供此属性,则打印机必须作出响应,就像客户端已提供此属性一样,提供两个值:“作业uri”和“作业id”。

"which-jobs" (type2 keyword): The client OPTIONALLY supplies this attribute. The Printer object MUST support this attribute. It indicates which Job objects MUST be returned by the Printer object. The values for this attribute are:

“哪些作业”(type2关键字):客户机可以选择提供此属性。打印机对象必须支持此属性。它指示打印机对象必须返回哪些作业对象。此属性的值为:

'completed': This includes any Job object whose state is 'completed', 'canceled', or 'aborted'. 'not-completed': This includes any Job object whose state is ' pending', 'processing', 'processing-stopped', or 'pending-held'.

“已完成”:包括状态为“已完成”、“已取消”或“已中止”的任何作业对象未完成”:包括状态为“挂起”、“正在处理”、“处理已停止”或“挂起已保留”的任何作业对象。

A Printer object MUST support both values. However, if the mentation does not keep jobs in the 'completed', 'canceled', ' aborted' states, then it returns no jobs when the 'completed' value is supplied.

打印机对象必须同时支持这两个值。但是,如果心理状态没有将作业保持在“已完成”、“已取消”、“已中止”状态,则在提供“已完成”值时,它不会返回任何作业。

If a client supplies some other value, the Printer object MUST copy the attribute and the unsupported value to the Unsupported Attributes response 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 object MUST respond as if the client had supplied the attribute with a value of 'not-completed'.

如果客户端未提供此属性,则打印机对象的响应必须与客户端提供的属性值为“not completed”一样。

"my-jobs" (boolean): The client OPTIONALLY supplies this attribute. The Printer object MUST support this attribute. It indicates whether all jobs or just the jobs submitted by the requesting user of this request MUST be returned by the Printer object. If the client does not supply this attribute, the Printer object MUST respond as if the client had supplied the attribute with a value of ' false', i.e., all jobs. The means for authenticating the requesting user and matching the jobs is described in section 8.

“我的作业”(布尔值):客户机可以选择提供此属性。打印机对象必须支持此属性。它指示Printer对象是否必须返回所有作业或仅此请求的请求用户提交的作业。如果客户端未提供此属性,则打印机对象的响应必须与客户端提供的属性值为“false”(即所有作业)一样。第8节描述了用于认证请求用户和匹配作业的方法。

3.2.6.2 Get-Jobs Response
3.2.6.2 获得工作响应

The Printer object returns all of the Job objects that match the criteria as defined by the attribute values supplied by the client in the request. It is possible that no Job objects are returned since there may literally be no Job objects at the Printer, or there may be no Job objects that match the criteria supplied by the client. If the client requests any Job attributes at all, there is a set of Job Object Attributes returned for each Job object.

Printer对象返回与请求中客户端提供的属性值定义的条件相匹配的所有作业对象。可能不会返回任何作业对象,因为打印机上可能没有作业对象,或者可能没有与客户端提供的条件匹配的作业对象。如果客户端请求任何作业属性,则会为每个作业对象返回一组作业对象属性。

Group 1: Operation Attributes

第1组:操作属性

Status Message: In addition to the REQUIRED status code returned in every response, the response OPTIONALLY includes a "status-message" (text) operation attribute as described in sections 14 and 3.1.6.

状态消息:除了在每个响应中返回所需的状态代码外,响应还可以选择包括“状态消息”(文本)操作属性,如第14节和第3.1.6节所述。

Natural Language and Character Set: The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2.

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

Group 2: Unsupported Attributes

第2组:不支持的属性

This is a set of Operation attributes supplied by the client (in the request) that are not supported by the Printer object or that conflict with one another (see sections 3.2.1.2 and the Implementer's Guide [ipp-iig]). The response NEED NOT contain the "requested-attributes" operation attribute with any supplied values (attribute keywords) that were requested by the client but are not supported by the IPP object. If the Printer object is not returning any Unsupported Attributes in the response, the Printer object SHOULD omit Group 2 rather than sending an empty group. However, a client MUST be able to accept an empty group.

这是由客户端(在请求中)提供的一组操作属性,打印机对象不支持这些属性,或者这些属性相互冲突(请参见第3.2.1.2节和实施者指南[ipp iig])。响应不需要包含“请求的属性”操作属性以及客户端请求但IPP对象不支持的任何提供的值(属性关键字)。如果打印机对象在响应中未返回任何不受支持的属性,则打印机对象应忽略组2,而不是发送空组。但是,客户端必须能够接受空组。

Groups 3 to N: Job Object Attributes

组3至N:作业对象属性

The Printer object responds with one set of Job Object Attributes for each returned Job object. The Printer object ignores (does not respond with) any requested attribute or value which is not supported or which 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 8). However, the Printer object MUST respond with the ' unknown' value for any supported attribute (including all REQUIRED attributes) for which the Printer object does not know

打印机对象为每个返回的作业对象响应一组作业对象属性。打印机对象忽略(不响应)任何不受支持或受有效安全策略限制的请求属性或值,包括请求用户是否是提交作业的用户(作业发起用户)(请参阅第8节)。但是,对于打印机对象不知道的任何受支持属性(包括所有必需属性),打印机对象必须使用“未知”值进行响应

the value, unless it would violate the security policy. See the description of the "out-of-band" values in the beginning of Section 4.1.

值,除非它会违反安全策略。参见第4.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 object).

- 如果客户端请求所有“已完成”作业(处于“已完成”、“已中止”或“已取消”状态的作业),则返回最新到最旧的作业(相对于实际完成时间)-如果客户端请求所有“未完成”作业(处于“挂起”、“处理”、“挂起”和“处理已停止”状态的作业),然后,按照预期完成时间的相对时间顺序返回作业(基于为打印机对象配置的任何调度算法)。

3.3 Job Operations
3.3 作业操作

All Job operations are directed at Job objects. 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 MAY either be a single Job URI or a combination of a Printer URI with a Job ID. The IPP object implementation MUST support both forms of identification for every job.

所有作业操作都指向作业对象。客户机必须始终提供一些识别作业对象的方法,以便识别正确的操作目标。该作业标识可以是单个作业URI,也可以是打印机URI与作业ID的组合。IPP对象实现必须支持每个作业的两种标识形式。

3.3.1 Send-Document Operation
3.3.1 发送文档操作

This OPTIONAL operation allows a client to create a multi-document Job object that is initially "empty" (contains no documents). In the Create-Job response, the Printer object returns the Job object's URI (the "job-uri" attribute) and the Job object'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”属性)。对于客户端希望添加的每个新文档,客户端使用发送文档操作。每个发送文档请求都包含一个文档的整个文档数据流。

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 an IPP Printer defined minimum time interval after the receipt of the previous request for the job. If a Printer object supports multiple document jobs, the Printer object MUST support the "multiple-operation-time-out" attribute (see section 4.4.28). This attribute indicates the minimum number of seconds the Printer object will wait for the next send operation before taking some recovery action.

由于创建作业和随后的发送操作(发送文档或发送URI操作)可能会在特定作业的任意长时间内发生,因此客户端必须在收到上一个作业请求后的IPP打印机定义的最小时间间隔内发送另一个发送操作。如果打印机对象支持多个文档作业,则打印机对象必须支持“多次操作超时”属性(参见第4.4.28节)。此属性表示打印机对象在执行某些恢复操作之前等待下一次发送操作的最短秒数。

An IPP object MUST recover from an errant client that does not supply a send operation, sometime after the minimum time interval specified by the Printer object's "multiple-operation-time-out" attribute. Such recovery MAY include any of the following or other recovery actions:

IPP对象必须在打印机对象的“多次操作超时”属性指定的最短时间间隔后的某个时间段从未提供发送操作的错误客户端恢复。此类恢复可能包括以下任何一项或其他恢复行动:

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 4.3.8), if supported, and clean up all resources associated with the Job. In this case, if another send operation is finally received, the Printer responds with an "client-error-not-possible" or "client-error-not-found" depending on whether or not the Job object is still around when the send operation finally arrives. 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 object, and proceed to process it (i.e., move the Job's state to 'pending'). 3. Assume that the last send operation received was in fact the last document, close the Job, but move it to the 'pending-held' and add the 'submission-interrupted' value to the job's "job-state-reasons" attribute (see section 4.3.8), if supported. This action allows the user or an operator to determine whether to continue processing the Job by moving it back to the ' pending' state or to cancel the job.

1. 假设作业是无效作业,启动将作业状态更改为“中止”的过程,将“系统中止”值添加到作业的“作业状态原因”属性(参见第4.3.8节)(如果支持),并清理与作业相关的所有资源。在这种情况下,如果最终接收到另一个发送操作,打印机将根据发送操作最终到达时作业对象是否仍然存在,以“客户端错误不可能”或“客户端错误未找到”进行响应。2.假设接收到的最后一个发送操作实际上是最后一个文档(好像“last document”标志已设置为“true”),关闭作业对象,然后继续处理它(即,将作业的状态移动到“pending”)。3.假设接收到的最后一个发送操作实际上是最后一个文档,关闭作业,但将其移动到“挂起”位置,并将“提交中断”值添加到作业的“作业状态原因”属性(请参阅第4.3.8节)(如果支持)。此操作允许用户或操作员通过将作业移回“挂起”状态来确定是继续处理作业,还是取消作业。

Each implementation is free to decide the "best" action to take depending on 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 object, it is possible that the Job object may already have been processed to the point that some media sheet pages have been printed.

每个实施都可以根据当地政策、是否添加了任何文档、实施是否假脱机作业和/或其可用的任何其他信息,自由决定要采取的“最佳”行动。如果选择中止作业对象,则作业对象可能已被处理到某些介质页已被打印的程度。

3.3.1.1 Send-Document Request
3.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 3.1.4.1.

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

Target: Either (1) the "printer-uri" (uri) plus "job-id" (integer(1:MAX))or (2) the "job-uri" (uri) operation attribute(s) which define the target for this operation as described in section 3.1.5.

目标:(1)“打印机uri”(uri)加上“作业id”(整数(1:MAX))或(2)“作业uri”(uri)操作属性,如第3.1.5节所述定义此操作的目标。

Requesting User Name: "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the client as described in section 8.3.

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

"document-name" (name(MAX)): The client OPTIONALLY supplies this attribute. The Printer object MUST support this attribute. It contains the client supplied document name. The document name MAY be different than the Job name. It might be helpful, but NEED NOT 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 3.2.1.1) for more information about this attribute

“文档名称”(名称(最大值)):客户端可以选择提供此属性。打印机对象必须支持此属性。它包含客户端提供的文档名。文档名称可能与作业名称不同。它可能会有所帮助,但在同一作业中的多个文档中不必是唯一的。通常,客户端软件通过使用文件名或应用程序生成的名称,代表最终用户自动提供文档名。有关此属性的更多信息,请参阅打印作业请求(第3.2.1.1节)中“文档名称”操作属性的说明

"document-format" (mimeMediaType): The client OPTIONALLY supplies this attribute. The Printer object MUST support this attribute. The value of this attribute identifies the format of the supplied document data. If the client does not supply this attribute, the Printer object assumes that the document data is in the format defined by the Printer object's "document-format-default" attribute. If the client supplies this attribute, but the value is not supported by the Printer object, i.e., the value is not one of the values of the Printer object's "document-format-supported" attribute, the Printer object MUST reject the request and return the ' client-error-document-format-not-supported' status code.

“文档格式”(mimeMediaType):客户机可以选择提供此属性。打印机对象必须支持此属性。此属性的值标识所提供文档数据的格式。如果客户端不提供此属性,打印机对象将假定文档数据采用打印机对象的“文档格式默认值”属性定义的格式。如果客户端提供此属性,但打印机对象不支持该值,即该值不是打印机对象的“支持的文档格式”属性的值之一,则打印机对象必须拒绝请求并返回“客户端错误文档格式不支持”状态码。

"document-natural-language" (naturalLanguage): The client OPTIONALLY supplies this attribute. The Printer object OPTIONALLY supports this attribute. This attribute specifies the natural language of the document for those document-formats that require a specification of the natural language in order to image the document unambiguously. There are no particular values required for the Printer object to support.

“document natural language”(自然语言):客户机可以选择提供此属性。打印机对象可选地支持此属性。该属性为需要自然语言规范的文档格式指定文档的自然语言,以便清晰地显示文档。打印机对象不需要支持特定的值。

"compression" (type3 keyword) The client OPTIONALLY supplies this attribute. The Printer object OPTIONALLY supports this attribute and the "compression-supported" attribute (see section 4.4.29). The client supplied

“compression”(type3关键字)客户端可以选择提供此属性。打印机对象可选地支持此属性和“支持压缩”属性(参见第4.4.29节)。客户提供

"compression" operation attribute identifies the compression algorithm used on the document data. If the client omits this attribute, the Printer object MUST assume that the data is not compressed. If the client supplies the attribute and the Printer object supports the attribute, the Printer object MUST use the corresponding decompression algorithm on the document data. If the client supplies this attribute, but the value is not supported by the Printer object, i.e., the value is not one of the values of the Printer object's "compression-supported" attribute, the Printer object MUST copy the attribute and its value to the Unsupported Attributes response group, reject the request, and return the 'client-error-attributes-or-values-not-supported' status code.

“压缩”操作属性标识对文档数据使用的压缩算法。如果客户端忽略此属性,则打印机对象必须假定数据未压缩。如果客户端提供该属性,并且打印机对象支持该属性,则打印机对象必须对文档数据使用相应的解压缩算法。如果客户端提供此属性,但打印机对象不支持该值,即该值不是打印机对象的“支持压缩”属性的值之一,则打印机对象必须将该属性及其值复制到不支持的属性响应组,拒绝请求,并返回“不支持的客户端错误属性或值”状态代码。

"last-document" (boolean): The client MUST supply this attribute. The Printer object MUST support this attribute. It is a boolean flag that is set to ' true' if this is the last document for the Job, 'false' otherwise.

“last document”(布尔值):客户端必须提供此属性。打印机对象必须支持此属性。这是一个布尔标志,如果这是作业的最后一个文档,则设置为“true”,否则设置为“false”。

Group 2: Document Content

第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 object's "number-of-documents" attribute, since no real document was added to the job.

如果“last document”标志设置为“false”,则客户端必须提供文档数据。但是,由于客户端可能不知道使用发送文档(或发送URI)操作发送的上一个文档是最后一个文档(即,“最后一个文档”属性设置为“false”),因此在“最后一个文档”标志设置为“true”的情况下,发送没有文档数据的发送文档请求是合法的。这样的请求不能增加作业对象的“文档数”属性的值,因为没有向作业添加真正的文档。

3.3.1.2 Send-Document Response
3.3.1.2 发送文档响应

The following sets of attributes are part of the Send-Document Response:

以下属性集是发送文档响应的一部分:

Group 1: Operation Attributes

第1组:操作属性

Status Message: In addition to the REQUIRED status code returned in every response, the response OPTIONALLY includes a "status-message" (text) operation attribute as described in sections 14 and 3.1.6.

状态消息:除了在每个响应中返回所需的状态代码外,响应还可以选择包括“状态消息”(文本)操作属性,如第14节和第3.1.6节所述。

Natural Language and Character Set: The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2.

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

Group 2: Unsupported Attributes

第2组:不支持的属性

This is a set of Operation attributes supplied by the client (in the request) that are not supported by the Printer object or that conflict with one another (see sections 3.2.1.2 and the Implementer's Guide [ipp-iig]). If the Printer object is not returning any Unsupported Attributes in the response, the Printer object SHOULD omit Group 2 rather than sending an empty group. However, a client MUST be able to accept an empty group.

这是由客户端(在请求中)提供的一组操作属性,打印机对象不支持这些属性,或者这些属性相互冲突(请参见第3.2.1.2节和实施者指南[ipp iig])。如果打印机对象在响应中未返回任何不受支持的属性,则打印机对象应忽略组2,而不是发送空组。但是,客户端必须能够接受空组。

Group 3: Job Object Attributes

组3:作业对象属性

This is the same set of attributes as described in the Print-Job response (see section 3.2.1.2).

这与打印作业响应中描述的属性集相同(参见第3.2.1.2节)。

3.3.2 Send-URI Operation
3.3.2 发送URI操作

This OPTIONAL operation is identical to the Send-Document operation (see section 3.3.1) except that a client MUST supply a URI reference ("document-uri" operation attribute) rather than the document data itself. If a Printer object supports this operation, clients can use both Send-URI or Send-Document operations to add new documents to an existing multi-document Job object. 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).

此可选操作与发送文档操作(参见第3.3.1节)相同,只是客户端必须提供URI引用(“文档URI”操作属性),而不是文档数据本身。如果打印机对象支持此操作,则客户端可以使用发送URI或发送文档操作向现有多文档作业对象添加新文档。但是,如果客户机需要指示上一个发送URI或发送文档是最后一个文档,则客户机必须使用没有文档数据且“最后一个文档”标志设置为“true”的发送文档操作(而不是使用没有“文档URI”操作属性的发送URI操作)。

If a Printer object supports this operation, it MUST also support the Print-URI operation (see section 3.2.2).

如果打印机对象支持此操作,则它还必须支持打印URI操作(请参阅第3.2.2节)。

The Printer object MUST validate the syntax and URI scheme of the supplied URI before returning a response, just as in the Print-URI operation.

打印机对象必须在返回响应之前验证所提供URI的语法和URI方案,就像在打印URI操作中一样。

3.3.3 Cancel-Job Operation
3.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.

此必需的操作允许客户端从创建打印作业到完成、取消或中止打印作业为止取消打印作业。由于在收到“取消”作业时,作业可能已经在打印,因此某些介质页可能会在作业实际终止之前打印。

3.3.3.1 Cancel-Job Request
3.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 3.1.4.1.

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

Target: Either (1) the "printer-uri" (uri) plus "job-id" (integer(1:MAX))or (2) the "job-uri" (uri) operation attribute(s) which define the target for this operation as described in section 3.1.5.

目标:(1)“打印机uri”(uri)加上“作业id”(整数(1:MAX))或(2)“作业uri”(uri)操作属性,如第3.1.5节所述定义此操作的目标。

Requesting User Name: The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the client as described in section 8.3.

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

"message" (text(127)): The client OPTIONALLY supplies this attribute. The Printer object OPTIONALLY supports 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. It is an implementation decision of how or where to display this message to the operator (if at all).

“消息”(文本(127)):客户机可以选择提供此属性。打印机对象可选地支持此属性。这是给操作员的信息。此“消息”属性与“来自操作员的作业消息”属性不同。该属性用于向查询该属性的最终用户报告来自操作员的消息。此“消息”操作属性用于将消息与操作请求一起从客户端发送给操作员。这是如何或在何处向操作员显示此消息(如果有)的实施决策。

3.3.3.2 Cancel-Job Response
3.3.3.2 取消作业响应

The following sets of attributes are part of the Cancel-Job Response:

以下属性集是“取消作业”响应的一部分:

Group 1: Operation Attributes

第1组:操作属性

Status Message: In addition to the REQUIRED status code returned in every response, the response OPTIONALLY includes a "status-message" (text) operation attribute as described in sections 14 and 3.1.6.

状态消息:除了在每个响应中返回所需的状态代码外,响应还可以选择包括“状态消息”(文本)操作属性,如第14节和第3.1.6节所述。

If the job is already in the 'completed', 'aborted', or ' canceled' state, or the 'process-to-stop-point' value is set in the Job's "job-state-reasons" attribute, the Printer object MUST reject the request and return the 'client-error-not-possible' error status code.

如果作业已处于“已完成”、“已中止”或“已取消”状态,或者在作业的“作业状态原因”属性中设置了“处理到停止点”值,则打印机对象必须拒绝请求并返回“客户端错误不可能”错误状态代码。

Natural Language and Character Set: The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2.

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

Group 2: Unsupported Attributes

第2组:不支持的属性

This is a set of Operation attributes supplied by the client (in the request) that are not supported by the Printer object or that conflict with one another (see section 3.2.1.2 and the Implementer's Guide [ipp-iig]). If the Printer object is not returning any Unsupported Attributes in the response, the Printer object SHOULD omit Group 2 rather than sending an empty group. However, a client MUST be able to accept an empty group.

这是由客户端(在请求中)提供的一组操作属性,打印机对象不支持这些属性,或者这些属性相互冲突(请参见第3.2.1.2节和实施者指南[ipp iig])。如果打印机对象在响应中未返回任何不受支持的属性,则打印机对象应忽略组2,而不是发送空组。但是,客户端必须能够接受空组。

Once a successful response has been sent, the implementation guarantees that the Job will eventually end up in the 'canceled' state. Between the time of the Cancel-Job operation is accepted and when the job enters the 'canceled' job-state (see section 4.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.

成功发送响应后,实现将确保作业最终处于“已取消”状态。在接受取消作业操作和作业进入“已取消”作业状态(见第4.3.7节)之间,“作业状态原因”属性应包含“处理到停止点”值,该值向以后的查询表明,尽管作业可能仍在“处理”,但最终将处于“已取消”状态,不是“已完成”状态。

3.3.4 Get-Job-Attributes Operation
3.3.4 获取作业属性操作

This REQUIRED operation allows a client to request the values of attributes of a Job object and it is almost identical to the Get-Printer-Attributes operation (see section 3.2.5). The only differences are that the operation is directed at a Job object rather than a Printer object, there is no "document-format" operation attribute used when querying a Job object, and the returned attribute group is a set of Job object attributes rather than a set of Printer object attributes.

此必需操作允许客户端请求作业对象的属性值,它与获取打印机属性操作几乎相同(请参阅第3.2.5节)。唯一的区别在于操作针对的是作业对象而不是打印机对象,查询作业对象时没有使用“文档格式”操作属性,返回的属性组是一组作业对象属性而不是一组打印机对象属性。

For Jobs, the possible names of attribute groups are:

对于作业,属性组的可能名称为:

- 'job-template': all of the Job Template attributes that apply to a Job object (the first column of the table in Section 4.2). - 'job-description': all of the Job Description attributes specified in Section 4.3. - 'all': the special group 'all' that includes all supported attributes.

- “作业模板”:应用于作业对象的所有作业模板属性(第4.2节表格的第一列)。-'职位描述”:第4.3节中规定的所有职位描述属性。-'all”:包含所有受支持属性的特殊组“all”。

Since a client MAY request specific attributes or named groups, there is a potential that there is 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 object NEED NOT return 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.

打印机对象不需要在响应中只返回一次属性,即使它被多次请求。客户端不应以多种方式请求同一属性。

It is NOT REQUIRED that a Job object support all attributes belonging to a group (since some attributes are OPTIONAL). However it is REQUIRED that each Job object support all group names.

作业对象不需要支持属于组的所有属性(因为某些属性是可选的)。但是,要求每个作业对象支持所有组名。

3.3.4.1 Get-Job-Attributes Request
3.3.4.1 获取作业属性请求

The following groups of attributes are part of the Get-Job-Attributes Request when the request is directed at a Job object:

当请求指向作业对象时,以下属性组是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 3.1.4.1.

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

Target: Either (1) the "printer-uri" (uri) plus "job-id" (integer(1:MAX)) or (2) the "job-uri" (uri) operation attribute(s) which define the target for this operation as described in section 3.1.5.

目标:(1)“打印机uri”(uri)加上“作业id”(整数(1:MAX))或(2)“作业uri”(uri)操作属性,如第3.1.5节所述定义此操作的目标。

Requesting User Name: The "requesting-user-name" (name(MAX)) attribute SHOULD be supplied by the client as described in section 8.3.

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

"requested-attributes" (1setOf keyword) : The client OPTIONALLY supplies this attribute. The IPP object 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 IPP object MUST respond as if this attribute had been supplied with a value of 'all'.

“请求的属性”(1setOf关键字):客户端可以选择提供此属性。IPP对象必须支持此属性。它是一组属性名称和/或属性组名称,请求者对其值感兴趣。如果客户端忽略此属性,IPP对象的响应必须与此属性的值为“all”一样。

3.3.4.2 Get-Job-Attributes Response
3.3.4.2 获取作业属性响应

The Printer object returns the following sets of attributes as part of the Get-Job-Attributes Response:

Printer对象返回以下属性集,作为Get Job attributes响应的一部分:

Group 1: Operation Attributes

第1组:操作属性

Status Message: In addition to the REQUIRED status code returned in every response, the response OPTIONALLY includes a "status-message" (text) operation attribute as described in sections 14 and 3.1.6.

状态消息:除了在每个响应中返回所需的状态代码外,响应还可以选择包括“状态消息”(文本)操作属性,如第14节和第3.1.6节所述。

Natural Language and Character Set: The "attributes-charset" and "attributes-natural-language" attributes as described in section 3.1.4.2. The "attributes-natural-language" MAY be the natural language of the Job object, rather than the one requested.

自然语言和字符集:“属性字符集”和“属性自然语言”属性如第3.1.4.2节所述。“属性自然语言”可能是作业对象的自然语言,而不是请求的自然语言。

Group 2: Unsupported Attributes

第2组:不支持的属性

This is a set of Operation attributes supplied by the client (in the request) that are not supported by the Printer object or that conflict with one another (see sections 3.2.1.2 and the Implementer's Guide [ipp-iig]). The response NEED NOT contain the "requested-attributes" operation attribute with any supplied values (attribute keywords) that were requested by the client but are not supported by the IPP object. If the Printer object is not returning any Unsupported Attributes in the response, the Printer object SHOULD omit Group 2 rather than sending an empty group. However, a client MUST be able to accept an empty group.

这是由客户端(在请求中)提供的一组操作属性,打印机对象不支持这些属性,或者这些属性相互冲突(请参见第3.2.1.2节和实施者指南[ipp iig])。响应不需要包含“请求的属性”操作属性以及客户端请求但IPP对象不支持的任何提供的值(属性关键字)。如果打印机对象在响应中未返回任何不受支持的属性,则打印机对象应忽略组2,而不是发送空组。但是,客户端必须能够接受空组。

Group 3: Job Object Attributes

组3:作业对象属性

This is the set of requested attributes and their current values. The IPP object ignores (does not respond with) any requested attribute or value which is not supported or which 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 8). However, the IPP object MUST respond with the 'unknown' value for any supported attribute (including all RED butes) for which the IPP object does not know the value, s it would violate the security policy. See the description e "out-of-band" values in the beginning of Section 4.1.

这是一组请求的属性及其当前值。IPP对象忽略(不响应)任何不受支持或受现行安全策略限制的请求属性或值,包括请求用户是否是提交作业的用户(作业发起用户)(参见第8节)。但是,对于IPP对象不知道其值的任何受支持属性(包括所有红色bute),IPP对象必须使用“未知”值进行响应,因为这将违反安全策略。请参见第4.1节开头的说明e“带外”值。

4. Object Attributes
4. 对象属性

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 which are included within the scope of this protocol. Many of these attributes are derived from other relevant specifications:

本节描述了属性及其对应的属性语法和值,它们是IPP模型的一部分。以下各节显示了包含在本协议范围内的对象及其相关属性。其中许多属性源自其他相关规范:

- Document Printing Application (DPA) [ISO10175] - RFC 1759 Printer MIB [RFC1759]

- 文档打印应用程序(DPA)[ISO10175]-RFC1759打印机MIB[RFC1759]

Each attribute is uniquely identified in this document using a "keyword" (see section 12.2.1) which is the name of the attribute. The keyword is included in the section header describing that attribute.

每个属性在本文件中使用“关键字”(见第12.2.1节)进行唯一标识,该关键字是属性的名称。关键字包含在描述该属性的节标题中。

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.

注意:不仅关键字用于标识属性,下面描述的属性语法之一是“关键字”,因此某些属性具有关键字值。因此,这些属性被定义为具有一组关键字的属性语法。

4.1 Attribute Syntaxes
4.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 3 and 4 includes the name of attribute syntax(es) in the heading (in parentheses). A conforming implementation of an attribute MUST include the semantics of the attribute syntax(es) so identified. Section 6.3 describes how the protocol can be extended with new attribute syntaxes.

本节定义了所有客户端和IPP对象必须能够分别在响应和请求中接受的基本属性语法类型。第3节和第4节中的每个属性描述都在标题(括号中)中包含属性语法的名称。属性的一致性实现必须包括这样标识的属性语法的语义。第6.3节描述了如何使用新的属性语法扩展协议。

The attribute syntaxes are specified in the following sub-sections, where the sub-section heading 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 sub-section heading 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. Standard "out-of-band" values are:

属性语法在以下小节中指定,其中小节标题是单引号内属性语法的关键字名称。在操作请求和响应中,每个属性值必须表示为属性的子节标题中指定的属性语法之一。此外,响应(而不是请求)中的属性值可以是“带外”值之一。标准“带外”值为:

'unknown': The attribute is supported by the IPP object, but the value is unknown to the IPP object for some reason. '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. 'no-value': The attribute is supported by the Printer object, but the system administrator has not yet configured a value.

“未知”:IPP对象支持该属性,但由于某些原因,IPP对象不知道该值不支持”:IPP对象不支持该属性。此值只能作为不支持的属性组中的属性值返回。'无值”:打印机对象支持该属性,但系统管理员尚未配置值。

The Encoding and Transport specification [RFC2565] defines mechanisms for passing "out-of-band" values. All attributes in a request MUST have one or more values as defined in Sections 4.2 to 4.4. Thus clients MUST NOT supply attributes with "out-of-band" values. All attribute in a response MUST have one or more values as defined in Sections 4.2 to 4.4 or a single "out-of-band" value.

编码和传输规范[RFC2565]定义了传递“带外”值的机制。请求中的所有属性必须具有第4.2节至第4.4节中定义的一个或多个值。因此,客户端不能提供具有“带外”值的属性。响应中的所有属性必须具有第4.2节至第4.4节中定义的一个或多个值或单个“带外”值。

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 sub-section heading to indicate the choice. Since each value MUST be tagged as to its attribute syntax in the

大多数属性定义为具有单个属性语法。但是,一些属性(例如,“工作表”、“介质”、“作业保留到”)被定义为具有多个属性语法,具体取决于值。这些多属性语法在小节标题中用“|”字符分隔,以表示选择。因为每个值都必须在

protocol, a single-valued attribute instance may have any one of its attribute syntaxes and a multi-valued attribute instance may have a mixture of its defined attribute syntaxes.

协议中,单值属性实例可以具有其任何一个属性语法,而多值属性实例可以具有其定义的属性语法的混合。

4.1.1 'text'
4.1.1 “文本”

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 specification, 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 specification 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, objects and clients accept and return only one of the two syntax per attribute. The syntax 'text' never appears "on-the-wire".

在本规范中,所有文本属性都使用“文本”语法定义。然而,“文本”仅用于简洁;“文本”的正式解释是:“带外文的文本|带语言的文本”。也就是说,对于本规范中使用“text”属性语法定义的任何属性,所有IPP对象和客户端必须同时支持“textWithoutLanguage”和“textWithLanguage”属性语法。但是,在实际使用和协议执行中,对象和客户端只接受并返回每个属性的两种语法中的一种。语法“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 3.1.4 or "attributes-natural-language" job attribute defined in section 4.3.24, 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

“textWithoutLanguage”和“textWithLanguage”都需要支持现实世界中使用不同自然语言作为人类交流基础的站点和系统之间的互操作性需求。通常,一种自然语言适用于给定请求或响应中的所有文本属性。语言由第3.1.4节中定义的“属性-自然语言”操作属性或第4.3.24节中定义的“属性-自然语言”作业属性表示,无需逐个值识别每个文本字符串的自然语言。在这些情况下,属性语法“textWithoutLanguage”用于文本属性。在其他情况下,客户需要提供或

Printer object 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 object uses the attribute syntax 'textWithLanguage' for text attributes (this is the Natural Language Override mechanism described in section 3.1.4).

Printer对象需要以自然语言返回与请求或响应中其他文本值不同的文本值。在这些情况下,客户端或打印机对象对文本属性使用属性语法“textWithLanguage”(这是第3.1.4节中描述的自然语言覆盖机制)。

The 'textWithoutLanguage' and 'textWithLanguage' attribute syntaxes are described in more detail in the following sections.

“textWithoutLanguage”和“textWithLanguage”属性语法将在以下部分中进行更详细的描述。

4.1.1.1 'textWithoutLanguage'
4.1.1.1 “textWithoutLanguage”

The 'textWithoutLanguage' syntax indicates a value that is sequence of zero or more characters. Text strings are encoded using the rules of some charset. The Printer object MUST support the UTF-8 charset [RFC2279] and MAY support additional charsets to represent 'text' values, provided that the charsets are registered with IANA [IANA-CS]. See Section 4.1.7 for the specification of the 'charset' attribute syntax, including restricted semantics and examples of charsets.

“textWithoutLanguage”语法表示由零个或多个字符组成的值序列。文本字符串使用某些字符集的规则进行编码。打印机对象必须支持UTF-8字符集[RFC2279],并且可以支持其他字符集来表示“文本”值,前提是这些字符集已向IANA[IANA-CS]注册。有关“字符集”属性语法的规范,包括受限语义和字符集示例,请参见第4.1.7节。

4.1.1.2 'textWithLanguage'
4.1.1.2 “textWithLanguage”

The 'textWithLanguage' attribute syntax is a compound attribute syntax consisting of two parts: a 'textWithoutLanguage' part plus an additional 'naturalLanguage' (see section 4.1.8) part that overrides the natural language in force. The 'naturalLanguage' part explicitly identifies the natural language that applies to the text part of that value and that value alone. For any give text attribute, the ' textWithoutLanguage' part is limited to the maximum length defined for that attribute, but the 'naturalLanguage' part is always limited to 63 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.

“textWithLanguage”属性语法是一种复合属性语法,由两部分组成:“textWithoutLanguage”部分加上附加的“naturalLanguage”(参见第4.1.8节)部分,该部分覆盖了现行的自然语言。“自然语言”部分明确标识了应用于该值文本部分的自然语言,以及仅应用于该值的自然语言。对于任何给定的文本属性,“textWithoutLanguage”部分限制为该属性定义的最大长度,但“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 create request, the Printer object MUST accept and store with the Job object any natural language in the "attributes-natural-language" operation attribute, whether the Printer object supports that natural language or not. Furthermore, the Printer object MUST accept and store any 'textWithLanguage' attribute value, whether the

在创建请求中,打印机对象必须接受并与作业对象一起存储“属性自然语言”操作属性中的任何自然语言,无论打印机对象是否支持该自然语言。此外,打印机对象必须接受并存储任何“textWithLanguage”属性值,无论

Printer object 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.

打印机对象是否支持该自然语言。这些要求与客户可能提供的“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 'Rapport Mensuel': the job name in French

“fr”:表示法语“融洽关系”的自然语言覆盖:法语中的工作名称

See the Encoding and Transport document [RFC2565] for a detailed example of the 'textWithLanguage' attribute syntax.

有关“textWithLanguage”属性语法的详细示例,请参阅编码和传输文档[RFC2565]。

4.1.2 'name'
4.1.2 “姓名”

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, objects and clients accept and return only one of the two syntax per attribute. The syntax 'name' never appears "on-the-wire".

与“text”一样,“name”实际上是“nameWithoutLanguage”或“nameWithLanguage”的缩写符号。也就是说,所有IPP对象和客户端必须同时支持“nameWithoutLanguage”和“nameWithLanguage”属性语法。但是,在实际使用和协议执行中,对象和客户端只接受并返回每个属性的两种语法中的一种。语法“name”从未出现在“线路上”。

Note: Only the 'text' and 'name' attribute syntaxes permit the Natural Language Override mechanism.

注意:只有“text”和“name”属性语法才允许自然语言覆盖机制。

Some attributes are defined as 'type3 keyword | name'. These attributes support values that are either type3 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.

某些属性被定义为“type3关键字| name”。这些属性支持类型3关键字或名称的值。此双语法机制使站点管理员能够扩展这些属性,以合法地包括站点管理员在本地定义的值。此类名称未在IANA注册。

4.1.2.1 'nameWithoutLanguage'
4.1.2.1 “使用外文命名”

The 'nameWithoutLanguage' syntax indicates a value that is sequence of zero or more characters so that its encoded form does not exceed MAX octets.

“nameWithoutLanguage”语法表示一个由零个或多个字符组成的值,以便其编码形式不超过最大八位字节。

4.1.2.2 'nameWithLanguage'
4.1.2.2 “名称与语言”

The 'nameWithLanguage' attribute syntax is a compound attribute syntax consisting of two parts: a 'nameWithoutLanguage' part plus an additional 'naturalLanguage' (see section 4.1.8) 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.

“nameWithLanguage”属性语法是一种复合属性语法,由两部分组成:“nameWithoutLanguage”部分加上覆盖现行自然语言的附加“naturalLanguage”(见第4.1.8节)部分。“naturalLanguage”部分明确标识了应用于该名称值和仅应用于该名称值的自然语言。

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”语法。

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 'Farbdrucker': the Printer name in German

“de”:表示德语“Farbdrucker”的自然语言覆盖:德语中的打印机名称

4.1.2.3 Matching 'name' attribute values
4.1.2.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 object'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 3.1.4.1) match. The matching rules are:

2. 如果(1)名称部分匹配且(2)相关自然语言部分(见第3.1.4.1节)匹配,则“名称”(nameWithoutLanguage和nameWithLanguage)值匹配。匹配规则为:

a. the name parts match if the two names are identical character by character, except it is RECOMMENDED that case be ignored. For example: 'Ajax-letter-head-white' MUST match 'Ajax-letter-head-white' and SHOULD match 'ajax-letter-head-white' and 'AJAX-LETTER-HEAD-WHITE'.

a. 如果两个名称逐个字符相同,则名称部分匹配,但建议忽略大小写。例如:“Ajax信头白”必须与“Ajax信头白”匹配,并且应该与“Ajax信头白”和“Ajax信头白”匹配。

b. the Associated Natural-Language parts match if the shorter of the two meets the syntactic requirements of RFC 1766 [RFC1766] and matches byte for byte with the longer. For example, 'en' matches 'en', 'en-us' and 'en-gb', but

b. 如果两个自然语言部分中的较短部分满足RFC1766[RFC1766]的语法要求,并且逐字节与较长部分匹配,则相关的自然语言部分匹配。例如,“en”匹配“en”、“en us”和“en gb”,但是

matches neither 'fr' nor 'e'.

既不匹配“fr”也不匹配“e”。

4.1.3 'keyword'
4.1.3 “关键字”

The 'keyword' attribute syntax is a sequence of characters, length: 1 to 255, containing only the US-ASCII [ASCII] 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 U.S. English.

“关键字”属性语法是一个字符序列,长度为1到255,仅包含小写字母(“a”-“z”)、数字(“0”-“9”)、连字符(“-”)、点(“.”)和下划线(“389;”)的US-ASCII[ASCII]编码值。第一个字符必须是小写字母。此外,关键字必须使用美国英语。

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 U.S. English.

此语法类型用于枚举抽象协议中实体的语义标识符,即本文档中标识的实体。关键字用作属性名称或属性值。与“文本”和“名称”属性值不同,“关键字”值不得使用自然语言覆盖机制,因为它们必须始终为US-ASCII和美国英语。

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 which 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 U.S. English, they MAY be mapped to other U.S. English words for U.S. 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 defined keyword values for that attribute are listed.

在该语法类型的每个属性的定义中,将列出该属性的完整定义关键字值集。

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 different semantic ideas for each attribute. Section 6.1 describes how the protocol can be extended with new keyword values. Examples of attribute name keywords:

当关键字用于表示属性(其名称)时,它在所有IPP对象和属性的整个范围内必须是唯一的。当关键字用于表示属性的值时,它必须仅在该属性的范围内是唯一的。也就是说,同一个关键字不能用于同一属性中的两个不同值,以表示两个不同的语义概念。但是,相同的关键字可以跨两个或多个属性使用,表示每个属性的不同语义概念。第6.1节描述了如何使用新的关键字值扩展协议。属性名称关键字的示例:

"job-name" "attributes-charset"

作业名称“”属性字符集

Note: This document uses "type1", "type2", and "type3" prefixes to the "keyword" basic syntax to indicate different levels of review for extensions (see section 6.1).

注:本文件在“关键字”基本语法中使用“type1”、“type2”和“type3”前缀,以表示扩展的不同审查级别(见第6.1节)。

4.1.4 'enum'
4.1.4 “枚举”

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 are 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 specification are also used for corresponding attributes in other standards [RFC1759]. This syntax type is not used for attributes to which the system administrator may assign values. Section 6.1 describes how the protocol can be extended with new enum values.

“enum”属性语法是一个枚举整数值,其范围为1到2**31-1(最大值)。每个值都有一个关联的“关键字”名称。在该语法类型的每个属性的定义中,列出了该属性的完整可能值集。此语法类型用于其他标准(如SNMP MIB)为其分配枚举值的属性。本规范中的许多属性枚举值也用于其他标准[RFC1759]中的相应属性。此语法类型不用于系统管理员可以为其分配值的属性。第6.1节描述了如何使用新的枚举值扩展协议。

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 which 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 U.S. English, they MAY be mapped to other U.S. English words for U.S. English users, since the user interface is outside the scope of this document.

枚举值用于协议中。用户界面将提供协议枚举值和可显示的用户友好单词和短语之间的映射,这些单词和短语本地化为用户的自然语言。虽然本文档中指定的枚举符号可能会显示给自然语言为美国英语的用户,但对于美国英语用户,它们可能会映射到其他美国英语单词,因为用户界面不在本文档的范围内。

Note: 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 4.1. Therefore, attributes of type 'enum' start at '3'.

注意:SNMP MIB使用“2”表示“未知”,对应于IPP“带外”值“未知”。参见第4.1节开头的“带外”值说明。因此,“enum”类型的属性从“3”开始。

Note: This document uses "type1", "type2", and "type3" prefixes to the "enum" basic syntax to indicate different levels of review for extensions (see section 6.1).

注:本文件在“enum”基本语法中使用“type1”、“type2”和“type3”前缀,以表示扩展的不同审查级别(见第6.1节)。

4.1.5 'uri'
4.1.5 “uri”

The 'uri' attribute syntax is any valid Uniform Resource Identifier or URI [RFC2396]. Most often, URIs are simply Uniform Resource Locators or 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 lower-cased values, this attribute syntax type conforms to the case-sensitive and case-insensitive rules specified in [RFC2396].

“uri”属性语法是任何有效的统一资源标识符或uri[RFC2396]。通常,URI只是统一的资源定位器或URL。用作IPP属性值的URI的最大长度为1023个八位字节。尽管大多数其他IPP属性语法类型只允许较小的大小写值,但此属性语法类型符合[RFC2396]中指定的区分大小写和不区分大小写的规则。

4.1.6 'uriScheme'
4.1.6 “uriScheme”

The 'uriScheme' attribute syntax is a sequence of characters representing a URI scheme according to RFC 2396 [RFC2396]. Though RFC 2396 requires that the values be case-insensitive, IPP requires

“uriScheme”属性语法是根据RFC 2396[RFC2396]表示URI方案的字符序列。尽管RFC 2396要求值不区分大小写,但IPP要求

all lower case values in IPP attributes to simplify comparing by IPP clients and Printer objects. Standard values for this syntax type are the following keywords:

IPP属性中的所有小写值可简化IPP客户端和打印机对象之间的比较。此语法类型的标准值为以下关键字:

     'http':  for HTTP schemed URIs (e.g., "http:...")
     'https':  for use with HTTPS schemed URIs (e.g., "https:...")
        (not on IETF standards track)
     'ftp': for FTP schemed URIs (e.g., "ftp:...")
     'mailto': for SMTP schemed URIs (e.g., "mailto:...")
     'file': for file schemed URIs (e.g., "file:...")
        
     'http':  for HTTP schemed URIs (e.g., "http:...")
     'https':  for use with HTTPS schemed URIs (e.g., "https:...")
        (not on IETF standards track)
     'ftp': for FTP schemed URIs (e.g., "ftp:...")
     'mailto': for SMTP schemed URIs (e.g., "mailto:...")
     'file': for file schemed URIs (e.g., "file:...")
        

A Printer object 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个八位字节。

4.1.7 'charset'
4.1.7 “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 and 'text' and 'name' attribute values. The syntax and semantics of this attribute syntax are specified in RFC 2046 [RFC2046] and contained in the IANA character-set Registry [IANA-CS] according to the IANA procedures [RFC2278]. Though RFC 2046 requires that the values be case-insensitive US-ASCII, IPP requires all lower case values in IPP attributes to simplify comparing by IPP clients and Printer objects. 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.

“字符集”属性语法是字符集的标准标识符。字符集是一种编码字符集和编码方案。字符集用于标记某些文档内容以及“文本”和“名称”属性值。该属性语法的语法和语义在RFC 2046[RFC2046]中指定,并根据IANA程序[RFC2278]包含在IANA字符集注册表[IANA-CS]中。尽管RFC 2046要求值不区分大小写US-ASCII,但IPP要求IPP属性中的所有小写值,以简化IPP客户端和打印机对象的比较。当IANA注册表中的字符集具有多个名称(别名)时,必须使用标记为“(首选MIME名称)”的名称(如果存在)。

The maximum length of 'charset' values used to represent IPP attribute values is 63 octets.

用于表示IPP属性值的“字符集”值的最大长度为63个八位字节。

Some examples are:

例如:

'utf-8': ISO 10646 Universal Multiple-Octet Coded Character Set (UCS) represented as the UTF-8 [RFC2279] transfer encoding scheme in which US-ASCII is a subset charset. 'us-ascii': 7-bit American Standard Code for Information Interchange (ASCII), ANSI X3.4-1986 [ASCII]. That standard defines US-ASCII, but RFC 2045 [RFC2045] eliminates most of the control characters from conformant usage in MIME and IPP. 'iso-8859-1': 8-bit One-Byte Coded Character Set, Latin Alphabet Nr 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.

“utf-8”:ISO 10646通用多八位编码字符集(UCS),表示为utf-8[RFC2279]传输编码方案,其中US-ASCII是一个子集字符集。”us ascii”:7位美国信息交换标准代码(ascii),ANSI X3.4-1986[ascii]。该标准定义了US-ASCII,但RFC 2045[RFC2045]消除了MIME和IPP中一致使用的大多数控制字符iso-8859-1”:8位单字节编码字符集,拉丁字母Nr 1[ISO8859-1]。该标准定义了西半球和西欧拉丁语言使用的编码字符集。US-ASCII是一个子集字符集。

'iso-10646-ucs-2': ISO 10646 Universal Multiple-Octet Coded Character Set (UCS) represented as two octets (UCS-2), with the high order octet of each pair coming first (so-called Big Endian integer).

“iso-10646-ucs-2”:iso 10646通用多八位编码字符集(ucs)表示为两个八位字节(ucs-2),每对的高阶八位字节排在第一位(所谓的大端整数)。

Some attribute descriptions MAY place additional requirements on charset values that may 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作为子字符集。

4.1.8 'naturalLanguage'
4.1.8 “自然语言”

The 'naturalLanguage' attribute syntax is a standard identifier for a natural language and optionally a country. The values for this syntax type are defined by RFC 1766 [RFC1766]. Though RFC 1766 requires that the values be case-insensitive US-ASCII, IPP requires all lower case to simplify comparing by IPP clients and Printer objects. Examples include:

“naturalLanguage”属性语法是自然语言和国家(可选)的标准标识符。此语法类型的值由RFC1766[RFC1766]定义。尽管RFC1766要求值不区分大小写US-ASCII,但IPP要求所有小写字母以简化IPP客户端和打印机对象的比较。例子包括:

'en': for English 'en-us': for US English 'fr': for French 'de': for German

“en”:表示英语“en-us”:表示美国英语“fr”:表示法语“de”:表示德语

The maximum length of 'naturalLanguage' values used to represent IPP attribute values is 63 octets.

用于表示IPP属性值的“naturalLanguage”值的最大长度为63个八位字节。

4.1.9 'mimeMediaType'
4.1.9 “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 2048 [RFC2048] for identifying a document format. The value MAY include a charset parameter, depending on the specification of the Media Type in the IANA Registry [IANA-MT]. Although most other IPP syntax types allow for only lower-cased values, this syntax type allows for mixed-case values which are case-insensitive.

“mimeMediaType”属性语法是由RFC 2046[RFC2046]定义的互联网媒体类型(有时称为MIME类型),并根据RFC 2048[RFC2048]的过程注册以识别文档格式。该值可能包括字符集参数,具体取决于IANA注册表[IANA-MT]中媒体类型的规范。尽管大多数其他IPP语法类型只允许较小的大小写值,但此语法类型允许大小写不敏感的混合大小写值。

Examples are:

例如:

'text/html': An HTML document '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]. 'text/plain; charset=US-ASCII': A plain text document in US-ASCII [52, 56]. 'text/plain; charset=ISO-8859-1': A plain text document in ISO 8859-1 (Latin 1) [ISO8859-1].

“text/html”:html文档“text/plain”:US-ASCII格式的纯文本文档(RFC 2046表示在没有字符集参数的情况下必须表示US-ASCII,而不是未指定)[RFC2046]。'文本/纯文本;charset=US-ASCII”:US-ASCII[52,56]格式的纯文本文档文本/纯文本;charset=ISO-8859-1”:ISO 8859-1(拉丁文1)[ISO8859-1]中的纯文本文档。

     'text/plain; charset=utf-8':  A plain text document in ISO 10646
        represented as UTF-8 [RFC2279]
     'text/plain, charset=iso-10646-ucs-2':  A plain text document in
        ISO 10646 represented in two octets (UCS-2) [ISO10646-1]
     'application/postscript':  A PostScript document [RFC2046]
     'application/vnd.hp-PCL':  A PCL document [IANA-MT] (charset escape
        sequence embedded in the document data)
     'application/octet-stream':  Auto-sense - see below
        
     'text/plain; charset=utf-8':  A plain text document in ISO 10646
        represented as UTF-8 [RFC2279]
     'text/plain, charset=iso-10646-ucs-2':  A plain text document in
        ISO 10646 represented in two octets (UCS-2) [ISO10646-1]
     'application/postscript':  A PostScript document [RFC2046]
     'application/vnd.hp-PCL':  A PCL document [IANA-MT] (charset escape
        sequence embedded in the document data)
     'application/octet-stream':  Auto-sense - see below
        

One special type is 'application/octet-stream'. If the Printer object supports this value, the Printer object MUST be capable of auto-sensing the format of the document data. If the Printer object's default value attribute "document-format-default" is set to 'application/octet-stream', the Printer object 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 may be ' application/octet-stream' indicating an auto-sensing mechanism). 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 object MUST trust the client supplied value more than the outcome of applying an automatic format detection mechanism. For example, the client may be requesting the printing of a PostScript file as a ' text/plain' document. The Printer object MUST print a text representation of the PostScript commands rather than interpret the stream of PostScript commands and print the result. 3. If the client supplies a value of 'application/octet-stream', the client is indicating that the Printer object MUST use its auto-sensing mechanism on the client supplied document data whether auto-sensing is the Printer object's default or not.

1. 如果客户端未提供文档格式值,打印机必须依赖其默认值设置(可能是“应用程序/八位字节流”,表示自动感应机制)。2.如果客户端提供的值不是“应用程序/八位字节流”,则客户端提供的是有关文档数据格式的有效信息,打印机对象必须更信任客户端提供的值,而不是应用自动格式检测机制的结果。例如,客户端可能正在请求将PostScript文件打印为“文本/普通”文档。打印机对象必须打印PostScript命令的文本表示形式,而不是解释PostScript命令流并打印结果。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 object 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 be used.

注意:由于自动感知算法是概率性的,如果客户端同时请求自动感知(“文档格式”设置为“应用程序/八位字节流”)和真实逼真度(“ipp属性逼真度”设置为“真实”),打印机对象可能无法确保最终用户的意图(自动感知算法可能会将一种文档格式误认为另一种),但它能够保证使用其自动感知机制。

The maximum length of a 'mimeMediaType' value to represent IPP attribute values is 255 octets.

表示IPP属性值的“mimeDiaType”值的最大长度为255个八位字节。

4.1.10 'octetString'
4.1.10 “八进制字符串”

The 'octetString' attribute syntax is a sequence of octets encoded in a maximum of 1023 octets which is indicated in sub-section headers using the notation: octetString(MAX). This syntax type is used for opaque data.

“octetString”属性语法是编码为最多1023个八位字节的八位字节序列,在小节标题中使用符号表示:octetString(MAX)。此语法类型用于不透明数据。

4.1.11 'boolean'
4.1.11 “布尔”

The 'boolean' attribute syntax has only two values: 'true' and ' false'.

“boolean”属性语法只有两个值:“true”和“false”。

4.1.12 'integer'
4.1.12 “整数”

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 may specify the range constraint explicitly in sub-section headers 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. However, the enforcement of that additional constraint is up to the IPP objects, not the protocol.

“integer”属性语法是一个介于-2**31(最小值)到2**31-1(最大值)之间的整数值。如果范围不同于可能整数值的完整范围,则每个单独的属性可以在小节标题中明确指定范围约束。例如:“作业优先级”属性的作业优先级(整数(1:100))。但是,附加约束的实施取决于IPP对象,而不是协议。

4.1.13 'rangeOfInteger'
4.1.13 “积分范围”

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 header description for an attribute in this document whose attribute syntax is 'rangeOfInteger' (i.e., '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为最大值),则该约束将应用于两个整数。

4.1.14 'dateTime'
4.1.14 “日期时间”

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 which are localized to the natural language and date format of the user.

“dateTime”属性语法是RFC22579[RFC2579]中定义的“DateAndTime”语法的标准、固定长度、11个八位字节表示形式。RFC2579还标识“DateAndTime”值的8个八位字节表示,但IPP对象必须使用11个八位字节表示。用户界面将提供协议日期时间值与可显示的用户友好词语或表示值和短语之间的映射,这些词语和短语将本地化为用户的自然语言和日期格式。

4.1.15 'resolution'
4.1.15 “决议”

The 'resolution' attribute syntax specifies a two-dimensional resolution in the indicated units. It consists of 3 values: a cross feed direction resolution (positive integer value), a feed direction

“分辨率”属性语法以指定的单位指定二维分辨率。它由3个值组成:交叉进给方向分辨率(正整数值)、进给方向

resolution (positive integer value), and a units value. The semantics of these three components are taken from the Printer MIB [RFC1759] suggested values. That is, the cross feed direction component resolution component is the same as the prtMarkerAddressabilityXFeedDir object in the Printer MIB, the feed direction component 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. Example: '300', '600', ' 3' indicates a 300 dpi cross-feed direction resolution, a 600 dpi feed direction resolution, since a '3' indicates dots per inch (dpi).

分辨率(正整数值)和单位值。这三个组件的语义取自打印机MIB[RFC1759]建议值。也就是说,交叉进纸方向组件分辨率组件与打印机MIB中的prtMarkerAddressabilityXFeedDir对象相同,进纸方向组件分辨率组件与打印机MIB中的prtMarkerAddressabilityFeedDir相同,单位组件与打印机MIB中的prtMarkerAddressabilityUnit对象相同(即,“3”表示每英寸点数,“4”表示每厘米点数)。即使前两个值相同,也必须显示所有三个值。例如:“300”、“600”、“3”表示300 dpi交叉进给方向分辨率,600 dpi进给方向分辨率,因为“3”表示每英寸点数(dpi)。

4.1.16 '1setOf X'
4.1.16 “1setOf X”

The '1setOf X' attribute syntax is 1 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 may specify that the values MUST be in a certain order for that attribute.

“1setOf X”属性语法是属性语法类型X的1个或多个值。此语法类型用于多值属性。该语法类型被称为“1setOf”,而不仅仅是“setOf”,以提醒值集不能为空(即大小为0的集)。集合通常是无序的。但是,此类型的每个属性描述都可以指定该属性的值必须按特定顺序排列。

4.2 Job Template Attributes
4.2 作业模板属性

Job Template attributes describe job processing behavior. Support for Job Template attributes by a Printer object is OPTIONAL (see section 13.2.3 for a description of support for OPTIONAL attributes). Also, clients OPTIONALLY supply Job Template attributes in create requests.

作业模板属性描述作业处理行为。打印机对象对作业模板属性的支持是可选的(有关可选属性支持的说明,请参阅第13.2.3节)。此外,客户端还可以选择在创建请求中提供作业模板属性。

Job Template attributes conform to the following rules. For each Job Template attribute called "xxx":

作业模板属性符合以下规则。对于每个名为“xxx”的作业模板属性:

1. If the Printer object supports "xxx" then it MUST support both a "xxx-default" attribute (unless there is a "No" in the table below) and a "xxx-supported" attribute. If the Printer object 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" may be supported for some document formats and not supported for other document formats. For example, it is expected that a Printer object 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默认”属性(除非下表中有“否”属性)和“xxx支持”属性。如果打印机对象不支持“xxx”,则它必须既不支持“xxx默认”属性,也不支持“xxx支持”属性,并且必须将客户端提供的属性“xxx”视为不受支持。某些文档格式可能支持属性“xxx”,而其他文档格式则不支持属性“xxx”。例如,打印机对象只支持某些文档格式(如“文本/纯文本”或“文本/html”)的“方向请求”,而不支持其他格式(如“应用程序/postscript”)。

2. "xxx" is OPTIONALLY supplied by the client in a create 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 object 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相关行为的嵌入式指令,则客户端指示打印机对象在作业处理时应用其默认作业处理行为。

Note: Since an administrator MAY change the default value attribute after a Job object has been submitted but before it has been processed, the default value used by the Printer object at job processing time may be different that the default value in effect at job submission time.

注意:由于管理员可以在提交作业对象后但在处理作业对象之前更改“默认值”属性,因此打印机对象在作业处理时使用的默认值可能与作业提交时有效的默认值不同。

3. The "xxx-supported" attribute is a Printer object attribute that describes which job processing behaviors are supported by that Printer object. A client can query the Printer object to find out what xxx-related behaviors are supported by inspecting the returned values of the "xxx-supported" attribute.

3. “支持xxx”属性是一个打印机对象属性,用于描述该打印机对象支持哪些作业处理行为。客户机可以查询打印机对象,通过检查“支持的xxx”属性的返回值,找出支持的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 "job-sheet-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 create 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 object for its supported value attributes. The application SHOULD also query the default value attributes. If the application then limits selectable values to only those value that are supported, the application can guarantee that the values supplied by the client in the create 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 'staple', 'punch', and/or ' cover'. A client can query the Printer object 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 create request and the document data does not contain any corresponding finishing instructions. If the client does supply the "finishings" attribute in the create request, the IPP object validates the value or values to make sure that they are a subset of the supported values identified in the Printer object's "finishings-supported" attribute. See section 3.2.1.2.

“finishings”属性是作业模板属性的一个示例。它可以采用一组值,例如“装订”、“打孔”和/或“封面”。客户端可以查询打印机对象的“finishings supported”属性和“finishings default”属性。supported属性包含一组受支持的值。如果客户端在创建请求中未提供“finishings”属性,并且文档数据不包含任何相应的整理说明,则默认值属性包含将用于新作业的整理值。如果客户端在创建请求中提供了“finishings”属性,IPP对象将验证一个或多个值,以确保它们是打印机对象的“finishings supported”属性中标识的支持值的子集。见第3.2.1.2节。

The table 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 object. These are the attributes that can optionally be supplied by the client in a create request. The last two columns (labeled "Printer: Default Value Attribute" and "Printer: Supported Values Attribute") shows the name and syntax for each Job Template attribute in the Printer object (the default value attribute and the supported values attribute). 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.

下表总结了所有作业模板属性的名称和关系。表的第一列(标记为“作业属性”)显示作业对象中每个作业模板属性的名称和语法。这些属性可以由客户端在创建请求中选择性地提供。最后两列(标记为“打印机:默认值属性”和“打印机:支持的值属性”)显示打印机对象中每个作业模板属性(默认值属性和支持的值属性)的名称和语法。表中的“否”表示打印机不能支持该属性(即该属性根本不适用)。为简洁起见,表中的“text”和“name”项不显示每个属性的最大长度。

     +===================+======================+======================+
     | Job Attribute     |Printer: Default Value|  Printer: Supported  |
     |                   |   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-       |
     | (type3 keyword |  |  default             | supported            |
     |    name)          |  (type3 keyword |    |(1setOf               |
     |                   |    name)             | type3 keyword | name)|
     +-------------------+----------------------+----------------------+
     | job-sheets        | job-sheets-default   |job-sheets-supported  |
     | (type3 keyword |  | (type3 keyword |     |(1setOf               |
     |    name)          |    name)             | type3 keyword | name)|
     +-------------------+----------------------+----------------------+
     |multiple-document- |multiple-document-    |multiple-document-    |
     | handling          | handling-default     |handling-supported    |
     | (type2 keyword)   | (type2 keyword)      |(1setOf type2 keyword)|
     +-------------------+----------------------+----------------------+
        
     +===================+======================+======================+
     | Job Attribute     |Printer: Default Value|  Printer: Supported  |
     |                   |   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-       |
     | (type3 keyword |  |  default             | supported            |
     |    name)          |  (type3 keyword |    |(1setOf               |
     |                   |    name)             | type3 keyword | name)|
     +-------------------+----------------------+----------------------+
     | job-sheets        | job-sheets-default   |job-sheets-supported  |
     | (type3 keyword |  | (type3 keyword |     |(1setOf               |
     |    name)          |    name)             | type3 keyword | name)|
     +-------------------+----------------------+----------------------+
     |multiple-document- |multiple-document-    |multiple-document-    |
     | handling          | handling-default     |handling-supported    |
     | (type2 keyword)   | (type2 keyword)      |(1setOf type2 keyword)|
     +-------------------+----------------------+----------------------+
        
     +===================+======================+======================+
     | Job Attribute     |Printer: Default Value|  Printer: Supported  |
     |                   |   Attribute          |   Values Attribute   |
     +===================+======================+======================+
     | copies            | copies-default       | copies-supported     |
     | (integer (1:MAX)) | (integer (1:MAX))    | (rangeOfInteger      |
     |                   |                      |       (1:MAX))       |
     +-------------------+----------------------+----------------------+
     | finishings        | finishings-default   | finishings-supported |
     |(1setOf type2 enum)|(1setOf type2 enum)   |(1setOf type2 enum)   |
     +-------------------+----------------------+----------------------+
     | page-ranges       | No                   | page-ranges-         |
     | (1setOf           |                      | supported (boolean)  |
     |   rangeOfInteger  |                      |                      |
     |        (1:MAX))   |                      |                      |
     +-------------------+----------------------+----------------------+
     | sides             | sides-default        | sides-supported      |
     | (type2 keyword)   | (type2 keyword)      |(1setOf 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-requested-|orientation-requested-|
     |  requested        |  default             |  supported           |
     |   (type2 enum)    |  (type2 enum)        |  (1setOf type2 enum) |
     +-------------------+----------------------+----------------------+
     | media             | media-default        | media-supported      |
     | (type3 keyword |  | (type3 keyword |     |(1setOf               |
     |    name)          |    name)             | type3 keyword | name)|
     |                   |                      |                      |
     |                   |                      | media-ready          |
     |                   |                      |(1setOf               |
     |                   |                      | type3 keyword | name)|
     +-------------------+----------------------+----------------------+
     | printer-resolution| printer-resolution-  | printer-resolution-  |
     | (resolution)      |  default             | supported            |
     |                   | (resolution)         |(1setOf resolution)   |
     +-------------------+----------------------+----------------------+
     | print-quality     | print-quality-default| print-quality-       |
     | (type2 enum)      | (type2 enum)         | supported            |
     |                   |                      |(1setOf type2 enum)   |
     +-------------------+----------------------+----------------------+
        
     +===================+======================+======================+
     | Job Attribute     |Printer: Default Value|  Printer: Supported  |
     |                   |   Attribute          |   Values Attribute   |
     +===================+======================+======================+
     | copies            | copies-default       | copies-supported     |
     | (integer (1:MAX)) | (integer (1:MAX))    | (rangeOfInteger      |
     |                   |                      |       (1:MAX))       |
     +-------------------+----------------------+----------------------+
     | finishings        | finishings-default   | finishings-supported |
     |(1setOf type2 enum)|(1setOf type2 enum)   |(1setOf type2 enum)   |
     +-------------------+----------------------+----------------------+
     | page-ranges       | No                   | page-ranges-         |
     | (1setOf           |                      | supported (boolean)  |
     |   rangeOfInteger  |                      |                      |
     |        (1:MAX))   |                      |                      |
     +-------------------+----------------------+----------------------+
     | sides             | sides-default        | sides-supported      |
     | (type2 keyword)   | (type2 keyword)      |(1setOf 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-requested-|orientation-requested-|
     |  requested        |  default             |  supported           |
     |   (type2 enum)    |  (type2 enum)        |  (1setOf type2 enum) |
     +-------------------+----------------------+----------------------+
     | media             | media-default        | media-supported      |
     | (type3 keyword |  | (type3 keyword |     |(1setOf               |
     |    name)          |    name)             | type3 keyword | name)|
     |                   |                      |                      |
     |                   |                      | media-ready          |
     |                   |                      |(1setOf               |
     |                   |                      | type3 keyword | name)|
     +-------------------+----------------------+----------------------+
     | printer-resolution| printer-resolution-  | printer-resolution-  |
     | (resolution)      |  default             | supported            |
     |                   | (resolution)         |(1setOf resolution)   |
     +-------------------+----------------------+----------------------+
     | print-quality     | print-quality-default| print-quality-       |
     | (type2 enum)      | (type2 enum)         | supported            |
     |                   |                      |(1setOf type2 enum)   |
     +-------------------+----------------------+----------------------+
        
4.2.1 job-priority (integer(1:100))
4.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 object 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 object. If privileged jobs are implemented outside IPP/1.0, they MUST have priorities higher than 100, rather than restricting the range available to end-users.

如果打印机对象支持此属性,则它必须始终支持从1到100的完整范围。不允许有任何行政限制。这样,最终用户可以始终充分利用任何打印机对象的整个范围。如果特权作业在IPP/1.0之外实施,则它们的优先级必须高于100,而不是限制最终用户可用的范围。

If the client does not supply this attribute and this attribute is supported by the Printer object, the Printer object MUST use the value of the Printer object's "job-priority-default" 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" is also integer(1:100). This single integer value indicates the number of priority levels supported. The Printer object MUST take the value supplied by the client and map it to the closest integer in a sequence of n integers 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

If the value of the Printer object's "job-priority-supported" is 10 and the client supplies values in the range 1 to 10, the Printer object maps them to 5, in the range 11 to 20, the Printer object maps them to 15, etc.

如果打印机对象的“支持的作业优先级”的值为10,并且客户端提供范围为1到10的值,则打印机对象将其映射到5,范围为11到20,打印机对象将其映射到15,以此类推。

4.2.2 job-hold-until (type3 keyword | name (MAX))
4.2.2 作业保留至(键入3关键字|名称(最大))

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:

指定时间段的标准关键字值为:

'no-hold': immediately, if there are not other reasons to hold the job 'day-time': during the day 'evening': evening 'night': night 'weekend': weekend 'second-shift': second-shift (after close of business) 'third-shift': third-shift (after midnight)

“不停工”:如果没有其他原因,立即停工“白天”:白天“晚上”:晚上“晚上”:晚上“周末”:周末“第二班”:第二班(营业结束后)“第三班”:第三班(午夜后)

An administrator MUST associate allowable print times with a named time period (by means outside IPP/1.0). 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.0以外的方式)。鼓励管理员选择建议时间段类型的名称。管理员可以使用“名称”或“关键字”属性语法定义其他值,具体取决于实现。

If the value of this attribute specifies a time period that is in the future, the Printer MUST add the 'job-hold-until-specified' value to the job's "job-state-reasons" attribute, 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-reason" attribute and, 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 object, the Printer object MUST use the value of the Printer object's "job-hold-until-default" at job submission time (unlike most Job Template attributes that are used if necessary at job processing time).

如果客户端不提供此属性,并且打印机对象支持此属性,则打印机对象必须在作业提交时使用打印机对象的“作业保留到默认值”的值(与作业处理时在必要时使用的大多数作业模板属性不同)。

4.2.3 job-sheets (type3 keyword | name(MAX))
4.2.3 工作表(类型3关键字|名称(最大值))

This attribute determines which job start/end sheet(s), if any, MUST be printed with a job.

此属性确定必须随作业一起打印的作业开始/结束页(如果有)。

Standard keyword values are:

标准关键字值为:

'none': no job sheet is printed 'standard': one or more site specific standard job sheets are printed, e.g. a single start sheet or both start and end sheet is printed

“无”:未打印任何工作表“标准”:打印一个或多个特定于现场的标准工作表,例如,打印单个起始工作表或同时打印起始工作表和结束工作表

An administrator MAY define additional values using the 'name' or ' keyword' attribute syntax, depending on implementation.

管理员可以使用“名称”或“关键字”属性语法定义其他值,具体取决于实现。

Note: The effect of this attribute on jobs with multiple documents MAY be affected by the "multiple-document-handling" job attribute (section 4.2.4), depending on the job sheet semantics.

注意:此属性对包含多个文档的作业的影响可能会受到“多文档处理”作业属性(第4.2.4节)的影响,具体取决于作业表语义。

4.2.4 multiple-document-handling (type2 keyword)
4.2.4 多文档处理(type2关键字)

This attribute is relevant only if a job consists of two or more documents. The attribute controls finishing operations and the placement of one or more print-stream pages into impressions and onto media sheets. 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 explanations, 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(*)".

仅当作业由两个或多个文档组成时,此属性才相关。该属性控制整理操作以及将一个或多个打印流页面放置到印模和媒体页上。当“副本”属性的值超过1时,它还控制处理文档时产生副本的顺序。在本说明中,如果“a”表示文档数据的实例,则处理文档“a”中的数据的结果是由“a(*)表示的媒体页序列。

Standard keyword values are:

标准关键字值为:

     'single-document': If a Job object 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 operations; that is,
        finishing would be performed on the concatenation of the
        sequences a(*),b(*).  The Printer object MUST NOT force the data
        in each document instance to be formatted onto a new print-
        stream page, 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 object MUST force each
        copy (a(*),b(*)) to start on a new media sheet.
     'separate-documents-uncollated-copies': If a Job object 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 operations; that is, the sets a(*) and b(*) would each
        be finished separately. The Printer object 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
        
     'single-document': If a Job object 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 operations; that is,
        finishing would be performed on the concatenation of the
        sequences a(*),b(*).  The Printer object MUST NOT force the data
        in each document instance to be formatted onto a new print-
        stream page, 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 object MUST force each
        copy (a(*),b(*)) to start on a new media sheet.
     'separate-documents-uncollated-copies': If a Job object 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 operations; that is, the sets a(*) and b(*) would each
        be finished separately. The Printer object 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(*) ... . 'separate-documents-collated-copies': If a Job object 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 operations; that is, the sets a(*) and b(*) would each be finished separately. The Printer object 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(*), ... . 'single-document-new-sheet': Same as 'single-document', except that the Printer object 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 sheet.

处理文档数据产生的媒体页集的顺序必须为a(*)、a(*)、b(*)、b(*)…'单独文档整理副本”:如果作业对象有多个文档,例如,文档数据称为a和b,则每个文档实例中的数据处理结果必须视为完成操作的单个媒体页序列;也就是说,集合a(*)和b(*)将分别完成。打印机对象必须强制在新的介质页上开始处理单个文档中的数据结果的每个副本。如果制作了多个副本,则处理文档数据所产生的媒体页集的顺序必须为a(*)、b(*)、a(*)、b(*)、单文档新页”:与“单文档”相同,只是打印机对象必须确保作业中每个文档实例的第一印象都放置在新介质页上。此值允许将多个文档与单个订书钉装订在一起,其中每个文档从一张新纸张开始。

The 'single-document' value is the same as 'separate-documents-collated-copies' with respect to ordering of print-stream pages, but not media sheet generation, since 'single-document' will put the first page of the next document on the back side of a 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 sheet. In addition, if the "finishings" attribute specifies 'staple', then with 'single-document', documents a and b are stapled together as a single document with no regard to new sheets, with 'single-document-new-sheet', documents a and b are stapled together as a single document, but document b starts on a new sheet, but 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: None of these values provide means to produce uncollated sheets within a document, i.e., where multiple copies of sheet n are produced before sheet n+1 of the same document.

注:这些值均未提供在一份文件中生成无套印图纸的方法,即在同一份文件的图纸n+1之前生成多份图纸n。

The relationship of this attribute and the other attributes that control document processing is described in section 15.3.

第15.3节描述了该属性与控制文档处理的其他属性之间的关系。

4.2.5 copies (integer(1:MAX))
4.2.5 副本(整数(1:最大值))

This 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 may be different from the number of uncollated copies which can be

在许多设备上,支持的已整理副本数量将受到设备上物理输出箱数量的限制,并且可能不同于可复制的未整理副本数量

supported.

支持。

Note: The effect of this attribute on jobs with multiple documents is controlled by the "multiple-document-handling" job attribute (section 4.2.4) and the relationship of this attribute and the other attributes that control document processing is described in section 15.3.

注:该属性对具有多个文档的作业的影响由“多文档处理”作业属性(第4.2.4节)控制,该属性与控制文档处理的其他属性的关系在第15.3节中描述。

4.2.6 finishings (1setOf type2 enum)
4.2.6 饰面(第1种类型2枚举)

This attribute identifies the finishing operations 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 are:

标准枚举值为:

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 is site-defined. '5' 'punch': This value indicates that holes are required in the finished document. The exact number and placement of the holes is site-defined The punch specification MAY be satisfied (in a site- 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 is site-defined."

“3”“无”:不执行“4”“装订”:使用一个或多个装订绑定文档。订书钉的确切数量和位置由现场确定。”5“打孔”:此值表示完成的文档中需要打孔。孔的确切数量和位置由现场确定。可通过钻孔/打孔或替换预钻孔介质(以现场和具体实施方式)满足打孔规范。”6“封面”:当需要为文档选择未打印(或预打印)的封面时,指定此值。这并不取代文件本身对印刷封面(封面库存介质)的说明。”7“绑定”:此值表示要对文档应用绑定;绑定的类型和位置由站点定义。”

Note: The effect of this attribute on jobs with multiple documents is controlled by the "multiple-document-handling" job attribute (section 4.2.4) and the relationship of this attribute and the other attributes that control document processing is described in section 15.3.

注:该属性对具有多个文档的作业的影响由“多文档处理”作业属性(第4.2.4节)控制,该属性与控制文档处理的其他属性的关系在第15.3节中描述。

If the client supplies a value of 'none' along with any other combination of values, it is the same as if only that other combination of values had been supplied (that is the 'none' value has no effect).

如果客户机提供了“无”值以及任何其他值的组合,则与仅提供了其他值的组合相同(即“无”值无效)。

4.2.7 page-ranges (1setOf rangeOfInteger (1:MAX))
4.2.7 页面范围(1整合器的设置范围(1:最大))

This attribute identifies the range(s) of print-stream pages that the Printer object uses for each copy of each document which are to be printed. Nothing is printed for any pages identified that do not exist in the document(s). Ranges MUST be in ascending order, for example: 1-3, 5-7, 15-19 and MUST NOT overlap, so that a non-spooling Printer object can process the job in a single pass. If the ranges are not ascending or are overlapping, the IPP object MUST reject the request and return the 'client-error-bad-request' status code. The attribute is associated with print-stream pages not application-numbered pages (for example, the page numbers found in the headers and or footers for certain word processing applications).

此属性标识打印机对象用于要打印的每个文档的每个副本的打印流页面的范围。对于文档中不存在的已标识页面,不打印任何内容。范围必须按升序排列,例如:1-3、5-7、15-19,并且不得重叠,以便非后台打印打印机对象可以一次性处理作业。如果范围不是升序或重叠,IPP对象必须拒绝请求并返回“客户端错误错误请求”状态代码。该属性与非应用程序编号的打印流页面相关联(例如,某些字处理应用程序的页眉和/或页脚中的页码)。

For Jobs with multiple documents, the "multiple-document-handling" attribute determines what constitutes a "copy" for purposes of the specified page range(s). When "multiple-document-handling" is ' single-document', the Printer object MUST apply each supplied page range once to the concatenation of the print-stream 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 object 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 documents.

对于具有多个文档的作业,“多文档处理”属性确定了在指定页面范围内构成“副本”的内容。当“多文档处理”为“单个文档”时,打印机对象必须将每个提供的页面范围应用于打印流页面的串联。例如,如果有8个文档,每个文档有10页,则页面范围“41:60”将第5和第6个文档中的页面作为单个文档打印,而不会打印其他文档的任何页面。当“多文档处理”为“单独文档无套印副本”或“单独文档有套印副本”时,打印机对象必须将每个提供的页面范围重复应用于每个文档副本。对于同一作业,页面范围“1:3,10:10”将打印作业中8个文档的前3页和第10页,作为8个单独的文档。

In most cases, the exact pages to be printed will be generated by a device driver and this attribute would not be required. However, when printing an archived document which has already been formatted, the end user may elect to print just a subset of the pages contained in the document. In this case, if page-range = 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页打印。

"page-ranges-supported" is a boolean value indicating whether or not the printer is capable of supporting the printing of page ranges. This capability may 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 will be printed.

“支持的页面范围”是一个布尔值,指示打印机是否能够支持打印页面范围。此功能可能因PDL而异。没有“页面范围默认值”属性。如果客户端未提供“页面范围”属性,则将打印文档的所有页面。

Note: The effect of this attribute on jobs with multiple documents is controlled by the "multiple-document-handling" job attribute (section 4.2.4) and the relationship of this attribute and the other attributes that control document processing is described in section 15.3.

注:该属性对具有多个文档的作业的影响由“多文档处理”作业属性(第4.2.4节)控制,该属性与控制文档处理的其他属性的关系在第15.3节中描述。

4.2.8 sides (type2 keyword)
4.2.8 侧面(type2关键字)

This attribute specifies how print-stream pages are to be imposed upon the sides of an instance of a selected medium, i.e., an impression.

此属性指定如何将打印流页面施加在选定介质(即印模)实例的侧面。

The standard keyword values are:

标准关键字值为:

'one-sided': imposes each consecutive print-stream page upon the same side of consecutive media sheets. 'two-sided-long-edge': imposes each consecutive pair of print-stream pages upon front and back sides of consecutive media sheets, such that the orientation of each pair of print-stream pages 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'. 'two-sided-short-edge': imposes each consecutive pair of print-stream pages upon front and back sides of consecutive media sheets, such that the orientation of each pair of print-stream pages 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'.

“单面”:将每个连续打印流页面置于连续媒体页的同一侧双面长边”:将每对连续的打印流页面置于连续介质页的正面和背面,以便介质上每对打印流页面的方向对读者来说是正确的,就像在长边上装订一样。这种拼版有时被称为“双面”或“头对头”双面短边”:将每对连续的打印流页面置于连续介质页的正面和背面,这样,介质上每对打印流页面的方向对于读者来说都是正确的,就像在短边上装订一样。这种强加有时被称为“翻滚”或“从头到脚”。

'two-sided-long-edge', 'two-sided-short-edge', 'tumble', and 'duplex' all work the same for portrait or landscape. However 'head-to-toe' is 'tumble' in portrait but 'duplex' in landscape. 'head-to-head' also switches between 'duplex' and 'tumble' when using portrait and landscape modes.

“双面长边”、“双面短边”、“翻滚”和“双面”在纵向或横向上的效果相同。然而,“从头到脚”在纵向上是“翻滚”,而在横向上是“双面”使用纵向和横向模式时,“头对头”还可以在“双面”和“翻滚”之间切换。

Note: The effect of this attribute on jobs with multiple documents is controlled by the "multiple-document-handling" job attribute (section 4.2.4) and the relationship of this attribute and the other attributes that control document processing is described in section 15.3.

注:该属性对具有多个文档的作业的影响由“多文档处理”作业属性(第4.2.4节)控制,该属性与控制文档处理的其他属性的关系在第15.3节中描述。

4.2.9 number-up (integer(1:MAX))
4.2.9 向上计数(整数(1:最大值))

This attribute specifies the number of print-stream pages to impose upon a single side of an instance of a selected medium. For example, if the value is:

此属性指定要施加在选定介质实例的单面上的打印流页数。例如,如果值为:

Value Description

值描述

'1' the Printer MUST place one print-stream page on a single side of an instance of the selected medium (MAY add some sort of translation, scaling, or rotation). '2' the Printer MUST place two print-stream pages on a single side of an instance of the selected medium (MAY add some sort of translation, scaling, or rotation). '4' the Printer MUST place four print-stream pages on a single side of an instance of the selected medium (MAY add some sort of translation, scaling, or rotation).

“1”打印机必须将一个打印流页面放在所选介质实例的单面上(可能会添加某种平移、缩放或旋转)。”2'打印机必须将两个打印流页面放置在所选介质实例的单面上(可能会添加某种平移、缩放或旋转)。'4'打印机必须将四个打印流页面放置在所选介质实例的单面上(可能会添加某种平移、缩放或旋转)。

This attribute primarily controls the translation, scaling and rotation of print-stream pages.

此属性主要控制打印流页面的平移、缩放和旋转。

Note: The effect of this attribute on jobs with multiple documents is controlled by the "multiple-document-handling" job attribute (section 4.2.4) and the relationship of this attribute and the other attributes that control document processing is described in section 15.3.

注:该属性对具有多个文档的作业的影响由“多文档处理”作业属性(第4.2.4节)控制,该属性与控制文档处理的其他属性的关系在第15.3节中描述。

4.2.10 orientation-requested (type2 enum)
4.2.10 要求的方向(类型2枚举)

This attribute indicates the desired orientation for printed print-stream pages; it does not describe the orientation of the client-supplied print-stream pages.

此属性表示打印流页面的所需方向;它不描述客户端提供的打印流页面的方向。

For some document formats (such as 'application/postscript'), the desired orientation of the print-stream pages is specified within the document data. This information is generated by a device 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 object to bind the desired orientation to the document data after it has been submitted. It is expected that a Printer object would only support "orientations-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 4.2, item 1, points out that a Printer object may support or not support any Job Template attribute based on the document format supplied by the client. However, a special mention is made here since it is very likely that a Printer object will support "orientation-requested" for only a subset of the supported document formats.

对于某些文档格式(如“应用程序/postscript”),打印流页面的所需方向在文档数据中指定。此信息由设备驱动程序在提交打印作业之前生成。其他文档格式(如“文本/普通”)不包括文档数据中所需方向的概念。在后一种情况下,打印机对象可以在提交文档数据后将所需的方向绑定到文档数据。预计打印机对象只支持某些文档格式(例如“text/plain”或“text/html”)的“方向请求”,而不支持其他格式(例如“application/postscript”)。这与任何其他作业模板属性没有区别,因为第4.2节第1项指出打印机对象可能支持或不支持基于客户端提供的文档格式的任何作业模板属性。然而,这里要特别提到的是,打印机对象很可能只支持支持支持的文档格式的子集的“定向请求”。

Standard enum values are:

标准枚举值为:

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 print-stream page to be imaged by +90 degrees with respect to the medium (i.e. anti-clockwise) 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 print-stream 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 print-stream 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.

“3”“纵向”:内容将在介质的短边上成像。”4“横向”:内容将在介质的长边上成像。横向被定义为打印流页面相对于介质(即逆时针)从纵向方向旋转+90度成像。注意:之所以选择+90方向,是因为无论纵向还是横向“5”反向横向,长边上的简单修整都是相同的边:内容将在介质的长边上成像。反向横向被定义为打印流页面相对于介质(即顺时针)从纵向方向旋转-90度成像。注:之所以添加“反向横向”值,是因为有些应用程序将横向旋转到与纵向成90度,而不是+90度6“反向纵向”:内容将在介质的短边上成像。反向纵向被定义为将要成像的打印流页面相对于介质从纵向方向旋转180度。注:添加“反向纵向”值是为了与“finishings”属性一起使用,以便在只有一个整理位置的简单整理设备上整理纵向文档时,需要使用对边。因此,一个“文本”或“普通”的肖像文档可以通过一个简单的整理设备钉在“右边”,这是一些中东语言(如希伯来语)的常用方法。

Note: The effect of this attribute on jobs with multiple documents is controlled by the "multiple-document-handling" job attribute (section 4.2.4) and the relationship of this attribute and the other attributes that control document processing is described in section 15.3.

注:该属性对具有多个文档的作业的影响由“多文档处理”作业属性(第4.2.4节)控制,该属性与控制文档处理的其他属性的关系在第15.3节中描述。

4.2.11 media (type3 keyword | name(MAX))
4.2.11 媒体(类型3关键字|名称(最大值))

This attribute identifies the medium that the Printer uses for all impressions of the Job.

此属性标识打印机用于作业所有印象的介质。

The values for "media" include medium-names, medium-sizes, input-trays and electronic forms so that one attribute specifies the media.

“介质”的值包括介质名称、介质大小、输入托盘和电子表格,因此只有一个属性指定介质。

If a Printer object 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 object 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 object 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 object 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 its prints each page.

如果打印机对象支持介质名称作为该属性的值,则该介质名称会隐式选择包含指定介质的输入托盘。如果打印机对象支持介质大小作为此属性的值,则此类介质大小会隐式选择介质名称,而介质名称又隐式选择包含指定大小介质的输入托盘。如果打印机对象支持输入托盘作为该属性的值,则该输入托盘会隐式选择作业打印时该输入托盘中的介质。这种情况下,包括手动进纸输入托盘。如果打印机对象支持电子表单作为该属性的值,则该电子表单隐式选择介质名称,该介质名称又隐式选择包含该电子表单指定的介质的输入托盘。电子表单还隐式选择打印机在打印每页时必须与文档数据合并的图像。

Standard keyword values are (taken from ISO DPA and the Printer MIB) and are listed in section 14. An administrator MAY define additional values using the 'name' or 'keyword' attribute syntax, depending on implementation.

标准关键字值为(取自ISO DPA和打印机MIB),并在第14节中列出。管理员可以使用“名称”或“关键字”属性语法定义其他值,具体取决于实现。

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. If an IPP object supports "media-supported", it NEED NOT support "media-ready".

另外还有一个名为“media ready”的打印机属性,它与“media supported”的不同之处在于,合法值仅包括“media supported”值的子集,这些值是在无需操作员干预的情况下物理加载并准备打印的。如果IPP对象支持“介质支持”,则不需要支持“介质就绪”。

The relationship of this attribute and the other attributes that control document processing is described in section 15.3.

第15.3节描述了该属性与控制文档处理的其他属性之间的关系。

4.2.12 printer-resolution (resolution)
4.2.12 打印机分辨率(分辨率)

This attribute identifies the resolution that Printer uses for the Job.

此属性标识打印机用于作业的分辨率。

4.2.13 print-quality (type2 enum)
4.2.13 打印质量(类型2枚举)

This attribute specifies the print quality that the Printer uses for the Job.

此属性指定打印机用于作业的打印质量。

The standard enum values are:

标准枚举值为:

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

“3”“草稿”:打印机“4”上可用的最低质量“正常”:打印机“5”上的正常或中等质量“高”:打印机上可用的最高质量

4.3 Job Description Attributes
4.3 职位描述属性

The attributes in this section form the attribute group called "job-description". The following table summarizes these attributes. The third column indicates whether the attribute is a REQUIRED attribute that MUST be supported by Printer objects. If it is not indicated as REQUIRED, then it is OPTIONAL. The maximum size in octets for 'text' and 'name' attributes is indicated in parenthesizes.

本节中的属性构成名为“职务描述”的属性组。下表总结了这些属性。第三列指示该属性是否为打印机对象必须支持的必需属性。如果未按要求指示,则为可选。“text”和“name”属性的最大大小(以八位字节为单位)用括号表示。

   +----------------------------+----------------------+----------------+
   |      Attribute             |     Syntax           |   REQUIRED?    |
   +----------------------------+----------------------+----------------+
   | job-uri                    | uri                  |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | job-id                     | integer(1:MAX)       |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | job-printer-uri            | uri                  |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | job-more-info              | uri                  |                |
   +----------------------------+----------------------+----------------+
   | job-name                   | name (MAX)           |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | job-originating-user-name  | name (MAX)           |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | job-state                  | type1 enum           |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | job-state-reasons          | 1setOf type2 keyword |                |
   +----------------------------+----------------------+----------------+
   | job-state-message          | text (MAX)           |                |
   +----------------------------+----------------------+----------------+
   | number-of-documents        | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | output-device-assigned     | name (127)           |                |
   +----------------------------+----------------------+----------------+
   | time-at-creation           | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | time-at-processing         | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | time-at-completed          | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | number-of-intervening-jobs | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | job-message-from-operator  | text (127)           |                |
   +----------------------------+----------------------+----------------+
   | job-k-octets               | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | job-impressions            | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
        
   +----------------------------+----------------------+----------------+
   |      Attribute             |     Syntax           |   REQUIRED?    |
   +----------------------------+----------------------+----------------+
   | job-uri                    | uri                  |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | job-id                     | integer(1:MAX)       |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | job-printer-uri            | uri                  |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | job-more-info              | uri                  |                |
   +----------------------------+----------------------+----------------+
   | job-name                   | name (MAX)           |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | job-originating-user-name  | name (MAX)           |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | job-state                  | type1 enum           |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | job-state-reasons          | 1setOf type2 keyword |                |
   +----------------------------+----------------------+----------------+
   | job-state-message          | text (MAX)           |                |
   +----------------------------+----------------------+----------------+
   | number-of-documents        | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | output-device-assigned     | name (127)           |                |
   +----------------------------+----------------------+----------------+
   | time-at-creation           | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | time-at-processing         | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | time-at-completed          | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | number-of-intervening-jobs | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | job-message-from-operator  | text (127)           |                |
   +----------------------------+----------------------+----------------+
   | job-k-octets               | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | job-impressions            | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
        
   +----------------------------+----------------------+----------------+
   |      Attribute             |     Syntax           |   REQUIRED?    |
   +----------------------------+----------------------+----------------+
   | job-media-sheets           | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | job-k-octets-processed     | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | job-impressions-completed  | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | job-media-sheets-completed | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | attributes-charset         | charset              |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | attributes-natural-language| naturalLanguage      |  REQUIRED      |
   +----------------------------+----------------------+----------------+
        
   +----------------------------+----------------------+----------------+
   |      Attribute             |     Syntax           |   REQUIRED?    |
   +----------------------------+----------------------+----------------+
   | job-media-sheets           | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | job-k-octets-processed     | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | job-impressions-completed  | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | job-media-sheets-completed | integer (0:MAX)      |                |
   +----------------------------+----------------------+----------------+
   | attributes-charset         | charset              |  REQUIRED      |
   +----------------------------+----------------------+----------------+
   | attributes-natural-language| naturalLanguage      |  REQUIRED      |
   +----------------------------+----------------------+----------------+
        
4.3.1 job-uri (uri)
4.3.1 作业uri(uri)

This REQUIRED attribute contains the URI for the job. The Printer object, on receipt of a new job, generates a URI which identifies the new Job. The Printer object returns the value of the "job-uri" attribute as part of the response to a create request. The precise format of a Job URI is implementation dependent. If the Printer object supports more than one URI and there is some relationship between the newly formed Job URI and the Printer object's URI, the Printer object uses the Printer URI supplied by the client in the create request. For example, if the create request comes in over a secure channel, the new Job URI MUST use the same secure channel. This can be guaranteed because the Printer object is responsible for generating the Job URI and the Printer object is aware of its security configuration and policy as well as the Printer URI used in the create request.

此必需属性包含作业的URI。打印机对象在收到新作业时,会生成一个标识新作业的URI。打印机对象返回“作业uri”属性的值,作为对创建请求的响应的一部分。作业URI的精确格式取决于实现。如果打印机对象支持多个URI,并且新形成的作业URI与打印机对象的URI之间存在某种关系,则打印机对象将使用客户端在创建请求中提供的打印机URI。例如,如果创建请求通过安全通道传入,则新作业URI必须使用相同的安全通道。这是可以保证的,因为打印机对象负责生成作业URI,并且打印机对象知道其安全配置和策略以及创建请求中使用的打印机URI。

For a description of this attribute and its relationship to "job-id" and "job-printer-uri" attribute, see the discussion in section 2.4 on "Object Identity".

有关此属性及其与“作业id”和“作业打印机uri”属性的关系的描述,请参阅第2.4节“对象标识”中的讨论。

4.3.2 job-id (integer(1:MAX))
4.3.2 作业id(整数(1:最大值))

This REQUIRED attribute contains the ID of the job. The Printer, on receipt of a new job, generates an ID which identifies the new Job on that Printer. The Printer returns the value of the "job-id" attribute as part of the response to a create request. The 0 value is not included to allow for compatibility with SNMP index values which also cannot be 0.

此必需属性包含作业的ID。收到新作业后,打印机将生成标识该打印机上新作业的ID。打印机返回“作业id”属性的值,作为对创建请求的响应的一部分。不包括0值是为了与SNMP索引值兼容,SNMP索引值也不能为0。

For a description of this attribute and its relationship to "job-uri" and "job-printer-uri" attribute, see the discussion in section 2.4 on "Object Identity".

有关此属性及其与“作业uri”和“作业打印机uri”属性的关系的描述,请参阅第2.4节“对象标识”中的讨论。

4.3.3 job-printer-uri (uri)
4.3.3 作业打印机uri(uri)

This REQUIRED attribute identifies the Printer object that created this Job object. When a Printer object creates a Job object, it populates this attribute with the Printer object URI that was used in the create request. This attribute permits a client to identify the Printer object that created this Job object when only the Job object's URI is available to the client. The client queries the creating Printer object to determine which languages, charsets, operations, are supported for this Job.

此必需属性标识创建此作业对象的打印机对象。打印机对象创建作业对象时,将使用创建请求中使用的打印机对象URI填充此属性。当客户端只能使用作业对象的URI时,此属性允许客户端标识创建此作业对象的打印机对象。客户端查询creating Printer对象以确定此作业支持哪些语言、字符集和操作。

For a description of this attribute and its relationship to "job-uri" and "job-id" attribute, see the discussion in section 2.4 on "Object Identity".

有关此属性及其与“作业uri”和“作业id”属性的关系的描述,请参阅第2.4节“对象标识”中的讨论。

4.3.4 job-more-info (uri)
4.3.4 作业详细信息(uri)

Similar to "printer-more-info", this attribute contains the URI referencing some resource with more information about this Job object, perhaps an HTML page containing information about the Job.

与“printer more info”类似,此属性包含引用某个资源的URI,该资源包含有关此作业对象的更多信息,可能是包含作业信息的HTML页面。

4.3.5 job-name (name(MAX))
4.3.5 作业名称(名称(最大值))

This REQUIRED attribute is the name of the job. It is a name that is more user friendly than the "job-uri" attribute value. 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 create request (see Section 3.2.1.1). If, however, the "job-name" operation attribute is not supplied by the client in the create request, the Printer object, 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 Content information.

此必需属性是作业的名称。它是一个比“作业uri”属性值更友好的名称。它不需要在作业之间是唯一的。作业的“作业名称”属性设置为客户端在创建请求的“作业名称”操作属性中提供的值(参见第3.2.1.1节)。但是,如果客户端在创建请求中未提供“作业名称”操作属性,则打印机对象在创建作业时必须生成名称。打印机应从以下第一个来源生成作业“作业名称”属性的值,该来源生成值:1)第一个(或唯一)文档的“文档名称”操作属性,2)第一个(或唯一)文档的“文档URI”属性,或3)任何其他特定于工作和/或文件内容的信息。

4.3.6 job-originating-user-name (name(MAX))
4.3.6 作业发起用户名(名称(最大值))

This REQUIRED attribute contains the name of the end user that submitted the print job. The Printer object sets this attribute to the most authenticated printable name that it can obtain from the authentication service over which the IPP operation was received.

此必需属性包含提交打印作业的最终用户的名称。Printer对象将此属性设置为它可以从接收IPP操作的身份验证服务获得的最经过身份验证的可打印名称。

Only if such is not available, does the Printer object use the value supplied by the client in the "requesting-user-name" operation attribute of the create operation (see Section 8).

只有当不可用时,打印机对象才会使用客户端在创建操作的“请求用户名”操作属性中提供的值(请参阅第8节)。

Note: The Printer object needs to keep an internal originating user id of some form, typically as a credential of a principal, with the Job object. Since such an internal attribute is implementation-dependent and not of interest to clients, it is not specified as a Job Description attribute. This originating user id is used for authorization checks (if any) on all subsequent operation.

注意:打印机对象需要在作业对象中保留某种形式的内部原始用户id,通常作为主体的凭证。由于这样的内部属性依赖于实现,并且客户机不感兴趣,因此不将其指定为作业描述属性。此原始用户id用于所有后续操作的授权检查(如果有)。

4.3.7 job-state (type1 enum)
4.3.7 作业状态(类型1枚举)

This REQUIRED attribute identifies the current state of the job. Even though the IPP protocol defines eight values for job states, implementations only need to support those states which 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 object implementation.

此必需属性标识作业的当前状态。尽管IPP协议为作业状态定义了八个值,但实现只需要支持那些适合于特定实现的状态。换句话说,打印机仅支持由输出设备实现并可用于打印机对象实现的作业状态。

Standard enum values are:

标准枚举值为:

Values Symbolic Name and Description

值符号名称和描述

'3' 'pending': The job is a candidate to start processing, but is not yet processing.

“3”“挂起”:该作业是要开始处理的候选作业,但尚未处理。

'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-reason" attribute MUST indicate why the job is no longer a candidate for processing.

“4”“挂起已挂起”:由于各种原因,该作业不是要处理的候选作业,但只要原因不再存在,该作业将返回到“挂起”状态。作业的“作业状态原因”属性必须指明该作业不再是处理候选作业的原因。

'5' 'processing': One or more of:

“5”处理:一个或多个:

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 object 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

1. 作业正在使用或试图使用一个或多个纯软件过程,这些过程正在分析、创建或解释PDL等,2。作业正在使用或试图使用一个或多个硬件设备,这些设备正在解释PDL、在介质上做标记和/或执行修整,如装订等。打印机对象已准备好打印作业,但输出设备尚未打印作业,这也是因为作业尚未到达输出

device or because the job is queued in the output device or some other spooler, awaiting 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, though they NEED NOT, 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 IPP object is in the process of canceling or aborting the job. Most implementations won't bother with this nuance.

实现可能(尽管不需要)在作业的“作业状态原因”属性中包含其他值,以指示作业的进度,例如,添加“作业打印”值以指示输出设备何时实际在纸张上进行标记,和/或添加“处理到停止点”值以指示IPP对象正在取消或中止作业。大多数实现都不会考虑这种细微差别。

'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.

“6”“处理已停止”:作业在处理过程中因各种原因而停止,并将在原因不再存在时立即返回到“处理”状态。

The job's "job-state-reason" 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 object'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 object has completed canceling the job and all job status attributes have reached their final values for the job. While the Printer object 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' value.

“7”“已取消”:作业已被取消作业操作取消,打印机对象已完成取消作业,并且所有作业状态属性都已达到作业的最终值。打印机对象取消作业时,作业仍处于当前状态,但作业的“作业状态原因”属性应包含“处理到停止点”值和“由用户取消”、“由操作员取消”或“在设备上取消”值之一。

When the job moves to the 'canceled' state, the ' processing-to-stop-point' value, if present, MUST be removed, but the 'canceled-by-xxx', if present, MUST remain.

当作业移动到“已取消”状态时,“处理到停止点”值(如果存在)必须删除,但“由xxx取消”值(如果存在)必须保留。

'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 and all job status attributes have reached their final values for the job. While the Printer object 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.

“8”“中止”:作业已被系统中止,通常是在作业处于“正在处理”或“正在处理已停止”状态且打印机已完成中止作业且所有作业状态属性都已达到作业的最终值时。打印机对象中止作业时,作业保持其当前状态,但作业的“作业状态原因”属性应包含“处理到停止点”和“系统中止”值。当作业移动到“中止”状态时,必须删除“处理到停止点”值(如果存在),但“系统中止”值(如果存在)必须保留。

'9' 'completed': The job has completed successfully or with warnings or errors after processing and 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: 'completed-successfully', ' completed-with-warnings', or 'completed-with-errors' values.

“9”“已完成”:作业已成功完成,或在处理后出现警告或错误,并且所有作业介质表已成功堆叠在相应的输出箱中,并且所有作业状态属性都已达到作业的最终值。作业的“作业状态原因”属性应包含以下值之一:“已成功完成”、“已完成但出现警告”或“已完成但出现错误”。

The final value for this attribute MUST be one of: '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.

在打印机完全删除作业之前,此属性的最终值必须为“已完成”、“已取消”或“已中止”之一。作业处于“已取消”、“已中止”和“已完成”状态的时间长度取决于实现。

The following figure shows the normal job state transitions.

下图显示了正常作业状态转换。

                                                      +----> canceled
                                                     /
       +----> pending --------> processing ---------+------> completed
       |         ^                   ^               \
   --->+         |                   |                +----> aborted
       |         v                   v               /
       +----> pending-held    processing-stopped ---+
        
                                                      +----> canceled
                                                     /
       +----> pending --------> processing ---------+------> completed
       |         ^                   ^               \
   --->+         |                   |                +----> aborted
       |         v                   v               /
       +----> pending-held    processing-stopped ---+
        

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.

通常,作业从左到右进行。其他状态转换不太可能,但也不被禁止。未显示从“挂起”、“挂起”和“处理已停止”状态到“取消”状态的转换。

Jobs reach one of the three terminal states: 'completed', 'canceled', or 'aborted', after the jobs have completed all activity, including stacking output media, after the jobs have completed all activity, and all job status attributes have reached their final values for the job.

作业完成所有活动(包括堆叠输出介质)后,作业达到三种终端状态之一:“已完成”、“已取消”或“已中止”,作业完成所有活动后,所有作业状态属性达到作业的最终值。

Note: As with all other IPP attributes, if the implementation can not determine the correct value for this attribute, it SHOULD respond with the out-of-band value 'unknown' (see section 4.1) rather than try to guess at some possibly incorrect value and give the end user the wrong impression about the state of the Job object. For example, if the implementation is just a gateway into some printing system that does not provide detailed status about the print job, the IPP Job object's state might literally be 'unknown'.

注意:与所有其他IPP属性一样,如果实现无法确定此属性的正确值,则应使用带外值“未知”(参见第4.1节)进行响应,而不是尝试猜测某些可能不正确的值,并给最终用户留下关于作业对象状态的错误印象。例如,如果实现只是某个打印系统的网关,而该系统不提供打印作业的详细状态,则IPP作业对象的状态可能实际上是“未知”。

4.3.8 job-state-reasons (1setOf type2 keyword)
4.3.8 作业状态原因(1setOf type2关键字)

This attribute provides additional information about the job's current state, i.e., information that augments the value of the job's "job-state" attribute.

此属性提供有关作业当前状态的附加信息,即增加作业“作业状态”属性值的信息。

Implementation of these values is OPTIONAL, i.e., a Printer NEED NOT implement them, even if (1) the output device supports the functionality represented by the reason and (2) is available to the Printer object implementation. These values MAY be used with any job state or states for which the reason makes sense. 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'.

这些值的实现是可选的,即打印机不需要实现它们,即使(1)输出设备支持原因所表示的功能和(2)打印机对象实现可用。这些值可用于任何作业状态或原因有意义的状态。此外,在实施时,无论作业的“作业状态”属性的值是否更改,打印机必须在原因适用时返回这些值,并且在原因不再适用时不得返回这些值。当作业没有任何原因处于其当前状态时,作业的“作业状态原因”属性的值必须为“无”。

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), starting with the ' job-incoming' value:

定义了以下标准关键字值。为便于理解,这些值按可能发生的原因(如果实施)的顺序显示,从“作业传入”值开始:

'none': There are no reasons for the job's current state. 'job-incoming': The Create-Job operation has been accepted by the Printer, but the Printer is expecting additional Send-Document

“无”:作业的当前状态没有任何原因作业传入”:打印机已接受创建作业操作,但打印机需要额外的发送文档

and/or Send-URI operations and/or is accessing/accepting document data. '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, (3) the client crashed or failed to close the job before the time-out period. See section 4.4.28. 'job-outgoing': The Printer is transmitting the job to the output device. '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. '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 printer's 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 may remain in its current state or be moved to the 'pending-held' state, depending on implementation and/or job scheduling policy. 'printer-stopped-partly': The value of the Printer's "printer-state-reasons" attribute contains the value 'stopped-partly'. 'printer-stopped': The value of the Printer's "printer-state" attribute is 'stopped'. 'job-interpreting': Job is in the 'processing' state, but more specifically, the Printer is interpreting the document data. 'job-queued': Job is in the 'processing' state, but more specifically, the Printer has queued the document data. 'job-transforming': Job is in the 'processing' state, but more specifically, the Printer is interpreting document data and producing another electronic representation. 'job-printing': The output device is marking media. This value is useful for Printers which spend a great deal of time processing (1) when no marking is happening and then 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. '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 object, or by some other authorized end-user, such as a member of the job owner's security group.

和/或发送URI操作和/或正在访问/接受文档数据。”提交中断”:由于某些不可预见的原因,作业未完全提交,例如:(1)打印机在客户端关闭作业之前崩溃,(2)打印机或文档传输方法在文档数据完全传输到打印机之前以某种不可恢复的方式崩溃,(3)客户端崩溃或未能在超时期间之前关闭作业。见第4.4.28节。”作业输出“:打印机正在将作业传输到输出设备。”作业保持到指定时间:作业的“作业保持到”属性的值指定的时间段仍在将来。在删除此原因并且没有其他理由保留该职位之前,该职位不得为处理候选人。”资源未准备就绪”:作业所需的至少一个资源(如媒体、字体、资源对象等)在该作业作为候选对象的任何物理打印机上未准备就绪。此情况可能在接受作业时检测到,或随后在作业挂起或处理时检测到,具体取决于实现。根据实施和/或作业调度策略,作业可能会保持其当前状态或移动到“挂起-保留”状态。”打印机已部分停止”:打印机的“打印机状态原因”属性的值包含“已部分停止”的值打印机已停止”:打印机的“打印机状态”属性的值为“已停止”作业解释”:作业处于“处理”状态,但更具体地说,打印机正在解释文档数据作业排队:作业处于“处理”状态,但更具体地说,打印机已将文档数据排队作业转换”:作业处于“处理”状态,但更具体地说,打印机正在解释文档数据并生成另一种电子表示作业打印”:输出设备正在标记介质。此值对于花费大量时间处理的打印机非常有用(1)当没有进行标记时,然后希望显示正在进行标记;或(2)当作业处于“处理”状态时,作业处于取消或中止过程中,但标记还没有停止,因此工作的印象或纸张数量仍在增加作业被用户取消”:作业的所有者使用“取消作业”请求取消了作业,即,其身份验证身份与创建作业对象的原始用户的值相同的用户,或其他授权最终用户(如作业所有者安全组的成员)取消了作业。

'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 may 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. 'job-canceled-at-device': The job was canceled by an unidentified local user, i.e., a user at a console at the device. '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. 'processing-to-stop-point': The requester has issued a Cancel-Job operation or the Printer object has aborted the job, but is still performing some actions on the job until a specified stop point occurs or job termination/cleanup is completed.

“操作员取消作业”:操作员使用“取消作业”请求取消了作业,即,已验证为具有操作员权限(本地或远程)的用户取消了作业。如果安全策略允许任何人取消任何人的作业,则当作业被作业所有者以外的人取消时,可以使用此值。对于这样的安全政策,实际上,就取消IPP的工作而言,每个人都是运营商。”在设备上取消作业”:该作业被未识别的本地用户(即设备控制台上的用户)取消被系统中止”:作业(1)正在中止过程中,(2)已被系统中止并处于“中止”状态,或(3)已被系统中止并处于“挂起”状态,以便用户或操作员可以再次手动尝试该作业处理到停止点”:请求者已发出取消作业操作或打印机对象已中止作业,但仍在对作业执行某些操作,直到指定的停止点出现或作业终止/清理完成。

This reason is recommended to be used in conjunction with the ' processing' job state to indicate that the Printer object is still performing some actions on the job while the job remains in the 'processing' state. After all the job's job description attributes have stopped incrementing, the Printer object moves the job from the 'processing' state to the 'canceled' or ' aborted' job states.

建议将此原因与“正在处理”作业状态结合使用,以指示打印机对象仍在作业上执行某些操作,而作业仍处于“正在处理”状态。作业的所有作业描述属性停止递增后,打印机对象将作业从“正在处理”状态移动到“已取消”或“已中止”作业状态。

'service-off-line': The Printer is off-line 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. 'job-completed-successfully': The job completed successfully. 'job-completed-with-warnings': The job completed with warnings. 'job-completed-with-errors': The job completed with errors (and possibly warnings too).

“服务离线”:打印机离线,不接受任何作业。所有“挂起”作业均处于“挂起挂起”状态。如果服务或文档转换的输入受损或损坏,则这种情况可能会发生。”作业已成功完成”:作业已成功完成作业已完成,但出现警告”:作业已完成,但出现警告作业已完成但有错误”:作业已完成但有错误(可能还有警告)。

4.3.9 job-state-message (text(MAX))
4.3.9 作业状态消息(文本(最大))

This attribute specifies information about the "job-state" and "job-state-reasons" attributes in human readable text. If the Printer object supports this attribute, the Printer object 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 3.1.4.1).

此属性指定有关人类可读文本中“作业状态”和“作业状态原因”属性的信息。如果打印机对象支持此属性,则打印机对象必须能够以打印机的“支持生成的自然语言”属性标识的任何自然语言生成此消息(请参阅第3.1.4.1节中指定的“属性-自然语言”操作属性)。

Note: the value SHOULD NOT contain additional information not contained in the values of the "job-state" and "job-states-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, a new attribute with keyword values, needs to be developed and registered.

注意:该值不应包含“作业状态”和“作业状态原因”属性值中未包含的其他信息,例如解释器错误信息。否则,应用程序可能会尝试解析(本地化文本)。对于诸如应用程序使用的解释器错误等附加信息,需要开发并注册一个具有关键字值的新属性。

4.3.10 number-of-documents (integer(0:MAX))
4.3.10 文档数(整数(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 object or not.

此属性表示作业中的文档数量,即打印机为此作业接受的发送文档、发送URI、打印作业或打印URI操作的数量,无论文档数据是否已到达打印机对象。

Implementations supporting the OPTIONAL 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操作的实现应该支持此属性,以便客户端可以查询每个作业中的文档数量。

4.3.11 output-device-assigned (name(127))
4.3.11 分配的输出设备(名称(127))

This attribute identifies the output device to which the Printer object has assigned this job. If an output device implements an embedded Printer object, the Printer object NEED NOT set this attribute. If a print server implements a Printer object, the value MAY be empty (zero-length string) or not returned until the Printer object assigns an output device to the job. This attribute is particularly useful when a single Printer object support multiple devices (so called "fan-out").

此属性标识打印机对象已将此作业分配给的输出设备。如果输出设备实现嵌入式打印机对象,则打印机对象无需设置此属性。如果打印服务器实现打印机对象,则该值可能为空(零长度字符串),或者在打印机对象为作业分配输出设备之前不会返回。当单个打印机对象支持多个设备(称为“扇出”)时,此属性特别有用。

4.3.12 time-at-creation (integer(0:MAX))
4.3.12 创建时的时间(整数(0:MAX))

This attribute indicates the point in time at which the Job object was created. In order to populate this attribute, the Printer object uses the value in its "printer-up-time" attribute at the time the Job object is created.

此属性表示创建作业对象的时间点。为了填充此属性,打印机对象在创建作业对象时使用其“打印机运行时间”属性中的值。

4.3.13 time-at-processing (integer(0:MAX))
4.3.13 处理时的时间(整数(0:MAX))

This attribute indicates the point in time at which the Job object began processing. In order to populate this attribute, the Printer object uses the value in its "printer-up-time" attribute at the time the Job object is moved into the 'processing' state for the first time.

此属性表示作业对象开始处理的时间点。为了填充此属性,打印机对象在作业对象第一次进入“处理”状态时使用其“打印机启动时间”属性中的值。

4.3.14 time-at-completed (integer(0:MAX))
4.3.14 完成时的时间(整数(0:MAX))

This attribute indicates the point in time at which the Job object completed (or was cancelled or aborted). In order to populate this attribute, the Printer object uses the value in its "printer-up-time" attribute at the time the Job object is moved into the 'completed' or 'canceled' or 'aborted' state.

此属性表示作业对象完成(或取消或中止)的时间点。为了填充此属性,当作业对象移动到“已完成”、“已取消”或“已中止”状态时,打印机对象使用其“打印机运行时间”属性中的值。

4.3.15 number-of-intervening-jobs (integer(0:MAX))
4.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.

此属性表示按预期完成时间的相对时间顺序(即,当前计划顺序)“提前”完成此作业的作业数。为了提高效率,只有在执行请求此属性的操作时才需要计算此值。

4.3.16 job-message-from-operator (text(127))
4.3.16 来自操作员的作业消息(文本(127))

This attribute provides a message from an operator, system administrator or "intelligent" process to indicate to the end user the reasons for modification or other management action taken on a job.

此属性提供来自操作员、系统管理员或“智能”流程的消息,以向最终用户指示对作业进行修改或其他管理操作的原因。

4.3.17 job-k-octets (integer(0:MAX))
4.3.17 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 MUST also 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.

由于文档数据中嵌入了复制指令,该值也不得包含乘法因子。如果文档数据实际上包括文档数据的复制,则此值将包括此类复制。换句话说,该值始终是源文档数据的大小,而不是要生成的硬拷贝输出的度量。

Note: This attribute and the following two attributes ("job-impressions" and "job-media-sheets") are not intended to be counters; they are intended to be useful routing and scheduling information if known. For these three attributes, the Printer object may try to compute the value if it is not supplied in the create request. Even if the client does supply a value for these three attributes in the create request, the Printer object MAY choose to change the value if the Printer object is able to compute a value which is more accurate than the client supplied value. The Printer object may be able to determine the correct value for these three attributes either right at job submission time or at any later point in time.

注意:此属性和以下两个属性(“工作印象”和“工作媒体表”)不用于计数器;如果已知,它们将成为有用的路由和调度信息。对于这三个属性,如果create请求中未提供该值,则Printer对象可能会尝试计算该值。即使客户机在创建请求中提供了这三个属性的值,如果打印机对象能够计算出比客户机提供的值更准确的值,打印机对象也可以选择更改该值。打印机对象可以在作业提交时或以后的任何时间点确定这三个属性的正确值。

4.3.18 job-impressions (integer(0:MAX))
4.3.18 工作印象(整数(0:MAX))

This attribute specifies the total size in number of impressions of the document(s) being submitted (see the definition of impression in section 13.2.5).

该属性指定提交文件的总印模数(见第13.2.5节中的印模定义)。

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 MUST also 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指令,因此该值也不得包含乘法因子。如果文档数据实际上包括文档数据的复制,则此值将包括此类复制。换句话说,该值始终是源文档数据中的印象数,而不是作业要产生的印象数的度量。

See the Note in the "job-k-octets" attribute that also applies to this attribute.

请参阅“job-k-octets”属性中也适用于此属性的注释。

4.3.19 job-media-sheets (integer(0:MAX))
4.3.19 作业介质表(整数(0:MAX))

This 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 system administrator to control the lower and

与“job-k-octets”和“job impressions”属性不同,此值必须包括由“copies”属性指定的副本数和嵌入文档数据的“number of copies”指令(如果有)所贡献的乘法因子。此差异允许系统管理员控制下部和下部

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".

(1)支持“作业k八位字节”和“支持作业印象”的文档大小上限;(2)支持“作业媒体表”的作业大小上限。

See the Note in the "job-k-octets" attribute that also applies to this attribute.

请参阅“job-k-octets”属性中也适用于此属性的注释。

4.3.20 job-k-octets-processed (integer(0:MAX))
4.3.20 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”属性值的倍数。

Note: This attribute and the following two attributes ("job-impressions-completed" and "job-sheets-completed") are intended to be counters. That is, the value 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.

注意:此属性和以下两个属性(“工作印象完成”和“工作表完成”)是计数器。也就是说,尚未开始处理的作业的值必须为0。当作业的“作业状态”为“正在处理”或“已停止处理”时,此值旨在包含到请求属性时已处理的作业量。

4.3.21 job-impressions-completed (integer(0:MAX))
4.3.21 已完成工作印象(整数(0:最大))

This job 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.

此作业属性指定到目前为止作业已完成的印象数。对于打印设备,完成的印象包括解释、标记和堆叠输出。

See the note in "job-k-octets-processed" which also applies to this attribute.

请参阅“job-k-octets-processed”中的注释,该注释也适用于此属性。

4.3.22 job-media-sheets-completed (integer(0:MAX))
4.3.22 作业介质表已完成(整数(0:MAX))

This job attribute specifies the media-sheets completed marking and stacking for the entire job so far whether those sheets have been processed on one side or on both.

此作业属性指定到目前为止整个作业中已完成标记和堆叠的介质纸张,无论这些纸张是单面处理还是双面处理。

See the note in "job-k-octets-processed" which also applies to this attribute.

请参阅“job-k-octets-processed”中的注释,该注释也适用于此属性。

4.3.23 attributes-charset (charset)
4.3.23 属性字符集(字符集)

This REQUIRED attribute is populated using the value in the client supplied "attributes-charset" attribute in the create request. It identifies the charset (coded character set and encoding method) used by any Job attributes with attribute syntax 'text' and 'name' that were supplied by the client in the create request. See Section 3.1.4 for a complete description of the "attributes-charset" operation attribute.

使用创建请求中客户端提供的“attributes charset”属性中的值填充此必需属性。它标识任何作业属性使用的字符集(编码字符集和编码方法),属性语法为“text”和“name”,由客户端在创建请求中提供。有关“属性字符集”操作属性的完整说明,请参见第3.1.4节。

This attribute does not indicate the charset in which the 'text' and 'name' values are stored internally in the Job object. The internal charset is implementation-defined. The IPP object MUST convert from whatever the internal charset is to that being requested in an operation as specified in Section 3.1.4.

此属性不指示作业对象内部存储“text”和“name”值的字符集。内部字符集由实现定义。IPP对象必须从任何内部字符集转换为第3.1.4节规定的操作中请求的字符集。

4.3.24 attributes-natural-language (naturalLanguage)
4.3.24 属性自然语言(自然语言)

This REQUIRED attribute is populated using the value in the client supplied "attributes-natural-language" attribute in the create request. It identifies the natural language used for any Job attributes with attribute syntax 'text' and 'name' that were supplied by the client in the create request. See Section 3.1.4 for a complete description of the "attributes-natural-language" operation attribute. See Sections 4.1.1.2 and 4.1.2.2 for how a Natural Language Override may 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”标识用于任何作业属性的自然语言。有关“属性-自然语言”操作属性的完整描述,请参见第3.1.4节。请参见第4.1.1.2节和第4.1.2.2节,了解如何为与“attributes Natural Language”属性标识的值不同的每个“text”和“name”属性值明确提供自然语言覆盖。

4.4 Printer Description Attributes
4.4 打印机描述属性

These attributes form the attribute group called "printer-description". The following table summarizes these attributes, their syntax, and whether or not they are REQUIRED for a Printer object 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 parenthesizes.

这些属性构成名为“打印机描述”的属性组。下表总结了这些属性、它们的语法以及打印机对象是否需要它们来支持。如果未按要求指示,则为可选。“text”和“name”属性的最大大小(以八位字节为单位)用括号表示。

Note: How these attributes are set by an Administrator is outside the scope of this specification.

注意:管理员如何设置这些属性超出了本规范的范围。

  +----------------------------+----------------------+----------------+
  |      Attribute             |     Syntax           |   REQUIRED?    |
  +----------------------------+----------------------+----------------+
  | printer-uri-supported      | 1setOf uri           |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | uri-security-supported     | 1setOf type2 keyword |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | printer-name               | name (127)           |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | printer-location           | text (127)           |                |
  +----------------------------+----------------------+----------------+
  | printer-info               | text (127)           |                |
  +----------------------------+----------------------+----------------+
  | printer-more-info          | uri                  |                |
  +----------------------------+----------------------+----------------+
  | printer-driver-installer   | uri                  |                |
  +----------------------------+----------------------+----------------+
  | printer-make-and-model     | text (127)           |                |
  +----------------------------+----------------------+----------------+
  | printer-more-info-         | uri                  |                |
  | manufacturer               |                      |                |
  +----------------------------+----------------------+----------------+
  | printer-state              | type1 enum           |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | printer-state-reasons      | 1setOf type2 keyword |                |
  +----------------------------+----------------------+----------------+
  | printer-state-message      | text (MAX)           |                |
  +----------------------------+----------------------+----------------+
  | operations-supported       | 1setOf type2 enum    |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | charset-configured         | charset              |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | charset-supported          | 1setOf charset       |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | natural-language-configured| naturalLanguage      |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | generated-natural-language-| 1setOf               |  REQUIRED      |
  | supported                  |   naturalLanguage    |                |
  +----------------------------+----------------------+----------------+
  | document-format-default    | mimeMediaType        |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | document-format-           | 1setOf               |  REQUIRED      |
  |   supported                |   mimeMediaType      |                |
  +----------------------------+----------------------+----------------+
  | printer-is-accepting-jobs  | boolean              |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | queued-job-count           | integer (0:MAX)      |  RECOMMENDED   |
  +----------------------------+----------------------+----------------+
        
  +----------------------------+----------------------+----------------+
  |      Attribute             |     Syntax           |   REQUIRED?    |
  +----------------------------+----------------------+----------------+
  | printer-uri-supported      | 1setOf uri           |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | uri-security-supported     | 1setOf type2 keyword |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | printer-name               | name (127)           |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | printer-location           | text (127)           |                |
  +----------------------------+----------------------+----------------+
  | printer-info               | text (127)           |                |
  +----------------------------+----------------------+----------------+
  | printer-more-info          | uri                  |                |
  +----------------------------+----------------------+----------------+
  | printer-driver-installer   | uri                  |                |
  +----------------------------+----------------------+----------------+
  | printer-make-and-model     | text (127)           |                |
  +----------------------------+----------------------+----------------+
  | printer-more-info-         | uri                  |                |
  | manufacturer               |                      |                |
  +----------------------------+----------------------+----------------+
  | printer-state              | type1 enum           |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | printer-state-reasons      | 1setOf type2 keyword |                |
  +----------------------------+----------------------+----------------+
  | printer-state-message      | text (MAX)           |                |
  +----------------------------+----------------------+----------------+
  | operations-supported       | 1setOf type2 enum    |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | charset-configured         | charset              |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | charset-supported          | 1setOf charset       |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | natural-language-configured| naturalLanguage      |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | generated-natural-language-| 1setOf               |  REQUIRED      |
  | supported                  |   naturalLanguage    |                |
  +----------------------------+----------------------+----------------+
  | document-format-default    | mimeMediaType        |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | document-format-           | 1setOf               |  REQUIRED      |
  |   supported                |   mimeMediaType      |                |
  +----------------------------+----------------------+----------------+
  | printer-is-accepting-jobs  | boolean              |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | queued-job-count           | integer (0:MAX)      |  RECOMMENDED   |
  +----------------------------+----------------------+----------------+
        
  +----------------------------+----------------------+----------------+
  |      Attribute             |     Syntax           |   REQUIRED?    |
  +----------------------------+----------------------+----------------+
  | printer-message-from-      | text (127)           |                |
  | operator                   |                      |                |
  +----------------------------+----------------------+----------------+
  | color-supported            | boolean              |                |
  +----------------------------+----------------------+----------------+
  | reference-uri-schemes-     | 1setOf uriScheme     |                |
  |   supported                |                      |                |
  +----------------------------+----------------------+----------------+
  | pdl-override-supported     | type2 keyword        |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | printer-up-time            | integer (1:MAX)      |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | printer-current-time       | dateTime             |                |
  +----------------------------+----------------------+----------------+
  | multiple-operation-time-out| integer (1:MAX)      |                |
  +----------------------------+----------------------+----------------+
  | compression-supported      | 1setOf type3 keyword |                |
  +----------------------------+----------------------+----------------+
  | job-k-octets-supported     | rangeOfInteger       |                |
  |                            |    (0:MAX)           |                |
  +----------------------------+----------------------+----------------+
  | job-impressions-supported  | rangeOfInteger       |                |
  |                            |    (0:MAX)           |                |
  +----------------------------+----------------------+----------------+
  | job-media-sheets-supported | rangeOfInteger       |                |
  |                            |    (0:MAX)           |                |
  +----------------------------+----------------------+----------------+
        
  +----------------------------+----------------------+----------------+
  |      Attribute             |     Syntax           |   REQUIRED?    |
  +----------------------------+----------------------+----------------+
  | printer-message-from-      | text (127)           |                |
  | operator                   |                      |                |
  +----------------------------+----------------------+----------------+
  | color-supported            | boolean              |                |
  +----------------------------+----------------------+----------------+
  | reference-uri-schemes-     | 1setOf uriScheme     |                |
  |   supported                |                      |                |
  +----------------------------+----------------------+----------------+
  | pdl-override-supported     | type2 keyword        |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | printer-up-time            | integer (1:MAX)      |  REQUIRED      |
  +----------------------------+----------------------+----------------+
  | printer-current-time       | dateTime             |                |
  +----------------------------+----------------------+----------------+
  | multiple-operation-time-out| integer (1:MAX)      |                |
  +----------------------------+----------------------+----------------+
  | compression-supported      | 1setOf type3 keyword |                |
  +----------------------------+----------------------+----------------+
  | job-k-octets-supported     | rangeOfInteger       |                |
  |                            |    (0:MAX)           |                |
  +----------------------------+----------------------+----------------+
  | job-impressions-supported  | rangeOfInteger       |                |
  |                            |    (0:MAX)           |                |
  +----------------------------+----------------------+----------------+
  | job-media-sheets-supported | rangeOfInteger       |                |
  |                            |    (0:MAX)           |                |
  +----------------------------+----------------------+----------------+
        
4.4.1 printer-uri-supported (1setOf uri)
4.4.1 支持的打印机uri(1setOf uri)

This REQUIRED Printer attribute contains at least one URI for the Printer object. It OPTIONALLY contains more than one URI for the Printer object. An administrator determines a Printer object's URI(s) and configures this attribute to contain those URIs by some means outside the scope of IPP/1.0. The precise format of this URI is implementation dependent and depends on the protocol. See the next section for a description "uri-security-supported" which is the REQUIRED companion attribute to this "printer-uri-supported" attribute. See section 2.4 on Printer object identity and section 8.2 on security and URIs for more information.

此必需的打印机属性至少包含打印机对象的一个URI。它可以选择包含打印机对象的多个URI。管理员确定打印机对象的URI,并通过某种方式将此属性配置为包含IPP/1.0范围之外的URI。此URI的精确格式取决于实现,并取决于协议。有关“支持的uri安全性”的说明,请参阅下一节,该说明是此“支持的打印机uri”属性的必需配套属性。有关更多信息,请参阅第2.4节“打印机对象标识”和第8.2节“安全性和URI”。

4.4.2 uri-security-supported (1setOf type2 keyword)
4.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 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 object via that URI. The following standard values are defined:

此必需的打印机属性必须与“支持的打印机uri”属性具有相同的基数(包含相同数量的值)。此属性标识用于“支持的打印机URI”属性中列出的每个URI的安全机制。“支持的uri安全性”中的“第i个”值对应于“支持的打印机uri”中的“第i个”值,它描述了用于通过该uri访问打印机对象的安全机制。定义了以下标准值:

'none': There are no secure communication channel protocols in use for the given URI.

“无”:给定URI没有使用安全通信通道协议。

'ssl3': SSL3 [SSL] is the secure communications channel protocol in use for the given URI.

“ssl3”:ssl3[SSL]是用于给定URI的安全通信通道协议。

Consider the following example. For a single Printer object, an administrator configures the "printer-uri-supported" and "uri-security-supported" attributes as follows:

考虑下面的例子。对于单个打印机对象,管理员按如下方式配置“支持的打印机uri”和“支持的uri安全性”属性:

     "printer-uri-supported": 'http://acme.com/open-use-printer', '
        http://acme.com/restricted-use-printer', '
        http://acme.com/private-printer'
     "uri-security-supported": 'none', 'none', 'ssl3'
        
     "printer-uri-supported": 'http://acme.com/open-use-printer', '
        http://acme.com/restricted-use-printer', '
        http://acme.com/private-printer'
     "uri-security-supported": 'none', 'none', 'ssl3'
        

In this case, one Printer object has three URIs.

在本例中,一个打印机对象有三个URI。

- For the first URI, 'http://acme.com/open-use-printer', the value 'none' in "uri-security-supported" indicates that there is no secure channel protocol configured to run under HTTP. The name implies that there is no Basic or Digest authentication being used, but it is up to the client to determine that while using HTTP underneath the IPP application protocol. - For the second URI, 'http://acme.com/restricted-use-printer', the value 'none' in "uri-security-supported" indicates that there is no secure channel protocol configured to run under HTTP. In this case, although the name does imply that there is some sort of Basic or Digest authentication being used within HTTP, it is up to the client to determine that while using HTTP and by processing any '401 Unauthorized' HTTP error messages. - For the third URI, 'http://acme.com/private-printer', the value ' ssl3' in "uri-security-supported" indicates that SSL3 is being used to secure the channel. The client SHOULD be prepared to use SSL3 framing to negotiate an acceptable ciphersuite to use while communicating with the Printer object. In this case, the name implies the use of a secure communications channel, but the fact is made explicit by the presence of the 'ssl3' value in

- 对于第一个URI,'http://acme.com/open-use-printer,则“受支持的uri安全性”中的值“none”表示没有配置为在HTTP下运行的安全通道协议。该名称意味着没有使用基本或摘要身份验证,但在IPP应用程序协议下使用HTTP时,由客户机确定。-对于第二个URI,'http://acme.com/restricted-use-printer,则“受支持的uri安全性”中的值“none”表示没有配置为在HTTP下运行的安全通道协议。在这种情况下,虽然名称确实意味着HTTP中使用了某种基本或摘要身份验证,但在使用HTTP和处理任何“401未经授权”HTTP错误消息时,应由客户机确定。-对于第三个URI,'http://acme.com/private-printer,则“受支持的uri安全性”中的值“ssl3”表示ssl3正用于保护通道。客户端应准备好使用SSL3帧来协商与打印机对象通信时使用的可接受密码套件。在本例中,该名称意味着使用安全通信信道,但由于在中存在“ssl3”值,这一事实变得非常明确

"uri-security-supported". The client does not need to resort to understanding which security it must use by following naming conventions or by parsing the URI to determine which security mechanisms are implied.

“支持uri安全性”。客户端不需要通过以下命名约定或通过解析URI来确定隐含的安全机制来理解它必须使用的安全性。

It is expected that many IPP Printer objects will be configured to support only one channel (either configured to use SSL3 access or not), and will therefore only ever have one URI listed in the "printer-uri-supported" attribute. No matter the configuration of the Printer object (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.

预计许多IPP打印机对象将配置为仅支持一个通道(配置为使用SSL3访问或不使用SSL3访问),因此在“支持的打印机URI”属性中仅列出一个URI。无论打印机对象的配置如何(无论它只有一个URI还是多个URI),客户机都必须在目标“打印机URI”操作属性中只提供一个URI。

4.4.3 printer-name (name(127))
4.4.3 打印机名称(名称(127))

This REQUIRED Printer attribute contains the name of the Printer object. 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 may be the last part of the printer's URI or it may be unrelated. In non-US-English locales, a name may contain characters that are not allowed in a URI.

此必需的打印机属性包含打印机对象的名称。它是一个比URI更为最终用户友好的名称。管理员确定打印机的名称并将此属性设置为该名称。此名称可能是打印机URI的最后一部分,也可能与此无关。在非美国英语地区,名称可能包含URI中不允许的字符。

4.4.4 printer-location (text(127))
4.4.4 打印机位置(文本(127))

This Printer attribute identifies the location of the device. This could include things like: "in Room 123A, second floor of building XYZ".

此打印机属性标识设备的位置。这可能包括:“在XYZ大楼二楼123A室”。

4.4.5 printer-info (text(127))
4.4.5 打印机信息(文本(127))

This Printer attribute identifies the descriptive information about this Printer object. 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, 1997, please find a new printer".

此打印机属性标识有关此打印机对象的描述性信息。这可能包括:“这台打印机可用于打印人力资源演示文稿的彩色透明胶片”,或“出于对他人的礼貌,请在这台打印机上只打印小的(1-5页)作业”,甚至“这台打印机将于1997年7月1日停止使用,请找一台新打印机”。

4.4.6 printer-more-info (uri)
4.4.6 打印机详细信息(uri)

This Printer attribute contains a URI used to obtain more information about this specific Printer object. For example, this could be an HTTP type 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, end user assistance). The device manufacturer may initially populate this attribute.

此打印机属性包含用于获取有关此特定打印机对象的详细信息的URI。例如,这可能是一个HTTP类型URI,它引用Web浏览器可以访问的HTML页面。从该URI获得的信息仅供最终用户使用。可以从此URI访问IPP范围之外的功能。该信息旨在特定于此打印机实例和特定于站点的服务(例如作业定价、提供的服务、最终用户帮助)。设备制造商最初可能会填充此属性。

4.4.7 printer-driver-installer (uri)
4.4.7 打印机驱动程序安装程序(uri)

This Printer attribute contains a URI to use to locate the driver installer for this Printer object. This attribute is intended for consumption by automata. The mechanics of print driver installation is outside the scope of IPP. The device manufacturer may initially populate this attribute.

此打印机属性包含用于定位此打印机对象的驱动程序安装程序的URI。此属性旨在供自动机使用。打印驱动程序的安装机制不在IPP的范围内。设备制造商最初可能会填充此属性。

4.4.8 printer-make-and-model (text(127))
4.4.8 打印机品牌和型号(文本(127))

This Printer attribute identifies the make and model of the device. The device manufacturer may initially populate this attribute.

此打印机属性标识设备的品牌和型号。设备制造商最初可能会填充此属性。

4.4.9 printer-more-info-manufacturer (uri)
4.4.9 打印机详细信息制造商(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, print 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 may initially populate this attribute.

此打印机属性包含用于获取有关此类型设备的详细信息的URI。从该URI获得的信息仅供最终用户使用。可以从此URI访问IPP范围之外的功能(例如,最新固件、升级、打印驱动程序、可选功能、颜色支持的详细信息)。该信息旨在与本打印机密切相关,而不考虑现场特定的修改或服务。设备制造商最初可能会填充此属性。

4.4.10 printer-state (type1 enum)
4.4.10 打印机状态(类型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 object need only update this attribute before responding to an operation which requests the attribute; the Printer object NEED NOT update this attribute continually, since asynchronous event notification is not part of IPP/1.0. A Printer NEED NOT implement all values if they are not applicable to a given implementation.

打印机对象只需在响应请求该属性的操作之前更新该属性;打印机对象不需要不断更新此属性,因为异步事件通知不是IPP/1.0的一部分。如果不适用于给定的实现,打印机不需要实现所有值。

The following standard enum values are defined:

定义了以下标准枚举值:

Value Symbolic Name and Description

值符号名称和描述

'3' 'idle': If a Printer receives a job (whose required resources are ready) while in this state, such a job MUST transit into the 'processing' state immediately. If the "printer-state-reasons" attribute contains any reasons, they MUST be reasons that would not prevent a job from transiting into the 'processing' state immediately, e.g., 'toner-low'. Note: if a Printer

“3”“空闲”:如果打印机在此状态下收到作业(其所需资源已准备就绪),则此类作业必须立即转换为“处理”状态。如果“打印机状态原因”属性包含任何原因,则这些原因必须是不会阻止作业立即转换为“处理”状态的原因,例如“碳粉不足”。注意:如果是打印机

controls more than one output device, the above definition implies that a Printer is 'idle' if at least one output device is idle.

控制多个输出设备,如果至少有一个输出设备处于空闲状态,则上述定义表示打印机处于“空闲”状态。

'4' 'processing': If a Printer receives a job (whose required resources are ready) while in this state, such a job MUST transit into the 'pending' state immediately. Such a job MUST transit into the 'processing' state only after jobs ahead of it complete. If the "printer-state-reasons" attribute contains any reasons, they MUST be reasons that do not prevent the current job from printing, e.g. 'toner-low'. Note: if a Printer controls more than one output device, the above definition implies that a Printer is ' processing' if at least one output device is processing, and none is idle.

“4”“处理”:如果打印机在此状态下收到作业(其所需资源已准备就绪),则此类作业必须立即转换为“挂起”状态。只有在前面的作业完成后,此类作业才能进入“处理”状态。如果“打印机状态原因”属性包含任何原因,则这些原因必须是不阻止当前作业打印的原因,例如“碳粉不足”。注意:如果一台打印机控制多个输出设备,则上述定义意味着,如果至少有一台输出设备正在处理,并且没有一台是空闲的,则打印机正在“处理”。

'5' 'stopped': If a Printer receives a job (whose required resources are ready) while in this state, such a job MUST transit into the 'pending' state immediately. Such a job MUST transit into the 'processing' state only after some human fixes the problem that stopped the printer and after jobs ahead of it complete processing. If supported, the "printer-state-reasons" attribute MUST contain at least one reason, e.g. ' media-jam', which prevents it from either processing the current job or transitioning a 'pending' job to the 'processing' state.

“5”“已停止”:如果打印机在此状态下收到作业(其所需资源已准备就绪),则此类作业必须立即转换为“挂起”状态。只有在某些人员修复了停止打印机的问题,并且在其前面的作业完成处理后,此类作业才能进入“处理”状态。如果支持,“打印机状态原因”属性必须至少包含一个原因,例如“介质堵塞”,这会阻止打印机处理当前作业或将“挂起”作业转换为“处理”状态。

Note: if a Printer controls more than one output device, the above definition implies that a Printer is 'stopped' only if all output devices are stopped. Also, it is tempting to define 'stopped' as when a sufficient number of output devices are stopped and leave it to an implementation to define the sufficient number. But such a rule complicates the definition of 'stopped' and 'processing'. For example, with this alternate definition of 'stopped', a job can move from 'pending' to 'processing' without human intervention, even though the Printer is stopped.

注意:如果打印机控制多个输出设备,则上述定义意味着只有在所有输出设备都停止时,打印机才会“停止”。此外,将“stopped”定义为当足够数量的输出设备被停止时,并将其留给实现来定义足够数量的输出设备,这是很有诱惑力的。但这样的规则使“停止”和“处理”的定义复杂化。例如,使用“已停止”的替代定义,即使打印机已停止,作业也可以在无需人工干预的情况下从“挂起”移动到“处理”。

4.4.11 printer-state-reasons (1setOf type2 keyword)
4.4.11 打印机状态原因(1setOf type2关键字)

This Printer attribute supplies additional detail about the device's state.

此打印机属性提供有关设备状态的其他详细信息。

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).

每个关键字值可能有一个后缀,以指示其严重性级别。这三个级别是:报告(最不严重)、警告和错误(最严重)。

- '-report': This suffix indicates that the reason is a "report". An implementation may 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. - '-warning': This suffix indicates that the reason is a "warning". An implementation may 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 may be of lower quality. - '-error': This suffix indicates that the reason is an "error". An implementation MUST include all errors. If this attribute contains one or more errors, printer MUST be in the stopped state.

- “-report”:此后缀表示原因是“report”。实现可以选择省略部分或全部报告。有些报告指定打印机状态的更精细粒度;另一些则是警告的前兆。报告不得包含任何可能影响打印输出的内容。-'-警告”:此后缀表示原因是“警告”。实现可以选择省略部分或全部警告。警告是错误的前兆。警告不得包含任何阻止作业完成的内容,尽管在某些情况下,输出的质量可能较低。-'-错误”:此后缀表示原因是“错误”。实现必须包含所有错误。如果此属性包含一个或多个错误,则打印机必须处于停止状态。

If the implementation does not add any one of the three suffixes, all parties MUST assume that the reason is an "error".

如果实施中没有添加三个后缀中的任何一个,所有缔约方都必须假定原因是“错误”。

If a Printer object 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 object as a whole MAY appear as a warning in the Printer's "printer-state-reasons attribute". If the "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:

定义了以下标准关键字值:

'other': The device has detected an error other than one listed in this document. 'none': There are not reasons. This state reason is semantically equivalent to "printer-state-reasons" without any value. 'media-needed': A tray has run out of media. 'media-jam': The device has a media jam. 'paused': Someone has paused the Printer object. 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. 'shutdown': Someone has removed a Printer object from service, and the device may be powered down or physically removed. In this state, a Printer object MUST NOT produce printed output, and unless the Printer object is realized by a print server that is

“其他”:设备检测到的错误不是本文档中列出的错误没有:没有理由。此状态原因在语义上等同于“打印机状态原因”,没有任何值所需介质“:托盘的介质已用完。”“媒体卡纸”:设备出现媒体卡纸。”暂停”:有人暂停了打印机对象。在此状态下,打印机不得生成打印输出,但必须执行客户端请求的其他操作。如果打印机暂停时打印机正在打印作业,则打印机必须在打印机不再暂停时恢复打印该作业,并且在打印的暂停输出中不留下任何证据。”关机”:有人已从服务中删除打印机对象,设备可能已关机或物理删除。在这种状态下,打印机对象不能产生打印输出,除非打印机对象是由正在运行的打印服务器实现的

still active, the Printer object MUST perform no other operations requested by a client, including returning this value. If a Printer object had been printing a job when it was shutdown, the Printer NEED NOT resume printing that job when the Printer is no longer shutdown. If the Printer resumes printing such a job, it may leave evidence in the printed output of such a shutdown, e.g. the part printed before the shutdown may be printed a second time after the shutdown. 'connecting-to-device': The Printer object 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). '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. 'stopping': The Printer object is in the process of stopping the device and will be stopped in a while. When the device is stopped, the Printer object will change the Printer object'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. 'stopped-partly': When a Printer object 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. 'toner-low': The device is low on toner. 'toner-empty': The device is out of toner. 'spool-area-full': The limit of persistent storage allocated for spooling has been reached. 'cover-open': One or more covers on the device are open. 'interlock-open': One or more interlock devices on the printer are unlocked. 'door-open': One or more doors on the device are open. 'input-tray-missing': One or more input trays are not in the device. 'media-low': At least one input tray is low on media. 'media-empty': At least one input tray is empty. 'output-tray-missing': One or more output trays are not in the device 'output-area-almost-full': One or more output area is almost full (e.g. tray, stacker, collator). 'output-area-full': One or more output area is full. (e.g. tray, stacker, collator) 'marker-supply-low': The device is low on at least one marker supply. (e.g. toner, ink, ribbon)

打印机对象仍处于活动状态时,不得执行客户端请求的其他操作,包括返回此值。如果打印机对象在关机时正在打印作业,则在打印机不再关机时,打印机无需恢复打印该作业。如果打印机恢复打印此类作业,可能会在打印的关机输出中留下证据,例如,关机前打印的零件可能会在关机后再次打印。”连接到设备”:打印机对象已在输出设备上计划了一个作业,并且正在连接到共享网络输出设备(并且根据网络上其他服务器对输出设备的使用情况,可能无法在任意长的时间内实际开始打印作业)。'超时”:服务器能够连接到输出设备(或始终连接),但无法从输出设备获取响应停止”:打印机对象正在停止设备,并将在一段时间内停止。当设备停止时,打印机对象将打印机对象的状态更改为“停止”。“停止警告”原因从来都不是错误,即使对于带有单个输出设备的打印机也是如此。当输出设备停止接受作业时,当输出设备完成打印时,打印机将有此原因。”部分停止”:当打印机对象控制多个输出设备时,此原因表示一个或多个输出设备已停止。如果原因是报告,则不到一半的输出设备停止。如果原因是警告,则停止的输出设备少于所有碳粉不足”:设备碳粉不足碳粉用完”:设备碳粉用完假脱机区域已满”:已达到为假脱机分配的永久存储的限制。'盖子打开”:设备上的一个或多个盖子打开联锁打开”:打印机上的一个或多个联锁设备已解锁门打开”:设备上的一个或多个门打开输入托盘缺失”:一个或多个输入托盘不在设备中介质不足”:至少有一个输入托盘的介质不足介质为空”:至少有一个输入托盘为空输出托盘缺失”:一个或多个输出托盘不在设备“输出区域几乎已满”:一个或多个输出区域几乎已满(例如托盘、堆垛机、装订机)。'输出区域已满”:一个或多个输出区域已满。(例如托盘、堆垛机、装订机)“标记供应不足”:设备至少有一个标记供应不足。(例如碳粉、墨水、色带)

'marker-supply-empty: The device is out of at least one marker supply. (e.g. toner, ink, ribbon) 'marker-waste-almost-full': The device marker supply waste receptacle is almost full. 'marker-waste-full': The device marker supply waste receptacle is full. 'fuser-over-temp': The fuser temperature is above normal. 'fuser-under-temp': The fuser temperature is below normal. 'opc-near-eol': The optical photo conductor is near end of life. 'opc-life-over': The optical photo conductor is no longer functioning. 'developer-low': The device is low on developer. 'developer-empty: The device is out of developer. 'interpreter-resource-unavailable': An interpreter resource is unavailable (i.e. font, form)

'标记供应为空:设备至少有一个标记供应不足。(例如,碳粉、墨水、色带)“标记器废料几乎已满”:设备标记器供应废料容器几乎已满标记废物已满”:设备标记供应废物容器已满定影器温度过高”:定影器温度高于正常值热熔器温度过低”:热熔器温度低于正常值opc近下线:光学光电导体的寿命即将结束opc寿命结束:光学光电导体不再工作开发人员不足”:设备的开发人员不足开发人员为空:设备的开发人员不足。'解释器资源不可用”:解释器资源不可用(即字体、表单)

4.4.12 printer-state-message (text(MAX))
4.4.12 打印机状态消息(文本(最大值))

This Printer attribute specifies the additional information about the printer state and printer state reasons in human readable text. If the Printer object supports this attribute, the Printer object 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 3.1.4.1).

此打印机属性指定有关打印机状态和打印机状态原因的附加信息(以人类可读文本形式)。如果打印机对象支持此属性,则打印机对象必须能够以打印机的“支持生成的自然语言”属性标识的任何自然语言生成此消息(请参阅第3.1.4.1节中指定的“属性-自然语言”操作属性)。

4.4.13 operations-supported (1setOf type2 enum)
4.4.13 支持的操作(1setOf type2枚举)

This REQUIRED Printer attribute specifies the set of supported operations for this Printer object and contained Job objects. All 32-bit enum values for this attribute MUST NOT exceed 0x8FFF, since these values are passed in two octets in each Protocol request [RFC2565].

此必需的打印机属性指定此打印机对象和包含的作业对象支持的操作集。此属性的所有32位枚举值不得超过0x8FFF,因为这些值在每个协议请求[RFC2565]中以两个八位字节传递。

The following standard enum and "operation-id" (see section 3.1.2) values are defined:

定义了以下标准枚举和“操作id”(见第3.1.2节)值:

     Value               Operation Name
     -----------------   -------------------------------------
        
     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

0x0000保留,未使用0x0001保留,未使用0x0002打印作业0x0003打印URI 0x0004验证作业0x0005创建作业0x0006发送文档0x0007发送URI

0x0008 Cancel-Job 0x0009 Get-Job-Attributes 0x000A Get-Jobs 0x000B Get-Printer-Attributes 0x000C-0x3FFF reserved for future operations 0x4000-0x8FFF reserved for private extensions

0x0008取消作业0x0009获取作业属性0x000A获取作业0x000B获取打印机属性0x000C-0x3FFF保留用于未来操作0x4000-0x8FFF保留用于专用扩展

This allows for certain vendors to implement private extensions that are guaranteed to not conflict with future registered extensions. However, there is no guarantee that two or more private extensions will not conflict.

这允许某些供应商实现私有扩展,这些扩展保证不会与将来注册的扩展冲突。但是,不能保证两个或多个私有扩展不会冲突。

4.4.14 charset-configured (charset)
4.4.14 已配置字符集(字符集)

This REQUIRED Printer attribute identifies the charset that the Printer object has been configured to represent 'text' and 'name' Printer attributes that are set by the operator, system 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 object's "charset-configured" attribute MUST also be among the values of the Printer object's "charset-supported" attribute.

此必需的打印机属性标识打印机对象已配置为表示操作员、系统管理员或制造商设置的“文本”和“名称”打印机属性的字符集,即“打印机名称”(名称)、“打印机位置”(文本)、“打印机信息”(文本)和“打印机品牌和型号”(文本)。因此,打印机对象的“charset configured”属性的值也必须在打印机对象的“charset supported”属性的值中。

4.4.15 charset-supported (1setOf charset)
4.4.15 支持的字符集(1个字符集)

This REQUIRED Printer attribute identifies the set of charsets that the Printer and contained Job objects support in attributes with attribute syntax 'text' and 'name'. At least the value 'utf-8' MUST be present, since IPP objects MUST support the UTF-8 [RFC2279] charset. If a Printer object supports a charset, it means that for all attributes of syntax 'text' and 'name' the IPP object MUST (1) accept the charset in requests and return the charset in responses as needed.

此必需的打印机属性标识打印机和包含的作业对象在属性语法为“text”和“name”的属性中支持的字符集集集。由于IPP对象必须支持utf-8[RFC2279]字符集,因此必须至少存在值“utf-8”。如果打印机对象支持字符集,则意味着对于语法为“text”和“name”的所有属性,IPP对象必须(1)在请求中接受字符集,并根据需要在响应中返回字符集。

If more charsets than UTF-8 are supported, the IPP object MUST perform charset conversion between the charsets as described in Section 3.2.1.2.

如果支持的字符集多于UTF-8,IPP对象必须按照第3.2.1.2节所述在字符集之间执行字符集转换。

4.4.16 natural-language-configured (naturalLanguage)
4.4.16 自然语言配置(自然语言)

This REQUIRED Printer attribute identifies the natural language that the Printer object has been configured to represent 'text' and 'name' Printer attributes that are set by the operator, system 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 object 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 3.1.4.1 for the specification of the OPTIONAL multiple natural language support. Therefore, the value of the Printer object's "natural-language-configured" attribute MUST also be among the values of the Printer object's "generated-natural-language-supported" attribute.

客户端在“属性自然语言”操作属性中请求。有关可选多自然语言支持的规范,请参见第3.1.4.1节。因此,打印机对象的“自然语言配置”属性的值也必须在打印机对象的“支持生成的自然语言”属性的值中。

4.4.17 generated-natural-language-supported (1setOf naturalLanguage)
4.4.17 支持生成的自然语言(1套自然语言)

This REQUIRED Printer attribute identifies the natural language(s) that the Printer object and contained Job objects support in attributes with attribute syntax 'text' and 'name'. The natural language(s) supported depends on implementation and/or configuration. Unlike charsets, IPP objects MUST accept requests with any natural language or any Natural Language Override whether the natural language is supported or not.

此必需的打印机属性标识打印机对象和包含的作业对象在属性语法为“text”和“name”的属性中支持的自然语言。支持的自然语言取决于实现和/或配置。与字符集不同,IPP对象必须接受使用任何自然语言或任何自然语言覆盖的请求,无论是否支持自然语言。

If a Printer object supports a natural language, it means that for any of the attributes for which the Printer or Job object generates messages, i.e., for the "job-state-message" and "printer-state-message" attributes and Operation Messages (see Section 3.1.5) in operation responses, the Printer and Job objects MUST be able to generate messages in any of the Printer's supported natural languages. See section 3.1.4 for the specification of 'text' and ' name' attributes in operation requests and responses.

如果打印机对象支持自然语言,则表示对于打印机或作业对象生成消息的任何属性,即操作响应中的“作业状态消息”和“打印机状态消息”属性以及操作消息(见第3.1.5节),打印机和作业对象必须能够以打印机支持的任何自然语言生成消息。有关操作请求和响应中“文本”和“名称”属性的规范,请参见第3.1.4节。

Note: A Printer object that supports multiple natural languages, often has separate catalogs of messages, one for each natural language supported.

注意:支持多种自然语言的打印机对象通常有单独的消息目录,支持的每种自然语言对应一个。

4.4.18 document-format-default (mimeMediaType)
4.4.18 文档格式默认值(mimeMediaType)

This REQUIRED Printer attribute identifies the document format that the Printer object 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 types). For further details see the description of the ' mimeMediaType' attribute syntax in Section 4.1.9.

如果客户端在提供文档数据的任何操作请求中未提供“文档格式”操作属性,则此必需的打印机属性标识打印机对象已配置为采用的文档格式。此属性的标准值是Internet媒体类型(有时称为MIME类型)。有关更多详细信息,请参阅第4.1.9节中的“mimediatype”属性语法说明。

4.4.19 document-format-supported (1setOf mimeMediaType)
4.4.19 支持的文档格式(1个mimeMediaType设置)

This REQUIRED Printer attribute identifies the set of document formats that the Printer object and contained Job objects can support. For further details see the description of the ' mimeMediaType' attribute syntax in Section 4.1.9.

此必需的打印机属性标识打印机对象和包含的作业对象可以支持的文档格式集。有关更多详细信息,请参阅第4.1.9节中的“mimediatype”属性语法说明。

4.4.20 printer-is-accepting-jobs (boolean)
4.4.20 打印机正在接受作业(布尔值)

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 object is currently rejecting any jobs submitted to it. In this case, the Printer object returns the 'server-error-not-accepting-jobs' status code.

此必需的打印机属性指示打印机当前是否能够接受作业,即接受打印作业、打印URI和创建作业请求。如果该值为“true”,则打印机正在接受作业。如果该值为“false”,则打印机对象当前拒绝提交给它的任何作业。在这种情况下,打印机对象返回“服务器错误不接受作业”状态代码。

Note: 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 may cause the Printer to reject jobs when the "printer-state" is 'idle' or it may cause the Printer object to accepts jobs when the "printer-state" is 'stopped'.

注意:此值独立于“打印机状态”和“打印机状态原因”属性,因为其值不影响当前作业;相反,它会影响未来的工作。此属性可能导致打印机在“打印机状态”为“空闲”时拒绝作业,也可能导致打印机对象在“打印机状态”为“停止”时接受作业。

4.4.21 queued-job-count (integer(0:MAX))
4.4.21 排队作业计数(整数(0:MAX))

This RECOMMENDED 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 object.

此建议的打印机属性包含“挂起”、“处理”、“挂起保留”或“处理已停止”的作业数计数,由打印机对象设置。

4.4.22 printer-message-from-operator (text(127))
4.4.22 来自操作员的打印机消息(文本(127))

This Printer attribute provides a message from an operator, system 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.

此打印机属性提供来自操作员、系统管理员或“智能”进程的消息,以向最终用户指示打印机的信息或状态,例如打印机不可用的原因或预计何时可用。

4.4.23 color-supported (boolean)
4.4.23 支持颜色(布尔值)

This 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 (none are external IPP attributes in IPP/1.0).

此打印机属性标识设备是否能够进行任何类型的彩色打印,包括高亮显示颜色。所有与颜色有关的文档说明都嵌入到文档PDL中(IPP/1.0中没有外部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.

注意:最终用户可以通过查询“打印机更多信息制造商”打印机属性来确定颜色支持的性质和详细信息。

4.4.24 reference-uri-schemes-supported (1setOf uriScheme)
4.4.24 支持的参考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 operation. If a Printer object supports these optional operations, it MUST support the "reference-uri-schemes-supported" Printer attribute with at least the following schemed URI value:

此打印机属性指定在打印URI或发送URI操作的“文档URI”操作属性中支持使用哪些URI方案。如果打印机对象支持这些可选操作,则它必须支持“reference uri schemes supported”(引用uri schemes支持)打印机属性,并且至少具有以下架构uri值:

'ftp': The Printer object will use an FTP 'get' operation as

“ftp”:打印机对象将使用ftp“get”操作作为

defined in RFC 2228 [RFC2228] using FTP URLs as defined by [RFC2396] and[RFC2316].

使用[RFC2396]和[RFC2316]定义的FTP URL在RFC 2228[RFC2228]中定义。

The Printer object MAY OPTIONALLY support other URI schemes (see section 4.1.6).

打印机对象可以选择支持其他URI方案(参见第4.1.6节)。

4.4.25 pdl-override-supported (type2 keyword)
4.4.25 支持pdl覆盖(type2关键字)

This REQUIRED Printer attribute expresses the ability for a particular Printer implementation to either attempt to override document data instructions with IPP attributes or not.

此必需的打印机属性表示特定打印机实现是否能够尝试使用IPP属性覆盖文档数据指令。

This attribute takes on the following values:

此属性具有以下值:

- 'attempted': This value indicates that the Printer object attempts to make the IPP attribute values take precedence over embedded instructions in the document data, however there is no guarantee.

- “已尝试”:此值表示打印机对象试图使IPP属性值优先于文档数据中的嵌入指令,但无法保证。

- 'not-attempted': This value indicates that the Printer object makes no attempt to make the IPP attribute values take precedence over embedded instructions in the document data.

- “未尝试”:此值表示打印机对象未尝试使IPP属性值优先于文档数据中的嵌入指令。

Section 15 contains a full description of how this attribute interacts with and affects other IPP attributes, especially the "ipp-attribute-fidelity" attribute.

第15节全面描述了该属性如何与其他IPP属性交互并影响其他IPP属性,尤其是“IPP属性保真度”属性。

4.4.26 printer-up-time (integer(1:MAX))
4.4.26 打印机启动时间(整数(1:最大值))

This REQUIRED Printer attribute indicates the amount of time (in seconds) that this instance of this Printer implementation has been up and running. This value is used to populate the Job attributes "time-at-creation", "time-at-processing", and "time-at-completed". These time values are all measured in seconds and all have meaning only relative to this attribute, "printer-up-time". The value is a monotonically increasing value starting from 1 when the Printer object is started-up (initialized, booted, etc.).

此REQUIRED Printer属性表示此打印机实现实例已启动并运行的时间(秒)。此值用于填充作业属性“创建时间”、“处理时间”和“完成时间”。这些时间值都是以秒为单位测量的,并且都仅与此属性“打印机启动时间”相关。该值是从打印机对象启动(初始化、引导等)时的1开始单调递增的值。

If the Printer object 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 2. Restart from 1.

1. 知道它已经关闭了多长时间,然后以大于“n”或2的某个值恢复。从1重新启动。

In the first case, the Printer SHOULD not tweak any existing related Job attributes ("time-at-creation", "time-at-processing", and "time-at-completed"). In the second case, the Printer object SHOULD reset

在第一种情况下,打印机不应调整任何现有的相关作业属性(“创建时的时间”、“处理时的时间”和“完成时的时间”)。在第二种情况下,打印机对象应该重置

those attributes to 0. If a client queries a time-related Job attribute and finds the value to be 0, the client MUST assume that the Job was submitted in some life other than the Printer's current life.

将这些属性设置为0。如果客户端查询与时间相关的作业属性并发现该值为0,则客户端必须假定该作业是在打印机当前生命周期以外的生命周期内提交的。

4.4.27 printer-current-time (dateTime)
4.4.27 打印机当前时间(日期时间)

This Printer attribute indicates the current absolute wall-clock time. If an implementation supports this attribute, then a client could calculate the absolute wall-clock time each Job's "time-at-creation", "time-at-processing", and "time-at-completed" attributes by using both "printer-up-time" and this attribute, "printer-current-time". If an implementation does not support this attribute, a client can only calculate the relative time of certain events based on the REQUIRED "printer-up-time" attribute.

此打印机属性表示当前绝对挂钟时间。如果实现支持此属性,则客户端可以通过使用“打印机启动时间”和此属性“打印机当前时间”来计算每个作业的“创建时间”、“处理时间”和“完成时间”属性的绝对挂钟时间。如果实现不支持此属性,则客户端只能根据所需的“打印机启动时间”属性计算某些事件的相对时间。

4.4.28 multiple-operation-time-out (integer(1:MAX))
4.4.28 多次操作超时(整数(1:最大值))

This Printer attributes identifies the minimum time (in seconds) that the Printer object waits for additional Send-Document or Send-URI operations to follow a still-open multi-document Job object before taking any recovery actions, such as the ones indicated in section 3.3.1.

此打印机属性标识打印机对象在执行任何恢复操作(如第3.3.1节中所述)之前,等待附加的发送文档或发送URI操作跟随仍然打开的多文档作业对象的最短时间(秒)。

It is RECOMMENDED that vendors supply a value for this attribute that is between 60 and 240 seconds. An implementation MAY allow a system administrator to set this attribute. If so, the system administrator MAY be able to set values outside this range.

建议供应商为此属性提供一个介于60到240秒之间的值。实现可能允许系统管理员设置此属性。如果是这样,系统管理员可以设置超出此范围的值。

4.4.29 compression-supported (1setOf type3 keyword)
4.4.29 支持压缩(1setOf type3关键字)

This 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, Send-Document, and Send-URI requests.

此打印机属性标识文档数据支持的压缩算法集。压缩仅适用于文档数据;压缩不适用于IPP操作本身的编码。支持的值用于验证打印作业、发送文档和发送URI请求中客户端提供的“压缩”操作属性。

Standard values are :

标准值为:

'none': no compression is used. 'deflate': ZIP public domain inflate/deflate) compression technology 'gzip' GNU zip compression technology described in RFC 1952 [RFC1952]. 'compress': UNIX compression technology

“无”:未使用压缩泄气:压缩技术“gzip”RFC1952[RFC1952]中描述的GNU压缩技术压缩:UNIX压缩技术

4.4.30 job-k-octets-supported (rangeOfInteger(0:MAX))
4.4.30 支持作业-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 attributes in create requests. The corresponding job description attribute "job-k-octets" is defined in section 4.3.17.

此打印机属性以K个八位字节(即1024个八位字节)为单位指定作业总大小的上限和下限。支持的值用于验证create请求中客户端提供的“job-k-octets”操作属性。第4.3.17节定义了相应的职务描述属性“职务-k-八位字节”。

4.4.31 job-impressions-supported (rangeOfInteger(0:MAX))

4.4.31 支持的工作印象(整数范围(0:MAX))

This 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 attributes in create requests. The corresponding job description attribute "job-impressions" is defined in section 4.3.18.

此打印机属性指定每个作业的印数上限和下限。支持的值用于验证创建请求中客户端提供的“作业印象”操作属性。第4.3.18节定义了相应的工作描述属性“工作印象”。

4.4.32 job-media-sheets-supported (rangeOfInteger(0:MAX))
4.4.32 支持的作业介质表(整数范围(0: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 attributes in create requests. The corresponding Job attribute "job-media-sheets" is defined in section 4.3.19.

此打印机属性指定每个作业的介质张数的上限和下限。支持的值用于验证创建请求中客户端提供的“作业介质表”操作属性。第4.3.19节定义了相应的作业属性“作业介质表”。

5. Conformance
5. 一致性

This section describes conformance issues and requirements. This document introduces model entities such as objects, operations, attributes, attribute syntaxes, and attribute values. These conformance sections describe the conformance requirements which apply to these model entities.

本节描述了一致性问题和要求。本文档介绍模型实体,如对象、操作、属性、属性语法和属性值。这些一致性部分描述了适用于这些模型实体的一致性要求。

5.1 Client Conformance Requirements
5.1 客户一致性要求

A conforming client MUST support 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 of the Model document as specified in Sections 3 and 4. A conforming client MAY supply any registered extensions and/or private extensions in an operation request, as long as they meet the requirements in Section 6.

合格客户必须支持本文件中规定的所有必要操作。对于操作请求中包含的每个属性,符合要求的客户必须提供一个值,其类型和值语法符合第3节和第4节中规定的模型文件的要求。合规客户可在运营请求中提供任何注册扩展和/或私人扩展,只要它们满足第6节的要求。

Otherwise, there are no conformance requirements placed on the user interfaces provided by IPP clients or their applications. For example, one application might not allow an end user to submit multiple documents per job, while another does. One application might first query a Printer object in order to supply a graphical user interface (GUI) dialogue box with supported and default values whereas a different implementation might not.

否则,IPP客户端或其应用程序提供的用户界面不存在一致性要求。例如,一个应用程序可能不允许最终用户为每个作业提交多个文档,而另一个应用程序则允许。一个应用程序可能会首先查询打印机对象,以便为图形用户界面(GUI)对话框提供支持值和默认值,而另一个实现可能不会。

When sending a request, an IPP client NEED NOT supply any attributes that are indicated as OPTIONALLY supplied by the client.

发送请求时,IPP客户端不需要提供任何指示为可选由客户端提供的属性。

A client MUST be able to accept any of the attribute syntaxes defined in Section 4.1, including their full range, that may be returned to it in a response from a Printer object. 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.

客户机必须能够接受第4.1节中定义的任何属性语法,包括它们的完整范围,这些属性语法可以在打印机对象的响应中返回给客户机。特别是对于客户端支持的属性语法为“text”的每个属性,客户端必须接受并处理“textWithoutLanguage”和“textWithLanguage”两种形式。类似地,对于客户端支持的属性语法为“name”的每个属性,客户端必须接受并处理“nameWithoutLanguage”和“nameWithLanguage”两种形式。出于演示目的,不建议截断长属性值。推荐的方法是客户端实现允许用户滚动长属性值。

A query response may contain attribute groups, attributes, and values that the client does not expect. Therefore, a client implementation MUST gracefully handle such responses and not refuse to inter-operate with a conforming Printer that is returning extended registered or private attributes and/or attribute values that conform to Section 6. Clients may choose to ignore any parameters, attributes, or values that they do not understand.

查询响应可能包含客户端不期望的属性组、属性和值。因此,客户机实现必须优雅地处理此类响应,并且不拒绝与返回符合第6节的扩展注册或私有属性和/或属性值的一致性打印机交互。客户端可以选择忽略他们不理解的任何参数、属性或值。

5.2 IPP Object Conformance Requirements
5.2 IPP对象一致性要求

This section specifies the conformance requirements for conforming implementations with respect to objects, operations, and attributes.

本节规定了有关对象、操作和属性的一致性实现的一致性要求。

5.2.1 Objects
5.2.1 物体

Conforming implementations MUST implement all of the model objects as defined in this specification in the indicated sections:

一致性实施必须实施本规范中指定章节中定义的所有模型对象:

Section 2.1 - Printer Object Section 2.2 - Job Object

第2.1节-打印机对象第2.2节-作业对象

5.2.2 Operations
5.2.2 操作

Conforming IPP object implementations MUST implement all of the REQUIRED model operations, including REQUIRED responses, as defined in this specification in the indicated sections:

符合要求的IPP对象实施必须实施所有要求的模型操作,包括要求的响应,如本规范所示章节中的定义:

For a Printer object: Print-Job (section 3.2.1) REQUIRED Print-URI (section 3.2.2) OPTIONAL Validate-Job (section 3.2.3) REQUIRED Create-Job (section 3.2.4) OPTIONAL

对于打印机对象:打印作业(第3.2.1节)所需打印URI(第3.2.2节)可选验证作业(第3.2.3节)所需创建作业(第3.2.4节)可选

Get-Printer-Attributes (section 3.2.5) REQUIRED Get-Jobs (section 3.2.6) REQUIRED

获取打印机属性(第3.2.5节)所需获取作业(第3.2.6节)所需

For a Job object: Send-Document (section 3.3.1) OPTIONAL Send-URI (section 3.3.2) OPTIONAL Cancel-Job (section 3.3.3) REQUIRED Get-Job-Attributes (section 3.3.4) REQUIRED

对于作业对象:发送文档(第3.3.1节)可选发送URI(第3.3.2节)可选取消作业(第3.3.3节)必需获取作业属性(第3.3.4节)必需

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 attribute groups received in a request, but MUST reject a request that contains a supported operation attribute that contains an unsupported value.

符合IPP要求的对象必须支持所有要求的操作属性和这些属性的所有值(如果说明中有说明)。一致性IPP对象必须忽略请求中接收到的所有不支持或未知的操作属性或操作属性组,但必须拒绝包含不支持值的支持操作属性的请求。

The following section on object attributes specifies the support required for object attributes.

以下关于对象属性的部分指定了对象属性所需的支持。

5.2.3 IPP Object Attributes
5.2.3 IPP对象属性

Conforming IPP objects MUST support all of the REQUIRED object attributes, as defined in this specification 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 5.2.4. 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.

如果对象支持属性,则它必须仅支持本文档中指定的值或通过第5.2.4节中描述的扩展机制指定的值。它可以支持这些值的任何非空子集。也就是说,它必须至少支持一个指定值,最多支持所有指定值。

5.2.4 Extensions
5.2.4 扩展

A conforming IPP object MAY support registered extensions and private extensions, as long as they meet the requirements specified in Section 6.

合规IPP对象可支持注册扩展和专用扩展,只要它们满足第6节规定的要求。

For each attribute included in an operation response, a conforming IPP object MUST return a value whose type and value syntax conforms to the requirement of the Model document as specified in Sections 3 and 4.

对于操作响应中包含的每个属性,一致性IPP对象必须返回一个值,其类型和值语法符合第3节和第4节中规定的模型文件的要求。

5.2.5 Attribute Syntaxes
5.2.5 属性语法

An IPP object MUST be able to accept any of the attribute syntaxes defined in Section 4.1, including their full range, in any operation in which a client may supply attributes or the system administrator may configure attributes (by means outside the scope of IPP/1.0). In particular for each attribute that the IPP object supports whose attribute syntax is 'text', the IPP object MUST accept and process both the 'textWithoutLanguage' and 'textWithLanguage' forms. Similarly, for each attribute that the IPP object supports whose attribute syntax is 'name', the IPP object MUST accept and process both the 'nameWithoutLanguage' and 'nameWithLanguage' forms. Furthermore, an IPP object MUST return attributes to the client in operation responses that conform to the syntax specified in Section 4.1, including their full range if supplied previously by a client.

IPP对象必须能够接受第4.1节中定义的任何属性语法,包括其完整范围,在任何操作中,客户端可以提供属性或系统管理员可以配置属性(通过IPP/1.0范围之外的方式)。特别是对于IPP对象支持的属性语法为“text”的每个属性,IPP对象必须接受并处理“textWithoutLanguage”和“textWithLanguage”两种形式。类似地,对于IPP对象支持的属性语法为“name”的每个属性,IPP对象必须接受并处理“nameWithoutLanguage”和“nameWithLanguage”两种形式。此外,IPP对象必须在符合第4.1节规定语法的操作响应中向客户端返回属性,包括之前由客户端提供的完整范围。

5.3 Charset and Natural Language Requirements
5.3 字符集和自然语言要求

All clients and IPP objects MUST support the 'utf-8' charset as defined in section 4.1.7.

所有客户端和IPP对象必须支持第4.1.7节中定义的“utf-8”字符集。

IPP objects MUST be able to accept any client request which correctly uses the "attributes-natural-language" operation attribute or the Natural Language Override mechanism on any individual attribute whether or not the natural language is supported by the IPP object. If an IPP object supports a natural language, then it MUST be able to translate (perhaps by table lookup) all generated 'text' or 'name' attribute values into one of the supported languages (see section 3.1.4). That is, the IPP object that supports a natural language NEED NOT be a general purpose translator of any arbitrary 'text' or ' name' value supplied by the client into that natural language. However, the object MUST be able to translate (automatically generate) any of its own attribute values and messages into that natural language.

IPP对象必须能够接受在任何单个属性上正确使用“属性-自然语言”操作属性或自然语言覆盖机制的任何客户端请求,无论IPP对象是否支持自然语言。如果IPP对象支持自然语言,则它必须能够将所有生成的“文本”或“名称”属性值转换(可能通过查表)为支持的语言之一(见第3.1.4节)。也就是说,支持自然语言的IPP对象不需要是将客户端提供的任意“文本”或“名称”值转换为该自然语言的通用翻译器。但是,对象必须能够将其自身的任何属性值和消息转换(自动生成)为该自然语言。

5.4 Security Conformance Requirements
5.4 安全一致性要求

Conforming IPP Printer objects MAY support Secure Socket Layer Version 3 (SSL3) [SSL] access, support access without SSL3 or support both means of access.

符合标准的IPP打印机对象可支持安全套接字层版本3(SSL3)[SSL]访问,支持无SSL3的访问,或支持两种访问方式。

Conforming IPP clients SHOULD support SSL3 access and non-SSL3 access. Note: This client requirement to support both means that conforming IPP clients will be able to inter-operate with any IPP Printer object.

合格的IPP客户应支持SSL3接入和非SSL3接入。注:支持这两种功能的客户要求意味着合格的IPP客户将能够与任何IPP打印机对象交互操作。

For a detailed discussion of security considerations and the IPP application security profile required for SSL3 support, see section 8.

有关SSL3支持所需的安全注意事项和IPP应用程序安全配置文件的详细讨论,请参阅第8节。

6. IANA Considerations (registered and private extensions)
6. IANA注意事项(注册和专用扩展)

This section describes how IPP can be extended to allow the following registered and private extensions to IPP:

本节介绍如何扩展IPP,以允许对IPP进行以下注册和专用扩展:

1. keyword attribute values 2. enum attribute values 3. attributes 4. attribute syntaxes 5. operations 6. attribute groups 7. status codes

1. 关键字属性值2。枚举属性值3。属性4。属性语法5。行动6。属性组7。状态代码

Extensions registered for use with IPP/1.0 are OPTIONAL for client and IPP object conformance to the IPP/1.0 Model specification.

对于符合IPP/1.0模型规范的客户端和IPP对象,注册用于IPP/1.0的扩展是可选的。

These extension procedures are aligned with the guidelines as set forth by the IESG [RFC2434]. Section 11 describes how to propose new registrations for consideration. IANA will reject registration proposals that leave out required information or do not follow the appropriate format described in Section 11. IPP/1.0 may also be extended by an appropriate RFC that specifies any of the above extensions.

这些扩展程序符合IESG[RFC2434]规定的指南。第11节描述了如何提出新的注册供考虑。IANA将拒绝遗漏所需信息或未遵循第11节所述适当格式的注册提案。IPP/1.0也可以通过指定上述任何扩展的适当RFC进行扩展。

6.1 Typed 'keyword' and 'enum' Extensions
6.1 键入的“关键字”和“枚举”扩展名

IPP allows for 'keyword' and 'enum' extensions (see sections 4.1.2.3 and 4.1.4). This document uses prefixes to the 'keyword' and 'enum' basic attribute syntax type in order to communicate extra information to the reader through its name. This extra information is not represented in the protocol because it is unimportant to a client or Printer object. The list below describes the prefixes and their meaning.

IPP允许“关键字”和“枚举”扩展(见第4.1.2.3节和第4.1.4节)。本文档使用“关键字”和“枚举”基本属性语法类型的前缀,以便通过其名称向读者传达额外信息。此额外信息不在协议中表示,因为它对客户端或打印机对象不重要。下面的列表描述了前缀及其含义。

"type1": The IPP specification must be revised to add a new keyword or a new enum. No private keywords or enums are allowed.

“type1”:必须修改IPP规范,以添加新关键字或新枚举。不允许使用私有关键字或枚举。

"type2": Implementers can, at any time, add new keyword or enum values by proposing the complete specification to IANA:

“type2”:通过向IANA提出完整规范,实现者可以随时添加新的关键字或枚举值:

iana@iana.org

iana@iana.org

IANA will forward the registration proposal to the IPP Designated Expert who will review the proposal with a mailing list that the Designated Expert keeps for this purpose. Initially, that list will be the mailing list used by the IPP WG:

IANA将向IPP指定专家转发注册建议书,IPP指定专家将通过指定专家为此目的保留的邮件列表审查该建议书。最初,该列表将是IPP工作组使用的邮件列表:

ipp@pwg.org

ipp@pwg.org

even after the IPP WG is disbanded as permitted by [RFC2434]. The IPP Designated Expert is appointed by the IESG Area Director responsible for IPP, according to [RFC2434].

即使在[RFC2434]允许解散IPP工作组之后。根据[RFC2434],IPP指定专家由负责IPP的IESG区域总监任命。

When a type2 keyword or enum is approved, the IPP Designated Expert becomes the point of contact for any future maintenance that might be required for that registration.

当type2关键字或enum获得批准时,IPP指定的专家将成为该注册可能需要的任何未来维护的联系人。

"type3": Implementers can, at any time, add new keyword and enum values by submitting the complete specification to IANA as for type2 who will forward the proposal to the IPP Designated Expert. While no additional technical review is required, the IPP Designated Expert may, at his/her discretion, forward the proposal to the same mailing list as for type2 registrations for advice and comment.

“type3”:实施者可以在任何时候通过向IANA提交type2的完整规范来添加新的关键字和枚举值,IANA将提案转发给IPP指定的专家。虽然不需要额外的技术审查,但IPP指定的专家可自行决定将建议书转发至与第2类注册相同的邮件列表,以征求意见。

When a type3 keyword or enum is approved by the IPP Designated Expert, the original proposer becomes the point of contact for any future maintenance that might be required for that registration.

当IPP指定专家批准type3关键字或enum时,原始投标人将成为该注册可能需要的任何未来维护的联系人。

For type2 and type3 keywords, the proposer includes the name of the keyword in the registration proposal and the name is part of the technical review.

对于type2和type3关键字,投标人在注册建议书中包含关键字名称,该名称是技术评审的一部分。

After type2 and type3 enums specifications are approved, the IPP Designated Expert in consultation with IANA assigns the next available enum number for each enum value.

在批准类型2和类型3枚举规范后,IPP指定的专家与IANA协商,为每个枚举值分配下一个可用的枚举编号。

IANA will publish approved type2 and type3 keyword and enum attributes value registration specifications in:

IANA将在以下文件中发布批准的type2和type3关键字和枚举属性值注册规范:

        ftp.isi.edu/iana/assignments/ipp/attribute-values/xxx/yyy.txt
        
        ftp.isi.edu/iana/assignments/ipp/attribute-values/xxx/yyy.txt
        

where xxx is the attribute name that specifies the initial values and yyy.txt is a descriptive file name that contains one or more enums or keywords approved at the same time. For example, if several additional enums for stapling are approved for use with the

其中xxx是指定初始值的属性名,yyy.txt是一个描述性文件名,其中包含一个或多个同时批准的枚举或关键字。例如,如果多个用于装订的附加枚举被批准用于

"finishings" attribute (and "finishings-default" and "finishings-supported" attributes), IANA will publish the additional values in the file:

“finishings”属性(以及“finishings default”和“finishings supported”属性),IANA将在文件中发布附加值:

        ftp.isi.edu/iana/assignments/ipp/attribute-
        values/finishings/stapling.txt
        
        ftp.isi.edu/iana/assignments/ipp/attribute-
        values/finishings/stapling.txt
        

Note: Some attributes are defined to be: 'type3 keywords' | 'name' which allows for attribute values to be extended by a site administrator with administrator defined names. Such names are not registered with IANA.

注意:某些属性定义为:“type3关键字”|“名称”,允许站点管理员使用管理员定义的名称扩展属性值。此类名称未在IANA注册。

By definition, each of the three types above assert some sort of registry or review process in order for extensions to be considered valid. Each higher numbered level (1, 2, 3) tends to be decreasingly less stringent than the previous level. Therefore, any typeN value MAY be registered using a process for some typeM where M is less than N, however such registration is NOT REQUIRED. For example, a type3 value MAY be registered in a type 1 manner (by being included in a future version of an IPP specification), however, it is NOT REQUIRED.

根据定义,上述三种类型中的每一种都会断言某种类型的注册表或审查过程,以使扩展被认为是有效的。每个编号较高的级别(1、2、3)往往比上一个级别的严格程度要小得多。因此,对于M小于N的某些typeM,可以使用过程注册任何typeN值,但是不需要这样的注册。例如,type3值可以以Type1方式注册(通过包含在IPP规范的未来版本中),但是,它不是必需的。

This specification defines keyword and enum values for all of the above types, including type3 keywords.

本规范为上述所有类型(包括type3关键字)定义关键字和枚举值。

For private (unregistered) keyword extensions, implementers SHOULD use keywords with a suitable distinguishing prefix, such as "xxx-" where xxx is the (lowercase) fully qualified company name registered with IANA for use in domain names [RFC1035]. For example, if the company XYZ Corp. had obtained the domain name "XYZ.com", then a private keyword 'abc' would be: 'xyz.com-abc'.

对于私有(未注册)关键字扩展,实现者应使用具有适当区分前缀的关键字,如“xxx-”,其中xxx是在IANA注册的(小写)完全限定的公司名称,用于域名[RFC1035]。例如,如果XYZ公司获得了域名“XYZ.com”,那么私有关键字“abc”将是:“XYZ.com abc”。

Note: RFC 1035 [RFC1035] indicates that while upper and lower case letters are allowed in domain names, no significance is attached to the case. That is, two names with the same spelling but different case are to be treated as if identical. Also, the labels in a domain name must follow the rules for ARPANET host names: They must start with a letter, end with a letter or digit, and have as interior characters only letters, digits, and hyphen. Labels must be 63 characters or less. Labels are separated by the "." character.

注:RFC 1035[RFC1035]表示,虽然域名中允许使用大写和小写字母,但大小写没有任何意义。也就是说,两个拼写相同但大小写不同的名字将被视为完全相同。此外,域名中的标签必须遵循ARPANET主机名的规则:它们必须以字母开头,以字母或数字结尾,并且只有字母、数字和连字符作为内部字符。标签必须不超过63个字符。标签由“.”字符分隔。

For private (unregistered) enum extension, implementers MUST use values in the reserved integer range which is 2**30 to 2**31-1.

对于私有(未注册)枚举扩展,实现者必须使用保留整数范围内的值,即2**30到2**31-1。

6.2 Attribute Extensibility
6.2 属性扩展性

Attribute names are type2 keywords. Therefore, new attributes may be registered and have the same status as attributes in this document by following the type2 extension rules. For private (unregistered) attribute extensions, implementers SHOULD use keywords with a suitable distinguishing prefix as described in Section 6.1.

属性名称是type2关键字。因此,通过遵循type2扩展规则,可以注册新属性,并与本文档中的属性具有相同的状态。对于私有(未注册)属性扩展,实现者应使用带有适当区分前缀的关键字,如第6.1节所述。

IANA will publish approved attribute registration specifications as separate files:

IANA将发布批准的属性注册规范作为单独文件:

        ftp.isi.edu/iana/assignments/ipp/attributes/xxx-yyy.txt
        
        ftp.isi.edu/iana/assignments/ipp/attributes/xxx-yyy.txt
        

where "xxx-yyy" is the new attribute name.

其中“xxx yyy”是新的属性名称。

If a new Printer object attribute is defined and its values can be affected by a specific document format, its specification needs to contain the following sentence:

如果定义了新的打印机对象属性,并且其值可能受特定文档格式的影响,则其规范需要包含以下语句:

"The value of this attribute returned in a Get-Printer-Attributes response MAY depend on the "document-format" attribute supplied (see Section 3.2.5.1)."

Get Printer Attributes响应中返回的此属性的值可能取决于提供的“文档格式”属性(请参阅第3.2.5.1节)

If the specification does not, then its value in the Get-Printer-Attributes response MUST NOT depend on the "document-format" supplied in the request. When a new Job Template attribute is registered, the value of the Printer attributes MAY vary with "document-format" supplied in the request without the specification having to indicate so.

如果规范没有,则其在Get Printer Attributes响应中的值不得取决于请求中提供的“文档格式”。注册新作业模板属性时,打印机属性的值可能会随请求中提供的“文档格式”而变化,而无需规范指示。

6.3 Attribute Syntax Extensibility
6.3 属性语法扩展性

Attribute syntaxes are like type2 enums. Therefore, new attribute syntaxes may be registered and have the same status as attribute syntaxes in this document by following the type2 extension rules described in Section 6.1. The value codes that identify each of the attribute syntaxes are assigned in the Encoding and Transport specification [RFC2565], including a designated range for private, experimental use.

属性语法类似于type2枚举。因此,通过遵循第6.1节中描述的类型2扩展规则,可以注册新的属性语法,并与本文档中的属性语法具有相同的状态。在编码和传输规范[RFC2565]中指定了标识每个属性语法的值代码,包括用于私人实验用途的指定范围。

For attribute syntaxes, the IPP Designated Expert in consultation with IANA assigns the next attribute syntax code in the appropriate range as specified in [RFC2565]. IANA will publish approved attribute syntax registration specifications as separate files:

对于属性语法,IPP指定的专家与IANA协商,在[RFC2565]中规定的适当范围内分配下一个属性语法代码。IANA将以单独文件的形式发布批准的属性语法注册规范:

        ftp.isi.edu/iana/assignments/ipp/attribute-syntaxes/xxx-yyy.txt
        
        ftp.isi.edu/iana/assignments/ipp/attribute-syntaxes/xxx-yyy.txt
        

where 'xxx-yyy' is the new attribute syntax name.

其中,“xxx yyy”是新的属性语法名称。

6.4 Operation Extensibility
6.4 操作扩展性

Operations may also be registered following the type2 procedures described in Section 6.1, though major new operations will usually be done by a new standards track RFC that augments this document. For private (unregistered) operation extensions, implementers MUST use the range for the "operation-id" in requests specified in Section 4.4.13 "operations-supported" Printer attribute.

操作也可以按照第6.1节中描述的type2程序进行注册,尽管主要的新操作通常由一个新的标准跟踪RFC完成,该RFC补充了本文件。对于专用(未注册)操作扩展,实现者必须在第4.4.13节“支持的操作”打印机属性中指定的请求中使用“操作id”的范围。

For operations, the IPP Designated Expert in consultation with IANA assigns the next operation-id code as specified in Section 4.4.13. IANA will publish approved operation registration specifications as separate files:

对于运行,IPP指定的专家与IANA协商,按照第4.4.13节的规定分配下一个运行id代码。IANA将以单独文件的形式发布批准的操作登记规范:

        ftp.isi.edu/iana/assignments/ipp/operations/Xxx-Yyy.txt
        
        ftp.isi.edu/iana/assignments/ipp/operations/Xxx-Yyy.txt
        

where "Xxx-Yyy" is the new operation name.

其中“Xxx Yyy”是新的操作名称。

6.5 Attribute Groups
6.5 属性组

Attribute groups passed in requests and responses may be registered following the type2 procedures described in Section 6.1. The tags that identify each of the attribute groups are assigned in [RFC2565].

在请求和响应中传递的属性组可以按照第6.1节中描述的type2过程进行注册。[RFC2565]中指定了标识每个属性组的标记。

For attribute groups, the IPP Designated Expert in consultation with IANA assigns the next attribute group tag code in the appropriate range as specified in [RFC2565]. IANA will publish approved attribute group registration specifications as separate files:

对于属性组,IPP指定的专家与IANA协商,在[RFC2565]中规定的适当范围内分配下一个属性组标记代码。IANA将发布批准的属性组注册规范,作为单独的文件:

        ftp.isi.edu/iana/assignments/ipp/attribute-group-tags/xxx-yyy-
        tag.txt
        
        ftp.isi.edu/iana/assignments/ipp/attribute-group-tags/xxx-yyy-
        tag.txt
        

where 'xxx-yyy-tag' is the new attribute group tag name.

其中,“xxx yyy标记”是新的属性组标记名。

6.6 Status Code Extensibility
6.6 状态代码扩展性

Operation status codes may also be registered following the type2 procedures described in Section 6.1. The values for status codes are allocated in ranges as specified in Section 13 for each status code class:

运行状态代码也可按照第6.1节所述的类型2程序进行登记。状态代码的值在第13节规定的范围内分配给每个状态代码类别:

"informational" - Request received, continuing process "successful" - The action was successfully received, understood, and accepted "redirection" - Further action must be taken in order to complete the request "client-error" - The request contains bad syntax or cannot be fulfilled

“信息”-收到请求,继续处理“成功”-操作已成功接收、理解并接受“重定向”-必须采取进一步操作以完成请求“客户端错误”-请求包含错误语法或无法实现

"server-error" - The IPP object failed to fulfill an apparently valid request

“服务器错误”-IPP对象未能满足明显有效的请求

For private (unregistered) operation status code extensions, implementers MUST use the top of each range as specified in Section 13.

对于专用(未注册)操作状态代码扩展,实现者必须使用第13节中指定的每个范围的顶部。

For operation status codes, the IPP Designated Expert in consultation with IANA assigns the next status code in the appropriate class range as specified in Section 13. IANA will publish approved status code registration specifications as separate files:

对于运行状态代码,IPP指定的专家与IANA协商,按照第13节的规定,在适当的等级范围内分配下一个状态代码。IANA将以单独文件的形式发布批准的状态代码注册规范:

        ftp.isi.edu/iana/assignments/ipp/status-codes/xxx-yyy.txt
        
        ftp.isi.edu/iana/assignments/ipp/status-codes/xxx-yyy.txt
        

where "xxx-yyy" is the new operation status code keyword.

其中“xxx yyy”是新的运行状态代码关键字。

6.7 Registration of MIME types/sub-types for document-formats
6.7 为文档格式注册MIME类型/子类型

The "document-format" attribute's syntax is 'mimeMediaType'. This means that valid values are Internet Media Types (see Section 4.1.9). RFC 2045 [RFC2045] defines the syntax for valid Internet media types. IANA is the registry for all Internet media types.

“文档格式”属性的语法为“mimeMediaType”。这意味着有效值为互联网媒体类型(见第4.1.9节)。RFC 2045[RFC2045]定义有效Internet媒体类型的语法。IANA是所有互联网媒体类型的注册中心。

6.8 Registration of charsets for use in 'charset' attribute values
6.8 在“字符集”属性值中使用的字符集注册

The "attributes-charset" attribute's syntax is 'charset'. This means that valid values are charsets names. When a charset in the IANA registry has more than one name (alias), the name labeled as "(preferred MIME name)", if present, MUST be used (see Section 4.1.7). IANA is the registry for charsets following the procedures of [RFC2278].

“attributes charset”属性的语法是“charset”。这意味着有效值是字符集名称。当IANA注册表中的字符集具有多个名称(别名)时,必须使用标记为“(首选MIME名称)”的名称(如果存在)(请参阅第4.1.7节)。IANA是按照[RFC2278]的过程进行的字符集注册。

7. Internationalization Considerations
7. 国际化考虑

Some of the attributes have values that are text strings and names which are intended for human understanding rather than machine understanding (see the 'text' and 'name' attribute syntaxes in Sections 4.1.1 and 4.1.2).

某些属性的值是文本字符串和名称,用于人类理解,而不是机器理解(参见第4.1.1节和第4.1.2节中的“文本”和“名称”属性语法)。

In each operation request, the client

在每个操作请求中,客户端

- identifies the charset and natural language of the request which affects each supplied 'text' and 'name' attribute value, and - requests the charset and natural language for attributes returned by the IPP object in operation responses (as described in Section 3.1.4.1).

- 识别影响每个提供的“文本”和“名称”属性值的请求的字符集和自然语言,并-请求IPP对象在操作响应中返回的属性的字符集和自然语言(如第3.1.4.1节所述)。

In addition, the client MAY separately and individually identify the Natural Language Override of a supplied 'text' or 'name' attribute using the 'textWithLanguage' and 'nameWithLanguage' technique described section 4.1.1.2 and 4.1.2.2 respectively.

此外,客户可以分别使用第4.1.1.2节和第4.1.2.2节所述的“textWithLanguage”和“nameWithLanguage”技术,单独识别所提供的“text”或“name”属性的自然语言覆盖。

All IPP objects MUST support the UTF-8 [RFC2279] charset in all ' text' and 'name' attributes supported. If an IPP object supports more than the UTF-8 charset, the object MUST convert between them in order to return the requested charset to the client according to Section 3.1.4.2. If an IPP object supports more than one natural language, the object SHOULD return 'text' and 'name' values in the natural language requested where those values are generated by the Printer (see Section 3.1.4.1).

所有IPP对象必须在所有支持的“文本”和“名称”属性中支持UTF-8[RFC2279]字符集。如果IPP对象支持多于UTF-8字符集,则该对象必须在它们之间进行转换,以便根据第3.1.4.2节将请求的字符集返回给客户端。如果IPP对象支持多种自然语言,则该对象应返回打印机生成的自然语言中的“文本”和“名称”值(见第3.1.4.1节)。

For Printers that support multiple charsets and/or multiple natural languages in 'text' and 'name' attributes, different jobs may have been submitted in differing charsets and/or natural languages. All responses MUST be returned in the charset requested by the client. However, the Get-Jobs operation uses the 'textWithLanguage' and ' nameWithLanguage' mechanism to identify the differing natural languages with each job attribute returned.

对于在“文本”和“名称”属性中支持多个字符集和/或多个自然语言的打印机,可能已以不同的字符集和/或自然语言提交了不同的作业。所有响应必须在客户端请求的字符集中返回。但是,“获取作业”操作使用“textWithLanguage”和“nameWithLanguage”机制来识别返回每个作业属性的不同自然语言。

The Printer object also has configured charset and natural language attributes. The client can query the Printer object to determine the list of charsets and natural languages supported by the Printer object and what the Printer object's configured values are. See the "charset-configured", "charset-supported", "natural-language-configured", and "generated-natural-language-supported" Printer description attributes for more details.

打印机对象还配置了字符集和自然语言属性。客户端可以查询打印机对象,以确定打印机对象支持的字符集和自然语言列表,以及打印机对象的配置值。有关详细信息,请参阅“已配置字符集”、“支持字符集”、“已配置自然语言”和“支持生成的自然语言”打印机描述属性。

The "charset-supported" attributed identifies the supported charsets. If a charset is supported, the IPP object MUST be capable of converting to and from that charset into any other supported charset. In many cases, an IPP object will support only one charset and it MUST be the UTF-8 charset.

“支持的字符集”属性标识支持的字符集。如果支持某个字符集,IPP对象必须能够将该字符集转换为任何其他受支持的字符集。在许多情况下,IPP对象只支持一个字符集,并且必须是UTF-8字符集。

The "charset-configured" attribute identifies the one supported charset which is the native charset given the current configuration of the IPP object (administrator defined).

“charset configured”属性标识一个受支持的字符集,该字符集是给定IPP对象(管理员定义)当前配置的本机字符集。

The "generated-natural-language-supported" attribute identifies the set of supported natural languages for generated messages; it is not related to the set of natural languages that must be accepted for client supplied 'text' and 'name' attributes. For client supplied ' text' and 'name' attributes, an IPP object MUST accept ALL supplied natural languages. Just because a Printer object is currently

“generated natural language supported”(生成的支持的自然语言)属性标识生成的消息所支持的自然语言集;它与客户端提供的“文本”和“名称”属性必须接受的自然语言集无关。对于客户端提供的“文本”和“名称”属性,IPP对象必须接受所有提供的自然语言。只是因为打印机对象当前正在运行

configured to support 'en-us' natural language does not mean that the Printer object should reject a job if the client supplies a job name that is in 'fr-ca'.

配置为支持“en-us”自然语言并不意味着如果客户端提供的作业名称位于“fr-ca”中,则打印机对象应拒绝作业。

The "natural-language-configured" attribute identifies the one supported natural language for generated messages which is the native natural language given the current configuration of the IPP object (administrator defined).

“natural language configured”(自然语言配置)属性标识生成消息的一种受支持的自然语言,即给定IPP对象(管理员定义)当前配置的本机自然语言。

Attributes of type 'text' and 'name' are populated from different sources. These attributes can be categorized into following groups (depending on the source of the attribute):

类型为“text”和“name”的属性从不同来源填充。这些属性可分为以下组(取决于属性的来源):

1. Some attributes are supplied by the client (e.g., the client supplied "job-name", "document-name", and "requesting-user-name" operation attributes along with the corresponding Job object's "job-name" and "job-originating-user-name" attributes). The IPP object MUST accept these attributes in any natural language no matter what the set of supported languages for generated messages 2. Some attributes are supplied by the system administrator (e.g., the Printer object's "printer-name" and "printer-location" attributes). These too can be in any natural language. If the natural language for these attributes is different than what a client requests, then they must be reported using the Natural Language Override mechanism. 3. Some attributes are supplied by the device manufacturer (e.g., the Printer object's "printer-make-and-model" attribute). These too can be in any natural language. If the natural language for these attributes is different than what a client requests, then they must be reported using the Natural Language Override mechanism. 4. Some attributes are supplied by the operator (e.g., the Job object's "job-message-from-operator" attribute). These too can be in any natural language. If the natural language for these attributes is different than what a client requests, then they must be reported using the Natural Language Override mechanism. 5. Some attributes are generated by the IPP object (e.g., the Job object's "job-state-message" attribute, the Printer object's "printer-state-message" attribute, and the "status-message" operation attribute). These attributes can only be in one of the "generated-natural-language-supported" natural languages. If a client requests some natural language for these attributes other than one of the supported values, the IPP object SHOULD respond using the value of the "natural-language-configured" attribute (using the Natural Language Override mechanism if needed).

1. 一些属性由客户端提供(例如,客户端提供的“作业名称”、“文档名称”和“请求用户名”操作属性以及相应作业对象的“作业名称”和“作业发起用户名”属性)。IPP对象必须接受任何自然语言中的这些属性,无论生成的消息2支持的语言集是什么。某些属性由系统管理员提供(例如,打印机对象的“打印机名称”和“打印机位置”属性)。这些也可以是任何自然语言。如果这些属性的自然语言与客户端请求的不同,则必须使用自然语言覆盖机制报告它们。3.某些属性由设备制造商提供(例如,打印机对象的“打印机品牌和型号”属性)。这些也可以是任何自然语言。如果这些属性的自然语言与客户端请求的不同,则必须使用自然语言覆盖机制报告它们。4.某些属性由操作员提供(例如,作业对象的“来自操作员的作业消息”属性)。这些也可以是任何自然语言。如果这些属性的自然语言与客户端请求的不同,则必须使用自然语言覆盖机制报告它们。5.某些属性由IPP对象生成(例如,作业对象的“作业状态消息”属性、打印机对象的“打印机状态消息”属性和“状态消息”操作属性)。这些属性只能在“支持生成的自然语言”自然语言之一中。如果客户端为这些属性请求某些自然语言,而不是支持的值之一,IPP对象应使用“自然语言配置”属性的值进行响应(如果需要,使用自然语言覆盖机制)。

The 'text' and 'name' attributes specified in this version of this document (additional ones will be registered according to the procedures in Section 6) are:

本版本文件中规定的“文本”和“名称”属性(其他属性将根据第6节中的程序进行注册)为:

     Attributes                      Source
     --------------------------      ----------
     Operation Attributes
        job-name (name)               client
        document-name (name)          client
        requesting-user-name (name)   client
        status-message                Job or Printer object
        
     Attributes                      Source
     --------------------------      ----------
     Operation Attributes
        job-name (name)               client
        document-name (name)          client
        requesting-user-name (name)   client
        status-message                Job or Printer object
        

Job Template Attributes: job-hold-until) client matches administrator-configured (keyword | name job-hold-until-default client matches administrator-configured (keyword | name) job-hold-until-supported client matches administrator-configured (keyword | name) job-sheets client matches administrator-configured (keyword | name) job-sheets-default client matches administrator-configured (keyword | name) job-sheets-supported client matches administrator-configured (keyword | name) media client matches administrator-configured (keyword | name) media-default client matches administrator-configured (keyword | name) media-supported client matches administrator-configured (keyword | name) media-ready client matches administrator-configured (keyword | name)

作业模板属性:作业保留直到)客户端匹配管理员配置(关键字|名称作业保留直到默认客户端匹配管理员配置(关键字|名称)作业保留直到支持的客户端匹配管理员配置(关键字|名称)作业表客户端匹配管理员配置(关键字|名称)工作表默认客户端匹配管理员配置的(关键字|名称)工作表支持的客户端匹配管理员配置的(关键字|名称)媒体客户端匹配管理员配置的(关键字|名称)媒体默认客户端匹配管理员配置的(关键字|名称)媒体支持的客户端匹配管理员配置的(关键字|名称)媒体就绪客户端与管理员配置的匹配(关键字|名称)

Job Description Attributes: job-name (name) client or Printer object job-originating-user-name (name) Printer object job-state-message (text) Job or Printer object output-device-assigned (name(127)) administrator job-message-from-operator (text(127)) operator

作业描述属性:作业名称(名称)客户端或打印机对象作业发起用户名(名称)打印机对象作业状态消息(文本)作业或分配的打印机对象输出设备(名称(127))来自操作员的管理员作业消息(文本(127))操作员

Printer Description Attributes: printer-name (name(127)) administrator printer-location (text(127)) administrator printer-info (text(127)) administrator printer-make-and-model (text(127)) administrator or manufacturer printer-state-message (text) Printer object printer-message-from-operator (text(127)) operator

打印机描述属性:打印机名称(名称(127))管理员打印机位置(文本(127))管理员打印机信息(文本(127))管理员打印机品牌和型号(文本(127))管理员或制造商打印机状态消息(文本)打印机对象来自操作员的打印机消息(文本(127))操作员

8. Security Considerations
8. 安全考虑

Some IPP objects MAY be deployed over protocol stacks that support Secure Socket Layer Version 3 (SSL3) [SSL]. Note: SSL3 is not an IETF standards track specification. Other IPP objects MAY be deployed over protocol stacks that do not support SSL3. Some IPP objects MAY be deployed over both types of protocol stacks. Those IPP objects that support SSL3, are capable of supporting mutual authentication as well as privacy of messages via multiple encryption schemes. An important point about security related information for SSL3 access to an IPP object, is that the security-related parameters (authentication, encryption keys, etc.) are "out-of-band" to the actual IPP protocol.

某些IPP对象可能部署在支持安全套接字层版本3(SSL3)[SSL]的协议栈上。注:SSL3不是IETF标准轨道规范。其他IPP对象可能部署在不支持SSL3的协议栈上。某些IPP对象可以部署在这两种类型的协议栈上。那些支持SSL3的IPP对象能够通过多种加密方案支持相互身份验证和消息隐私。SSL3访问IPP对象的安全相关信息的一个重要方面是,安全相关参数(身份验证、加密密钥等)与实际IPP协议“带外”。

An IPP object that does not support SSL3 MAY elect to support a transport layer that provides other security mechanisms. For example, in a mapping of IPP over HTTP/1.1 [RFC2565], if the IPP object does not support SSL3, HTTP still allows for client authentication using Digest Access Authentication (DAA) [RFC2069].

不支持SSL3的IPP对象可以选择支持提供其他安全机制的传输层。例如,在IPP在HTTP/1.1[RFC2565]上的映射中,如果IPP对象不支持SSL3,HTTP仍然允许使用摘要访问身份验证(DAA)[RFC2069]进行客户端身份验证。

It is difficult to anticipate the security risks that might exist in any given IPP environment. For example, if IPP is used within a given corporation over a private network, the risks of exposing document data may be low enough that the corporation will choose not to use encryption on that data. However, if the connection between the client and the IPP object is over a public network, the client may wish to protect the content of the information during transmission through the network with encryption.

很难预测任何给定IPP环境中可能存在的安全风险。例如,如果IPP通过专用网络在给定公司内使用,则公开文档数据的风险可能很低,公司将选择不对该数据使用加密。然而,如果客户机和IPP对象之间的连接是通过公共网络的,则客户机可能希望在通过网络传输期间使用加密来保护信息的内容。

Furthermore, the value of the information being printed may vary from one IPP environment to the next. Printing payroll checks, for example, would have a different value than printing public information from a file. There is also the possibly of denial-of-service attacks, but denial-of-service attacks against printing resources are not well understood and there is no published precedents regarding this scenario.

此外,正在打印的信息的价值可能因IPP环境的不同而不同。例如,打印工资支票的值与从文件打印公共信息的值不同。也可能存在拒绝服务攻击,但是对打印资源的拒绝服务攻击还没有很好的了解,并且没有关于此场景的公开先例。

Once the authenticated identity of the requester has been supplied to the IPP object, the object uses that identity to enforce any authorization policy that might be in place. For example, one site's policy might be that only the job owner is allowed to cancel a job. The details and mechanisms to set up a particular access control policy are not part of IPP/1.0, and must be established via some other type of administrative or access control framework. However, there are operation status codes that allow an IPP server to return information back to a client about any potential access control violations for an IPP object.

一旦请求者的经过身份验证的身份被提供给IPP对象,该对象就会使用该身份强制实施可能存在的任何授权策略。例如,一个站点的策略可能是只允许作业所有者取消作业。设置特定访问控制策略的详细信息和机制不是IPP/1.0的一部分,必须通过其他类型的管理或访问控制框架建立。但是,有一些操作状态代码允许IPP服务器将有关IPP对象的任何潜在访问控制冲突的信息返回给客户端。

During a create operation, the client's identity is recorded in the Job object in an implementation-defined attribute. This information can be used to verify a client's identity for subsequent operations on that Job object in order to enforce any access control policy that might be in effect. See section 8.3 below for more details.

在创建操作期间,客户机的标识记录在作业对象中的实现定义属性中。此信息可用于验证该作业对象上后续操作的客户端身份,以便强制实施任何可能生效的访问控制策略。详见下文第8.3节。

Since the security levels or the specific threats that any given IPP system administrator may be concerned with cannot be anticipated, IPP MUST be capable of operating with different security mechanisms and security policies as required by the individual installation. Security policies might vary from very strong, to very weak, to none at all, and corresponding security mechanisms will be required. SSL3 supports the type of negotiated levels of security required by most, if not all, potential IPP environments. IPP environments that require no security can elect to deploy IPP objects that do not utilize the optional SSL3 security mechanisms.

由于无法预测任何给定IPP系统管理员可能涉及的安全级别或特定威胁,IPP必须能够根据个别安装的要求使用不同的安全机制和安全策略进行操作。安全策略可能从非常强到非常弱,甚至完全没有,并且需要相应的安全机制。SSL3支持大多数(如果不是全部)潜在IPP环境所需的协商安全级别。不需要安全性的IPP环境可以选择部署不使用可选SSL3安全机制的IPP对象。

8.1 Security Scenarios
8.1 安全场景

The following sections describe specific security attacks for IPP environments. Where examples are provided they should be considered illustrative of the environment and not an exhaustive set. Not all of these environments will necessarily be addressed in initial implementations of IPP.

以下各节介绍IPP环境的特定安全攻击。如果提供了示例,则应将其视为环境的说明性示例,而不是详尽的示例集。并非所有这些环境都必须在IPP的初始实现中解决。

8.1.1 Client and Server in the Same Security Domain
8.1.1 同一安全域中的客户端和服务器

This environment is typical of internal networks where traditional office workers print the output of personal productivity applications on shared work-group printers, or where batch applications print their output on large production printers. Although the identity of the user may be trusted in this environment, a user might want to protect the content of a document against such attacks as eavesdropping, replaying or tampering.

这种环境是典型的内部网络环境,传统的办公室工作人员在共享工作组打印机上打印个人生产力应用程序的输出,或者批处理应用程序在大型生产打印机上打印其输出。尽管在此环境中用户的身份可能是可信的,但用户可能希望保护文档内容免受窃听、重播或篡改等攻击。

8.1.2 Client and Server in Different Security Domains
8.1.2 不同安全域中的客户端和服务器

Examples of this environment include printing a document created by the client on a publicly available printer, such as at a commercial print shop; or printing a document remotely on a business associate's printer. This latter operation is functionally equivalent to sending the document to the business associate as a facsimile. Printing sensitive information on a Printer in a different security domain requires strong security measures. In this environment authentication of the printer is required as well as protection against unauthorized use of print resources. Since the document crosses security domains,

此环境的示例包括在公共可用打印机上打印客户创建的文档,例如在商业打印商店;或者在业务伙伴的打印机上远程打印文档。后一种操作在功能上等同于将文档作为传真发送给业务伙伴。在不同安全域的打印机上打印敏感信息需要强大的安全措施。在此环境中,需要对打印机进行身份验证,并防止未经授权使用打印资源。由于文档跨越安全域,

protection against eavesdropping and document tampering are also required. It will also be important in this environment to protect Printers against "spamming" and malicious document content.

还需要防止窃听和文件篡改。在这种环境下,保护打印机免受“垃圾邮件”和恶意文档内容的侵害也很重要。

8.1.3 Print by Reference
8.1.3 参照打印

When the document is not stored on the client, printing can be done by reference. That is, the print request can contain a reference, or pointer, to the document instead of the actual document itself. Standard methods currently do not exist for remote entities to "assume" the credentials of a client for forwarding requests to a 3rd party. It is anticipated that Print-By-Reference will be used to access "public" documents and that sophisticated methods for authenticating "proxies" will not be specified for version 1 of IPP.

当文档未存储在客户机上时,可以通过引用进行打印。也就是说,打印请求可以包含指向文档的引用或指针,而不是实际文档本身。目前不存在远程实体“假定”客户端凭据以向第三方转发请求的标准方法。预计通过引用打印将用于访问“公共”文件,IPP第1版不会指定验证“代理”的复杂方法。

8.2 URIs for SSL3 and non-SSL3 Access
8.2 SSL3和非SSL3访问的URI

As described earlier, an IPP object can support SSL3 access, non-SSL3 access, or both. The "printer-uri-supported" attribute contains the Printer object's URI(s). Its companion attribute, "uri-security-supported", identifies the security mechanism used for each URI listed in the "printer-uri-supported" attribute. For each Printer operation request, a client MUST supply only one URI in the "printer-uri" operation attribute. In other words, even though the Printer supports more than one URI, the client only interacts with the Printer object using one if its URIs. This duality is not needed for Job objects, since the Printer objects is the factory for Job objects, and the Printer object will generate the correct URI for new Job objects depending on the Printer object's security configuration.

如前所述,IPP对象可以支持SSL3访问、非SSL3访问或两者兼有。“支持的打印机uri”属性包含打印机对象的uri。它的配套属性“urisecuritysupported”标识用于“打印机urisupported”属性中列出的每个uri的安全机制。对于每个打印机操作请求,客户端必须在“打印机URI”操作属性中仅提供一个URI。换句话说,即使打印机支持多个URI,客户机也只使用一个URI与打印机对象进行交互。作业对象不需要这种双重性,因为打印机对象是作业对象的工厂,打印机对象将根据打印机对象的安全配置为新作业对象生成正确的URI。

8.3 The "requesting-user-name" (name(MAX)) Operation Attribute
8.3 “请求用户名”(name(MAX))操作属性

Each operation MUST specify the user who is performing the operation in both of the following two ways:

每个操作必须指定以以下两种方式执行操作的用户:

1) via the REQUIRED "requesting-user-name" operation attribute that a client SHOULD supply in all operations. The client MUST obtain the value for this attribute from an environmental or network login name for the user, rather than allowing the user to supply any value. If the client does not supply a value for "requesting-user-name", the printer MUST assume that the client is supplying some anonymous name, such as "anonymous". 2) via an authentication mechanism of the underlying transport which may be configured to give no authentication information.

1) 通过客户端在所有操作中应提供的必需“请求用户名”操作属性。客户端必须从用户的环境或网络登录名获取此属性的值,而不是允许用户提供任何值。如果客户端未提供“请求用户名”的值,则打印机必须假定客户端提供了某种匿名名称,如“匿名”。2) 通过底层传输的认证机制,该机制可被配置为不提供认证信息。

There are six cases to consider:

有六种情况需要考虑:

a) the authentication mechanism gives no information, and the client doesn't specify "requesting-user-name". b) the authentication mechanism gives no information, but the client specifies "requesting-user-name". c) the authentication mechanism specifies a user which has no human readable representation, and the client doesn't specify "requesting-user-name". d) the authentication mechanism specifies a user which has no human readable representation, but the client specifies "requesting-user-name". e) the authentication mechanism specifies a user which has a human readable representation. The Printer object ignores the "requesting-user-name". f) the authentication mechanism specifies a user who is trusted and whose name means that the value of the "requesting-user-name", which MUST be present, is treated as the authenticated name.

a) 身份验证机制不提供任何信息,客户端也不指定“请求用户名”。b) 身份验证机制不提供任何信息,但客户端指定“请求用户名”。c) 身份验证机制指定的用户没有人类可读的表示形式,而客户端没有指定“请求用户名”。d) 身份验证机制指定没有人类可读表示的用户,但客户端指定“请求用户名”。e) 身份验证机制指定具有人类可读表示的用户。打印机对象忽略“请求用户名”。f) 身份验证机制指定一个受信任的用户,该用户的名称意味着必须存在的“请求用户名”的值被视为经过身份验证的名称。

Note: Case "f" is intended for a tightly coupled gateway and server to work together so that the "user" name is able to be that of the gateway client and not that of the gateway. Because most, if not all, system vendors will initially implement IPP via a gateway into their existing print system, this mechanism is necessary unless the authentication mechanism allows a gateway (client) to act on behalf of some other client.

注意:案例“f”旨在使紧密耦合的网关和服务器协同工作,以便“用户名”可以是网关客户端的用户名,而不是网关的用户名。由于大多数(如果不是全部的话)系统供应商最初都会通过网关将IPP实施到其现有的打印系统中,因此这种机制是必要的,除非身份验证机制允许网关(客户端)代表其他客户端。

The user-name has two forms:

用户名有两种形式:

- one that is human readable: it is held in the REQUIRED "job-originating-user-name" Job Description attribute which is set during the job creation operations. It is used for presentation only, such as returning in queries or printing on start sheets - one for authorization: it is held in an undefined (by IPP) Job object attribute which is set by the job creation operation. It is used to authorize other operations, such as Send-Document, Send-URI, Cancel-Job, to determine the user when the "my-jobs" attribute is specified with Get-Jobs, and to limit what attributes and values to return with Get-Job-Attributes and Get-Jobs.

- 一种可读性:它保存在所需的“作业发起用户名”作业描述属性中,该属性在作业创建操作期间设置。它仅用于表示,例如在查询中返回或在起始页上打印-一个用于授权:它保存在由作业创建操作设置的未定义(由IPP)作业对象属性中。它用于授权其他操作,例如发送文档、发送URI、取消作业,以确定在使用Get jobs指定“我的作业”属性时的用户,并限制使用Get Job属性和Get jobs返回哪些属性和值。

The human readable user name:

人类可读的用户名:

- is the value of the "requesting-user-name" for cases b, d and f. - comes from the authentication mechanism for case e - is some anonymous name, such as "anonymous" for cases a and c.

- 是案例b、d和f的“请求用户名”的值来自案例e的身份验证机制-是一些匿名名称,例如案例a和c的“匿名”。

The user name used for authorization:

用于授权的用户名:

- is the value of the "requesting-user-name" for cases b and f. - comes from the authentication mechanism for cases c, d and e - is some anonymous name, such as "anonymous" for case a.

- 是案例b和f的“请求用户名”的值来自案例c、d和e的身份验证机制-是一些匿名名称,例如案例a的“匿名”。

The essence of these rules for resolving conflicting sources of user-names is that a printer implementation is free to pick either source as long as it achieves consistent results. That is, if a user uses the same path for a series of requests, the requests MUST appear to come from the same user from the standpoint of both the human-readable user name and the user name for authorization. This rule MUST continue to apply even if a request could be authenticated by two or more mechanisms. It doesn't matter which of several authentication mechanisms a Printer uses as long as it achieves consistent results. If a client uses more than one authentication mechanism, it is recommended that an administrator make all credentials resolve to the same user and user-name as much as possible.

这些用于解决用户名冲突源的规则的本质是,打印机实现可以自由选择任何一个源,只要它获得一致的结果。也就是说,如果用户对一系列请求使用相同的路径,则从人类可读用户名和用于授权的用户名的角度来看,请求必须看起来来自同一用户。即使请求可以通过两个或多个机制进行身份验证,此规则也必须继续适用。打印机使用几种身份验证机制中的哪一种并不重要,只要它能获得一致的结果。如果客户端使用多个身份验证机制,建议管理员尽可能将所有凭据解析为同一用户名。

8.4 Restricted Queries
8.4 受限查询

In many IPP operations, a client supplies a list of attributes to be returned in the response. For security reasons, an IPP object may be configured not to return all attributes (or all values) that a client requests. The job attributes returned MAY depend on whether the requesting user is the same as the user that submitted the job. The IPP object MAY even return none of the requested attributes. In such cases, the status returned is the same as if the object had returned all requested attributes. The client cannot tell by such a response whether the requested attribute was present or absent on the object.

在许多IPP操作中,客户机提供了要在响应中返回的属性列表。出于安全原因,IPP对象可能被配置为不返回客户端请求的所有属性(或所有值)。返回的作业属性可能取决于请求用户是否与提交作业的用户相同。IPP对象甚至可能不返回任何请求的属性。在这种情况下,返回的状态与对象返回所有请求的属性的状态相同。客户机无法通过这样的响应判断对象上是否存在请求的属性。

8.5 Queries on jobs submitted using non-IPP protocols
8.5 对使用非IPP协议提交的作业的查询

If the device that an IPP Printer is representing is able to accept jobs using other job submission protocols in addition to IPP, it is RECOMMENDED that such an implementation at least allow such "foreign" jobs to be queried using Get-Jobs returning "job-id" and "job-uri" as 'unknown'. Such an implementation NEED NOT support all of the same IPP job attributes as for IPP jobs. The IPP object returns the ' unknown' out-of-band value for any requested attribute of a foreign job that is supported for IPP jobs, but not for foreign jobs.

如果IPP打印机所代表的设备能够使用除IPP之外的其他作业提交协议接受作业,则建议这样的实现至少允许使用返回“作业id”和“作业uri”为“未知”的Get作业查询此类“外部”作业。这种实现不需要支持与IPP作业相同的所有IPP作业属性。IPP对象返回IPP作业支持但不支持外部作业的外部作业的任何请求属性的“未知”带外值。

It is further RECOMMENDED, that the IPP Printer generate "job-id" and "job-uri" values for such "foreign jobs", if possible, so that they may be targets of other IPP operations, such as Get-Job-Attributes and Cancel-Job. Such an implementation also needs to deal with the problem of authentication of such foreign jobs. One approach would be to treat all such foreign jobs as belonging to users other than the user of the IPP client. Another approach would be for the

进一步建议,如果可能,IPP打印机为此类“外部作业”生成“作业id”和“作业uri”值,以便它们可能成为其他IPP操作的目标,例如获取作业属性和取消作业。这种实施还需要处理此类外国工作的认证问题。一种方法是将所有此类外来作业视为属于IPP客户端用户以外的用户。另一种方法是针对

foreign job to belong to 'anonymous'. Only if the IPP client has been authenticated as an operator or administrator of the IPP Printer object, could the foreign jobs be queried by an IPP request. Alternatively, if the security policy is to allow users to query other users' jobs, then the foreign jobs would also be visible to an end-user IPP client using Get-Jobs and Get-Job-Attributes.

外国工作属于“匿名”。只有当IPP客户端已作为IPP打印机对象的操作员或管理员进行身份验证时,IPP请求才能查询外部作业。或者,如果安全策略允许用户查询其他用户的作业,则最终用户IPP客户端也可以使用Get jobs和Get Job属性查看外部作业。

8.6 IPP Security Application Profile for SSL3
8.6 SSL3的IPP安全应用程序配置文件

The IPP application profile for SSL3 follows the "Secure Socket Layer" requirement as documented in the SSL3 specification [SSL]. For interoperability, the SSL3 cipher suites are:

SSL3的IPP应用程序配置文件遵循SSL3规范[SSL]中记录的“安全套接字层”要求。为了实现互操作性,SSL3密码套件包括:

SSL_RSA_WITH_RC4_128_MD5 SSL_RSA_WITH_3DES_EDE_CBC_SHA SSL_RSA_WITH_DES_CBC_SHA SSL_RSA_EXPORT_WITH_RC4_40_MD5 SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 SSL_RSA_WITH_NULL_MD5

SSL\u RSA\u与RC4\u 128\u MD5 SSL\u RSA\u与rdes\u EDE\u CBC\u SHA SSL\u RSA\u与DES\u CBC\u SHA SSL\u RSA\u导出与RC4\u MD5 SSL\u RSA\u导出与RC2\u CBC\u 40\u MD5 SSL\u RSA\u与NULL\u MD5

Client implementations MUST NOT assume any other cipher suites are supported by an IPP Printer object.

客户端实现不得假定IPP打印机对象支持任何其他密码套件。

If a conforming IPP object supports SSL3, it MUST implement and support the cipher suites listed above and MAY support additional cipher suites.

如果一致性IPP对象支持SSL3,则它必须实现并支持上面列出的密码套件,并可能支持其他密码套件。

A conforming IPP client SHOULD support SSL3 including the cipher suites listed above. A conforming IPP client MAY support additional cipher suites.

合格的IPP客户应支持SSL3,包括上述密码套件。合格的IPP客户端可支持额外的密码套件。

It is possible that due to certain government export restrictions some non-compliant versions of this extension could be deployed. Implementations wishing to inter-operate with such non-compliant versions MAY offer the SSL_RSA_EXPORT_WITH_RC4_40_MD5 and SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 mechanisms. However, since 40 bit ciphers are known to be vulnerable to attack by current technology, any client which actives a 40 bit cipher MUST NOT indicate to the user that the connection is completely secure from eavesdropping.

由于某些政府出口限制,可能会部署此扩展的某些不合规版本。希望与此类不兼容版本交互操作的实现可能会提供带有RC4\U 40\U MD5的SSL\U RSA\U导出机制和带有CBC\U 40\U MD5的SSL\U RSA\U导出机制。然而,由于已知40位密码容易受到当前技术的攻击,因此任何激活40位密码的客户端不得向用户表明连接完全安全,不会被窃听。

9. References
9. 工具书类

[ASCII] Coded Character Set - 7-bit American Standard Code for Information Interchange (ASCII), ANSI X3.4-1986. This standard is the specification of the US-ASCII charset.

[ASCII]编码字符集-7位美国信息交换标准代码(ASCII),ANSI X3.4-1986。本标准是US-ASCII字符集的规范。

   [HTPP]       J. Barnett, K. Carter, R. DeBry,  "Initial Draft -
                Hypertext Printing Protocol - HTPP/1.0", October 1996.
                ftp://ftp.pwg.org/pub/pwg/ipp/historic/htpp/
                overview.ps.gz
        
   [HTPP]       J. Barnett, K. Carter, R. DeBry,  "Initial Draft -
                Hypertext Printing Protocol - HTPP/1.0", October 1996.
                ftp://ftp.pwg.org/pub/pwg/ipp/historic/htpp/
                overview.ps.gz
        
   [IANA-CS]    IANA Registry of Coded Character Sets:
                ftp://ftp.isi.edu/in-notes/iana/assignments/character-
                sets
        
   [IANA-CS]    IANA Registry of Coded Character Sets:
                ftp://ftp.isi.edu/in-notes/iana/assignments/character-
                sets
        
   [IANA-MT]    IANA Registry of Media Types:  ftp://ftp.isi.edu/in-
                notes/iana/assignments/media-types/
        
   [IANA-MT]    IANA Registry of Media Types:  ftp://ftp.isi.edu/in-
                notes/iana/assignments/media-types/
        

[ipp-iig] Hastings, T. and C. Manros, "Internet Printing Protocol/1.0: Implementer's Guide", Work in Progress.

[ipp iig]Hastings,T.和C.Manros,“互联网打印协议/1.0:实施者指南”,正在进行的工作。

   [ISO10646-1] ISO/IEC 10646-1:1993, "Information technology --
                Universal Multiple-Octet Coded Character Set (UCS) -
                Part 1: Architecture and Basic Multilingual Plane,
                JTC1/SC2."
        
   [ISO10646-1] ISO/IEC 10646-1:1993, "Information technology --
                Universal Multiple-Octet Coded Character Set (UCS) -
                Part 1: Architecture and Basic Multilingual Plane,
                JTC1/SC2."
        

[ISO8859-1] ISO/IEC 8859-1:1987, "Information technology -- 8-bit One-Byte Coded Character Set - Part 1: Latin Alphabet Nr 1", 1987, JTC1/SC2.

[ISO8859-1]ISO/IEC 8859-1:1987,“信息技术——8位单字节编码字符集——第1部分:拉丁字母Nr 1”,1987年,JTC1/SC2。

[ISO10175] ISO/IEC 10175 Document Printing Application (DPA), June 1996.

[ISO10175]ISO/IEC 10175文件打印应用(DPA),1996年6月。

   [LDPA] T. Hastings, S. Isaacson, M. MacKay, C. Manros, D. Taylor, P.
                Zehler, "LDPA - Lightweight Document Printing
                Application", October 1996,
                ftp://ftp.pwg.org/pub/pwg/ipp/historic/ldpa/ldpa8.pdf.gz
        
   [LDPA] T. Hastings, S. Isaacson, M. MacKay, C. Manros, D. Taylor, P.
                Zehler, "LDPA - Lightweight Document Printing
                Application", October 1996,
                ftp://ftp.pwg.org/pub/pwg/ipp/historic/ldpa/ldpa8.pdf.gz
        

[P1387.4] Kirk, M. (Editor), POSIX System Administration - Part 4: Printing Interfaces, POSIX 1387.4 D8, 1994.

[P1387.4]Kirk,M.(编辑),POSIX系统管理-第4部分:打印接口,POSIX 1387.4 D81994。

[PSIS] Herriot, R. (editor), X/Open A Printing System Interoperability Specification (PSIS), August 1995.

[PSIS]Herriot,R.(编辑),X/Open A打印系统互操作性规范(PSIS),1995年8月。

[PWG] Printer Working Group, http://www.pwg.org.

[PWG]打印机工作组,http://www.pwg.org.

[RFC1035] Mockapetris, P., "DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION", STD 13, RFC 1035, November 1987.

[RFC1035]Mockapetris,P.,“域名-实现和规范”,STD 13,RFC 1035,1987年11月。

[RFC1759] Smith, R., Wright, F., Hastings, T., Zilles, S. and J. Gyllenskog, "Printer MIB", RFC 1759, March 1995.

[RFC1759]Smith,R.,Wright,F.,Hastings,T.,Zilles,S.和J.Gylenskog,“打印机MIB”,RFC 1759,1995年3月。

[RFC1766] Alvestrand, H., "Tags for the Identification of Languages", RFC 1766, March 1995.

[RFC1766]Alvestrand,H.,“语言识别标签”,RFC1766,1995年3月。

[RFC1179] McLaughlin, L. (Editor), "Line Printer Daemon Protocol", RFC 1179, August 1990.

[RFC1179]McLaughlin,L.(编辑),“行打印机守护程序协议”,RFC1179,1990年8月。

[RFC1952] Deutsch, P., "GZIP file format specification version 4.3", RFC 1952, May 1996.

[RFC1952]Deutsch,P.,“GZIP文件格式规范版本4.3”,RFC1952,1996年5月。

[RFC2045] Freed, N. and N. Borenstein, " Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996.

[RFC2045]Freed,N.和N.Borenstein,“多用途Internet邮件扩展(MIME)第一部分:Internet邮件正文格式”,RFC 20451996年11月。

[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, November 1996.

[RFC2046]Freed,N.和N.Borenstein,“多用途Internet邮件扩展(MIME)第二部分:媒体类型”,RFC 20461996年11月。

[RFC2048] Freed, N., Klensin, J. and J. Postel, "Multipurpose Internet Mail Extension (MIME) Part Four: Registration Procedures", RFC 2048, November 1996.

[RFC2048]Freed,N.,Klensin,J.和J.Postel,“多用途互联网邮件扩展(MIME)第四部分:注册程序”,RFC 20481996年11月。

[RFC2068] Fielding, R., Gettys, J., Mogul, J., Frystyk, H. AND T. Berners-Lee, "Hypertext Transfer Protocol - HTTP/1.1", RFC 2068, January 1997.

[RFC2068]菲尔丁,R.,盖蒂斯,J.,莫卧儿,J.,弗莱斯蒂克,H.和T.伯纳斯李,“超文本传输协议-HTTP/1.1”,RFC 2068,1997年1月。

[RFC2069] Franks, J., Hallam-Baker, P., Hostetler, J., Leach, P., Luotonen, A., Sink, E. and L. Stewart, "An Extension to HTTP: Digest Access Authentication", RFC 2069, January 1997.

[RFC2069]Franks,J.,Hallam Baker,P.,Hostetler,J.,Leach,P.,Lootonen,A.,Sink,E.和L.Stewart,“HTTP的扩展:摘要访问认证”,RFC 2069,1997年1月。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

[RFC2228] Horowitz, M. and S. Lunt, "FTP Security Extensions", RFC 2228, October 1997.

[RFC2228]Horowitz,M.和S.Lunt,“FTP安全扩展”,RFC2228,1997年10月。

[RFC2277] Alvestrand, H., "IETF Policy on Character Sets and Languages" RFC 2277, January 1998.

[RFC2277]Alvestrand,H.,“IETF字符集和语言政策”,RFC2277,1998年1月。

[RFC2278] Freed, N. and J. Postel: "IANA Charset Registration Procedures", BCP 19, RFC 2278, January 1998.

[RFC2278]Freed,N.和J.Postel:“IANA字符集注册程序”,BCP 19,RFC 2278,1998年1月。

[RFC2279] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC 2279, January 1998.

[RFC2279]Yergeau,F.,“UTF-8,ISO 10646的转换格式”,RFC 2279,1998年1月。

[RFC2316] Bellovin, S., "Report of the IAB Security Architecture Workshop", RFC 2316, April 1998.

[RFC2316]Bellovin,S.,“IAB安全架构研讨会报告”,RFC 2316,1998年4月。

[RFC2396] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC 2396, August 1998.

[RFC2396]Berners Lee,T.,Fielding,R.和L.Masinter,“统一资源标识符(URI):通用语法”,RFC 2396,1998年8月。

[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.

[RFC2434]Narten,T.和H.Alvestrand,“在RFCs中编写IANA注意事项部分的指南”,BCP 26,RFC 2434,1998年10月。

[RFC2565] Herriot, R., Butler, S., Moore, P. and R. Tuner "Internet Printing Protocol/1.0: Encoding and Transport", RFC 2565, April 1999.

[RFC2565]Herriot,R.,Butler,S.,Moore,P.和R.Tuner“互联网打印协议/1.0:编码和传输”,RFC 25651999年4月。

[RFC2567] Wright, D., "Design Goals for an Internet Printing Protocol", RFC 2567, April 1999.

[RFC2567]Wright,D.,“互联网打印协议的设计目标”,RFC2567,1999年4月。

[RFC2568] Zilles, S., "Rationale for the Structure and Model and Protocol for the Internet Printing Protocol", RFC 2568, April 1999.

[RFC2568]Zilles,S.“互联网打印协议的结构、模型和协议的基本原理”,RFC 2568,1999年4月。

[RFC2569] Herriot, R., Hastings, T., Jacobs, N. and J. Martin, "Mapping between LPD and IPP Protocols", RFC 2569, April 1999.

[RFC2569]Herriot,R.,Hastings,T.,Jacobs,N.和J.Martin,“LPD和IPP协议之间的映射”,RFC 2569,1999年4月。

[RFC2579] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.

[RFC2579]McCloghrie,K.,Perkins,D.和J.Schoenwaeld,“SMIv2的文本约定”,STD 58,RFC 2579,1999年4月。

[SSL] Netscape, The SSL Protocol, Version 3, (Text version 3.02), November 1996.

[SSL]Netscape,SSL协议,版本3,(文本版本3.02),1996年11月。

   [SWP]        P. Moore, B. Jahromi, S. Butler, "Simple Web Printing
                SWP/1.0", May 7, 1997,
                ftp://ftp.pwg.org/pub/pwg/ipp/new_PRO/swp9705.pdf
        
   [SWP]        P. Moore, B. Jahromi, S. Butler, "Simple Web Printing
                SWP/1.0", May 7, 1997,
                ftp://ftp.pwg.org/pub/pwg/ipp/new_PRO/swp9705.pdf
        
10. Authors' Addresses
10. 作者地址

Scott A. Isaacson (Editor) Novell, Inc. 122 E 1700 S Provo, UT 84606

Scott A.Isaacson(编辑)Novell,Inc.122 E 1700 S Provo,UT 84606

Phone: 801-861-7366 Fax: 801-861-2517 EMail: sisaacson@novell.com

电话:801-861-7366传真:801-861-2517电子邮件:sisaacson@novell.com

Tom Hastings Xerox Corporation 737 Hawaii St. El Segundo, CA 90245

汤姆黑斯廷斯施乐公司,美国加利福尼亚州夏威夷圣塞贡多737号,邮编90245

Phone: 310-333-6413 Fax: 310-333-5514 EMail: hastings@cp10.es.xerox.com

电话:310-333-6413传真:310-333-5514电子邮件:hastings@cp10.es.xerox.com

Robert Herriot Xerox Corporation 3400 Hillview Ave., Bldg #1 Palo Alto, CA 94304

罗伯特·赫里奥特施乐公司加利福尼亚州帕洛阿尔托市希尔维尤大道3400号1栋94304

Phone: 650-813-7696 Fax: 650-813-6860 EMail: robert.herriot@pahv.xerox.com

电话:650-813-7696传真:650-813-6860电子邮件:罗伯特。herriot@pahv.xerox.com

Roger deBry Utah Valley State College Orem, UT 84058

罗杰·德布里犹他谷州立学院奥勒姆,UT 84058

Phone: (801) 222-8000 EMail: debryro@uvsc.edu

电话:(801)222-8000电子邮件:debryro@uvsc.edu

Patrick Powell Astart Technologies 9475 Chesapeake Dr., Suite D San Diego, CA 95123

Patrick Powell Astart Technologies 9475切萨皮克博士,加利福尼亚州圣地亚哥D套房,邮编95123

Phone: (619) 874-6543 Fax: (619) 279-8424 EMail: papowell@astart.com

电话:(619)874-6543传真:(619)279-8424电子邮件:papowell@astart.com

   IPP Mailing List:  ipp@pwg.org
   IPP Mailing List Subscription: ipp-request@pwg.org
   IPP Web Page:  http://www.pwg.org/ipp/
        
   IPP Mailing List:  ipp@pwg.org
   IPP Mailing List Subscription: ipp-request@pwg.org
   IPP Web Page:  http://www.pwg.org/ipp/
        

Implementers of this specification are encouraged to join IPP Mailing List in order to participate in any discussions of clarification issues and review of registration proposals for additional attributes and values.

鼓励本规范的实施者加入IPP邮件列表,以便参与澄清问题的任何讨论,并审查其他属性和值的注册提案。

Other Participants:

其他与会者:

Chuck Adams - Tektronix Jeff Barnett - IBM Ron Bergman - Dataproducts Corp. Sylvan Butler - HP Keith Carter - IBM Corporation Jeff Copeland - QMS Andy Davidson - Tektronix Mabry Dozier - QMS Lee Farrell - Canon Information Systems Steve Gebert - IBM Babek Jahromi - Microsoft David Kellerman - Northlake Software Rick Landau - Digital Greg LeClair - Epson Harry Lewis - IBM Pete Loya - HP Ray Lutz - Cognisys Mike MacKay - Novell, Inc. Daniel Manchala - Xerox Carl-Uno Manros - Xerox Jay Martin - Underscore Larry Masinter - Xerox Stan McConnell - Xerox Ira McDonald - High North Inc. Paul Moore - Microsoft Tetsuya Morita - Ricoh Yuichi Niwa - Ricoh Pat Nogay - IBM

Chuck Adams-Tektronix Jeff Barnett-IBM Ron Bergman-Dataproducts Corp.Sylvan Butler-HP Keith Carter-IBM Corporation Jeff Copeland-QMS Andy Davidson-Tektronix Mabry Dozier-QMS Lee Farrell-佳能信息系统公司Steve Gebert-IBM Babek Jahromi-微软David Kellerman-北湖软件公司Rick Landau-数字格雷格·勒克莱尔-爱普生·哈里·刘易斯-IBM皮特·洛亚-惠普·雷·卢茨-科尼司迈克·麦凯-诺维尔公司丹尼尔·曼查拉-施乐公司卡尔·乌诺·曼罗斯-施乐公司杰伊·马丁-拉里·马斯特特-施乐公司斯坦·麦康奈尔-施乐公司艾拉·麦克唐纳-高北公司保罗·摩尔-微软·森田铁树-理光·宇一·尼瓦-理光·帕特·诺盖-IBM

Ron Norton - Printronics Bob Pentecost - HP Rob Rhoads - Intel Xavier Riley - Xerox David Roach - Unisys Stuart Rowley - Kyocera Hiroyuki Sato - Canon Bob Setterbo - Adobe Devon Taylor - Novell, Inc. Mike Timperman - Lexmark Randy Turner - Sharp Atsushi Yuki - Kyocera Rick Yardumian - Xerox Lloyd Young - Lexmark Bill Wagner - DPI Jim Walker - DAZEL Chris Wellens - Interworking Labs Rob Whittle - Novell, Inc. Don Wright - Lexmark Peter Zehler - Xerox Steve Zilles - Adobe

Ron Norton-Printronics Bob Pentecost-HP Rob Rhoads-Intel Xavier Riley-Xerox David Roach-Unisys Stuart Rowley-Kyocera Hiroyuki Sato-Canon Bob Setterbo-Adobe Devon Taylor-Novell,Mike Timperman公司-Lexmark Randy Turner公司-Sharp Atsushi Yuki公司-京瓷Rick Yardumian公司-施乐Lloyd Young公司-Lexmark Bill Wagner公司-DPI Jim Walker公司-DAZEL Chris Wellens公司-互通实验室Rob Whittle公司-Novell公司-Don Wright公司-Lexmark Peter Zehler公司-施乐公司Steve Zilles公司-Adobe公司

11. Formats for IPP Registration Proposals
11. IPP注册建议书格式

In order to propose an IPP extension for registration, the proposer must submit an application to IANA by email to "iana@iana.org" or by filling out the appropriate form on the IANA web pages (http://www.iana.org). This section specifies the required information and the formats for proposing registrations of extensions to IPP as provided in Section 6 for:

为了提议IPP延期注册,投标人必须通过电子邮件向IANA提交申请,地址为“iana@iana.org或者在IANA网页上填写适当的表格(http://www.iana.org). 本节规定了第6节规定的IPP延期申请登记所需的信息和格式,用于:

1. type2 'keyword' attribute values 2. type3 'keyword' attribute values 3. type2 'enum' attribute values 4. type3 'enum' attribute values 5. attributes 6. attribute syntaxes 7. operations 8. status codes

1. 类型2“关键字”属性值2。类型3“关键字”属性值3。类型2“枚举”属性值4。类型3“枚举”属性值5。属性6。属性语法7。行动8。状态代码

11.1 Type2 keyword attribute values registration
11.1 Type2关键字属性值注册

Type of registration: type2 keyword attribute value Name of attribute to which this keyword specification is to be added: Proposed keyword name of this keyword value: Specification of this keyword value (follow the style of IPP Model Section 4.1.2.3): Name of proposer:

注册类型:type2关键字属性值要添加此关键字规范的属性名称:此关键字值的建议关键字名称:此关键字值的规范(遵循IPP模型第4.1.2.3节的样式):投标人名称:

Address of proposer: Email address of proposer:

投标人地址:投标人电子邮件地址:

Note: For type2 keywords, the Designated Expert will be the point of contact for the approved registration specification, if any maintenance of the registration specification is needed.

注:对于type2关键字,如果需要维护注册规范,指定专家将是批准注册规范的联系人。

11.2 Type3 keyword attribute values registration
11.2 Type3关键字属性值注册

Type of registration: type3 keyword attribute value Name of attribute to which this keyword specification is to be added: Proposed keyword name of this keyword value: Specification of this keyword value (follow the style of IPP Model Section 4.1.2.3): Name of proposer: Address of proposer: Email address of proposer:

注册类型:type3关键字属性值要添加此关键字规范的属性名称:此关键字值的建议关键字名称:此关键字值的规范(遵循IPP模型第4.1.2.3节的样式):投标人名称:投标人地址:投标人电子邮件地址:

Note: For type3 keywords, the proposer will be the point of contact for the approved registration specification, if any maintenance of the registration specification is needed.

注:对于type3关键字,如果需要维护注册规范,投标人将是批准注册规范的联系人。

11.3 Type2 enum attribute values registration
11.3 Type2枚举属性值注册

Type of registration: type2 enum attribute value Name of attribute to which this enum specification is to be added: Keyword symbolic name of this enum value: Numeric value (to be assigned by the IPP Designated Expert in consultation with IANA): Specification of this enum value (follow the style of IPP Model Section 4.1.4): Name of proposer: Address of proposer: Email address of proposer:

注册类型:类型2枚举属性值要添加此枚举规范的属性名称:此枚举值的关键字符号名称:数值(由IPP指定专家与IANA协商指定):此枚举值的规范(遵循IPP模型第4.1.4节的样式):投标人名称:投标人地址:投标人电子邮件地址:

Note: For type2 enums, the Designated Expert will be the point of contact for the approved registration specification, if any maintenance of the registration specification is needed.

注:对于类型2枚举,如果需要维护注册规范,指定专家将是批准注册规范的联系人。

11.4 Type3 enum attribute values registration
11.4 Type3枚举属性值注册

Type of registration: type3 enum attribute value Name of attribute to which this enum specification is to be added: Keyword symbolic name of this enum value: Numeric value (to be assigned by the IPP Designated Expert in consultation with IANA): Specification of this enum value (follow the style of IPP Model Section 4.1.4):

注册类型:type3枚举属性值要添加此枚举规范的属性名称:此枚举值的关键字符号名称:数值(由IPP指定专家与IANA协商指定):此枚举值的规范(遵循IPP模型第4.1.4节的样式):

Name of proposer: Address of proposer: Email address of proposer:

投标人名称:投标人地址:投标人电子邮件地址:

Note: For type3 enums, the proposer will be the point of contact for the approved registration specification, if any maintenance of the registration specification is needed.

注:对于类型3枚举,如果需要维护注册规范,投标人将是批准注册规范的联系人。

11.5 Attribute registration
11.5 属性注册

Type of registration: attribute Proposed keyword name of this attribute: Types of attribute (Operation, Job Template, Job Description, Printer Description): Operations to be used with if the attribute is an operation attribute: Object (Job, Printer, etc. if bound to an object): Attribute syntax(es) (include 1setOf and range as in Section 4.2): If attribute syntax is 'keyword' or 'enum', is it type2 or type3: If this is a Printer attribute, MAY the value returned depend on "document-format" (See Section 6.2): If this is a Job Template attribute, how does its specification depend on the value of the "multiple-document-handling" attribute: Specification of this attribute (follow the style of IPP Model Section 4.2): Name of proposer: Address of proposer: Email address of proposer:

注册类型:属性此属性的建议关键字名称:属性类型(操作、作业模板、作业描述、打印机描述):如果属性是操作属性,则要使用的操作:对象(作业、打印机等,如果绑定到对象):属性语法(包括第4.2节中的1设置和范围):如果属性语法为“关键字”或“枚举”,是类型2还是类型3:如果这是打印机属性,返回的值是否取决于“文档格式”(参见第6.2节):如果这是作业模板属性,其规格如何取决于“多文档处理”属性的值:此属性的规格(遵循IPP模型第4.2节的风格):投标人名称:投标人地址:投标人电子邮件地址:

Note: For attributes, the IPP Designated Expert will be the point of contact for the approved registration specification, if any maintenance of the registration specification is needed.

注:对于属性,如果需要维护注册规范,IPP指定的专家将是批准注册规范的联系人。

11.6 Attribute Syntax registration
11.6 属性语法注册

Type of registration: attribute syntax Proposed name of this attribute syntax: Type of attribute syntax (integer, octetString, character-string, see [RFC2565]): Numeric value (to be assigned by the IPP Designated Expert in consultation with IANA): Specification of this attribute (follow the style of IPP Model Section 4.1): Name of proposer: Address of proposer: Email address of proposer:

注册类型:属性语法该属性的建议名称语法:属性语法类型(整数、八进制字符串、字符串,请参见[RFC2565]):数值(由IPP指定专家与IANA协商指定):该属性的规范(遵循IPP模型第4.1节的样式):投标人名称:投标人地址:投标人电子邮件地址:

Note: For attribute syntaxes, the IPP Designated Expert will be the point of contact for the approved registration specification, if any maintenance of the registration specification is needed.

注:对于属性语法,如果需要维护注册规范,IPP指定的专家将是批准注册规范的联系人。

11.7 Operation registration
11.7 手术登记

Type of registration: operation Proposed name of this operation: Numeric operation-id value (to be assigned by the IPP Designated Expert in consultation with IANA): Object Target (Job, Printer, etc. that operation is upon): Specification of this attribute (follow the style of IPP Model Section 3): Name of proposer: Address of proposer: Email address of proposer:

注册类型:操作建议此操作的名称:数字操作id值(由IPP指定的专家与IANA协商分配):对象目标(作业、打印机等,该操作基于):此属性的规范(遵循IPP模型第3节的样式):投标人名称:投标人地址:投标人电子邮件地址:

Note: For operations, the IPP Designated Expert will be the point of contact for the approved registration specification, if any maintenance of the registration specification is needed.

注:对于操作,如果需要维护注册规范,IPP指定的专家将是批准注册规范的联系人。

11.8 Attribute Group registration
11.8 属性组注册

Type of registration: attribute group Proposed name of this attribute group: Numeric tag according to [RFC2565] (to be assigned by the IPP Designated Expert in consultation with IANA): Operation requests and group number for each operation in which the attribute group occurs: Operation responses and group number for each operation in which the attribute group occurs: Specification of this attribute group (follow the style of IPP Model Section 3): Name of proposer: Address of proposer: Email address of proposer:

注册类型:属性组该属性组的建议名称:符合[RFC2565]的数字标签(由IPP指定专家与IANA协商指定):属性组发生的每个操作的操作请求和组号:属性组发生的每个操作的操作响应和组号:该属性组的规范(遵循IPP模型第3节的样式):投标人名称:投标人地址:投标人电子邮件地址:

Note: For attribute groups, the IPP Designated Expert will be the point of contact for the approved registration specification, if any maintenance of the registration specification is needed.

注:对于属性组,如果需要维护注册规范,IPP指定的专家将是批准注册规范的联系人。

11.9 Status code registration
11.9 身份代码注册

Type of registration: status code Keyword symbolic name of this status code value: Numeric value (to be assigned by the IPP Designated Expert in consultation with IANA): Operations that this status code may be used with:

注册类型:状态代码关键字此状态代码的符号名称值:数值(由IPP指定专家与IANA协商后指定):此状态代码可用于的操作:

Specification of this status code (follow the style of IPP Model Section 14 APPENDIX B: Status Codes and Suggested Status Code Messages): Name of proposer: Address of proposer: Email address of proposer:

该状态代码的规范(遵循IPP模型第14节附录B:状态代码和建议状态代码消息的样式):投标人名称:投标人地址:投标人电子邮件地址:

Note: For status codes, the Designated Expert will be the point of contact for the approved registration specification, if any maintenance of the registration specification is needed.

注:对于状态代码,如果需要维护注册规范,指定的专家将是已批准注册规范的联系人。

12. APPENDIX A: Terminology
12. 附录A:术语

This specification uses the terminology defined in this section.

本规范使用本节中定义的术语。

12.1 Conformance Terminology
12.1 一致性术语

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

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

12.1.1 NEED NOT
12.1.1 不必

This term is not included in RFC 2119. The verb "NEED NOT" indicates an action that the subject of the sentence does not have to implement in order to claim conformance to the standard. The verb "NEED NOT" is used instead of "MAY NOT" since "MAY NOT" sounds like a prohibition.

本术语不包括在RFC 2119中。动词“无需”表示句子主语不必执行的动作,以声称符合标准。动词“NEED NOT”代替“MAY NOT”,因为“MAY NOT”听起来像是一种禁令。

12.2 Model Terminology
12.2 模型术语
12.2.1 Keyword
12.2.1 关键词

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

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

12.2.2 Attributes
12.2.2 属性

An attribute is an item of information that is associated with an instance of an IPP object. 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 4 and all operation attributes are defined in section 3.

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

Job Template Attributes are described in section 4.2. The client optionally supplies Job Template attributes in a create request (operation requests that create Job objects). The Printer object has associated attributes which define supported and default values for the Printer.

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

12.2.2.1 Attribute Name
12.2.2.1 属性名

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 header describing 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.

属性在本文档的运行文本中,属性名称在双引号(“)内指示,其中引号不是关键字本身的一部分。

12.2.2.2 Attribute Group Name
12.2.2.2 属性组名称

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

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

12.2.2.3 Attribute Value
12.2.2.3 属性值

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.

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

12.2.2.4 Attribute Syntax
12.2.2.4 属性语法

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 [RFC2565] indicates the actual "on-the-wire" encoding rules for each syntax type. Attribute syntax types are defined in section 4.1.

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

12.2.3 Supports
12.2.3 支持

By definition, a Printer object supports an attribute only if that Printer object responds with the corresponding attribute populated with some value(s) in a response to a query for that attribute. A Printer object supports an attribute value if the value is one of the Printer object's "supported values" attributes. The device behind a Printer object may exhibit a behavior that corresponds to some IPP attribute, but if the Printer object, 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 object'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 object does not support that particular value.

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

A conforming implementation MUST support 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

一致性实现必须支持所有必需的属性。然而,即使对于必需的属性,符合IPP也不要求所有实现都支持表示所有可能作业处理行为和特性的所有可能值。对于

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, possibly only one, taken from the entire set of possible values defined for that attribute. This limited set of values 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 which 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).

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

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

例如,考虑“完成支持”属性。

1) If a Printer object is not physically capable of stapling, the "finishings-supported" attribute MUST NOT be populated with the value of 'staple'. 2) A Printer object 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 object 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. 3) A Printer object 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 object attribute. Doing so, would enable end users to be aware of and make use of the stapling feature using IPP attributes.

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

Even though support for Job Template attributes by a Printer object is OPTIONAL, it is RECOMMENDED that if the device behind a Printer object is capable of realizing any feature or function that corresponds to an IPP attribute and some associated value, then that implementation SHOULD support that IPP attribute and value.

尽管打印机对象对作业模板属性的支持是可选的,但建议如果打印机对象后面的设备能够实现与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 IPP. For administrative policy and control reasons, an administrator may 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 may be capable of a certain feature, however an administrator is specifying that access to that feature not be exposed to the end user through the IPP protocol. Also, since a Printer object may 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 object supports a value, some manual human action may be needed to realize the semantic action associated with the value, but no end user action is required.

任何受支持的值属性中的值集都是由IPP范围之外的一些管理过程或自动感应机制设置(填充)的。出于管理策略和控制原因,管理员可以选择仅使可能值的子集对最终用户可见。在这种情况下,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 object.

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

For another example of how supported attributes function, consider a system 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 system 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 create 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 create request is rejected or the "job-sheets" value is ignored (again depending on the value of "ipp-attribute-fidelity").

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

12.2.4 print-stream page
12.2.4 打印流页面

A "print-stream page" is a page according to the definition of pages in the language used to express the document data.

“打印流页面”是根据页面定义的页面,使用用于表示文档数据的语言。

12.2.5 impression
12.2.5 印象

An "impression" is the image (possibly many print-stream pages in different configurations) imposed onto a single media page.

“印象”是施加在单个媒体页面上的图像(可能有许多不同配置的打印流页面)。

13. APPENDIX B: Status Codes and Suggested Status Code Messages
13. 附录B:状态代码和建议的状态代码消息

This section defines status code enum keywords and values that are used to provide semantic information on the results of an operation request. Each operation response MUST include a status code. The response MAY also contain a status message that provides a short textual description of the status. The status code is intended for use by automata, and the status message is intended for the human end user. Since the status message is an OPTIONAL component of the operation response, an IPP application (i.e., a browser, GUI, print driver or gateway) is NOT REQUIRED to examine or display the status message, since it MAY not be returned to the application.

本节定义用于提供操作请求结果语义信息的状态代码枚举关键字和值。每个操作响应必须包括一个状态代码。响应还可能包含一条状态消息,该消息提供状态的简短文本描述。状态代码供自动机使用,状态消息供人类最终用户使用。由于状态消息是操作响应的可选组件,IPP应用程序(即浏览器、GUI、打印驱动程序或网关)无需检查或显示状态消息,因为它可能不会返回到应用程序。

The prefix of the status keyword defines the class of response as follows:

status关键字的前缀定义了响应的类别,如下所示:

"informational" - Request received, continuing process "successful" - The action was successfully received, understood, and accepted "redirection" - Further action must be taken in order to complete the request "client-error" - The request contains bad syntax or cannot be fulfilled "server-error" - The IPP object failed to fulfill an apparently valid request

“信息”-收到请求,继续处理“成功”-操作已成功接收、理解并接受“重定向”-必须采取进一步操作以完成请求“客户端错误”-请求包含错误语法或无法完成“服务器错误”-IPP对象未能满足明显有效的请求

As with type2 enums, IPP status codes are extensible. IPP clients are NOT REQUIRED to understand the meaning of all registered status codes, though such understanding is obviously desirable. However, IPP clients MUST understand the class of any status code, as indicated by the prefix, and treat any unrecognized response as being equivalent to the first status code of that class, with the exception that an unrecognized response MUST NOT be cached. For example, if an unrecognized status code of "client-error-xxx-yyy" is received by the client, it can safely assume that there was something wrong with its request and treat the response as if it had received a "client-error-bad-request" status code. In such cases, IPP applications SHOULD present the OPTIONAL message (if present) to the end user since the message is likely to contain human readable information which will help to explain the unusual status. The name of the enum is the suggested status message for US English.

与type2枚举一样,IPP状态代码是可扩展的。IPP客户不需要理解所有注册状态代码的含义,尽管这种理解显然是可取的。但是,IPP客户端必须理解前缀指示的任何状态代码的类别,并将任何未识别的响应视为等同于该类别的第一个状态代码,但不能缓存未识别的响应除外。例如,如果客户端接收到无法识别的状态代码“客户端错误xxx yyy”,它可以安全地假定其请求有问题,并将响应视为收到“客户端错误请求”状态代码。在这种情况下,IPP应用程序应向最终用户呈现可选消息(如果存在),因为该消息可能包含有助于解释异常状态的人类可读信息。enum的名称是美式英语的建议状态消息。

The status code values range from 0x0000 to 0x7FFF. The value ranges for each status code class are as follows:

状态代码值的范围为0x0000到0x7FFF。每个状态代码类别的值范围如下所示:

"successful" - 0x0000 to 0x00FF "informational" - 0x0100 to 0x01FF "redirection" - 0x0200 to 0x02FF

“成功”-0x0000到0x00FF“信息”-0x0100到0x01FF“重定向”-0x0200到0x02FF

"client-error" - 0x0400 to 0x04FF "server-error" - 0x0500 to 0x05FF

“客户端错误”-0x0400到0x04FF“服务器错误”-0x0500到0x05FF

The top half (128 values) of each range (0x0n40 to 0x0nFF, for n = 0 to 5) is reserved for private use within each status code class. Values 0x0600 to 0x7FFF are reserved for future assignment and MUST NOT be used.

每个范围(0x0n40到0x0nFF,对于n=0到5)的上半部分(128个值)在每个状态代码类中保留供私人使用。值0x0600到0x7FFF保留用于将来的分配,不得使用。

13.1 Status Codes
13.1 状态代码

Each status code is described below. Section 13.1.5.9 contains a table that indicates which status codes apply to which operations. The Implementer's Guide [ipp-iig] describe the suggested steps for processing IPP attributes for all operations, including returning status codes.

每个状态代码如下所述。第13.1.5.9节包含一个表格,表明哪些状态代码适用于哪些操作。《实施者指南》[ipp iig]描述了处理所有操作的ipp属性的建议步骤,包括返回状态代码。

13.1.1 Informational
13.1.1 信息的

This class of status code indicates a provisional response and is to be used for informational purposes only.

此类状态代码表示临时响应,仅供参考。

There are no status codes defined in IPP/1.0 for this class of status code.

IPP/1.0中没有为此类状态代码定义状态代码。

13.1.2 Successful Status Codes
13.1.2 成功状态代码

This class of status code indicates that the client's request was successfully received, understood, and accepted.

此类状态代码表示已成功接收、理解和接受客户机的请求。

13.1.2.1 successful-ok (0x0000)
13.1.2.1 成功确定(0x0000)

The request has succeeded and no request attributes were substituted or ignored. In the case of a response to a create request, the ' successful-ok' status code indicates that the request was successfully received and validated, and that the Job object has been created; it does not indicate that the job has been processed. The transition of the Job object into the 'completed' state is the only indicator that the job has been printed.

请求已成功,未替换或忽略任何请求属性。在响应创建请求的情况下,“成功确定”状态代码表示已成功接收和验证请求,并且已创建作业对象;它并不表示作业已被处理。作业对象转换为“已完成”状态是作业已打印的唯一指示器。

13.1.2.2 successful-ok-ignored-or-substituted-attributes (0x0001)
13.1.2.2 成功确定忽略或替换的属性(0x0001)

The request has succeeded, but some supplied (1) attributes were ignored or (2) unsupported values were substituted with supported values or were ignored in order to perform the operation without rejecting it. Unsupported attributes, attribute syntaxes, or values MUST be returned in the Unsupported Attributes group of the response for all operations. There is an exception to this rule for the query operations: Get-Printer-Attributes, Get-Jobs, and Get-Job-Attributes

请求已成功,但某些提供的(1)属性被忽略,或(2)不支持的值被支持的值替换,或被忽略,以便在不拒绝的情况下执行操作。对于所有操作,必须在响应的Unsupported attributes(不支持的属性)组中返回不支持的属性、属性语法或值。对于查询操作,此规则有一个例外:获取打印机属性、获取作业和获取作业属性

for the "requested-attributes" operation attribute only. When the supplied values of the "requested-attributes" operation attribute are requesting attributes that are not supported, the IPP object MAY, but is NOT REQUIRED to, return the "requested-attributes" attribute in the Unsupported Attribute response group (with the unsupported values only). See section 3.2.1.2.

仅适用于“请求的属性”操作属性。当“请求的属性”操作属性的提供值是不受支持的请求属性时,IPP对象可以(但不需要)在不受支持的属性响应组中返回“请求的属性”属性(仅使用不受支持的值)。见第3.2.1.2节。

13.1.2.3 successful-ok-conflicting-attributes (0x0002)
13.1.2.3 成功确定冲突属性(0x0002)

The request has succeeded, but some supplied attribute values conflicted with the values of other supplied attributes. These conflicting values were either (1) substituted with (supported) values or (2) the attributes were removed in order to process the job without rejecting it. Attributes or values which conflict with other attributes and have been substituted or ignored MUST be returned in the Unsupported Attributes group of the response for all operations as supplied by the client. See section 3.2.1.2.

请求已成功,但某些提供的属性值与其他提供的属性值冲突。这些冲突的值被(1)替换为(支持的)值,或者(2)删除属性,以便在不拒绝作业的情况下处理作业。对于客户端提供的所有操作,必须在响应的Unsupported Attributes(不支持的属性)组中返回与其他属性冲突且已被替换或忽略的属性或值。见第3.2.1.2节。

13.1.3 Redirection Status Codes
13.1.3 重定向状态代码

This class of status code indicates that further action needs to be taken to fulfill the request.

此类状态代码表示需要采取进一步措施来满足请求。

There are no status codes defined in IPP/1.0 for this class of status code.

IPP/1.0中没有为此类状态代码定义状态代码。

13.1.4 Client Error Status Codes
13.1.4 客户端错误状态代码

This class of status code is intended for cases in which the client seems to have erred. The IPP object SHOULD return a message containing an explanation of the error situation and whether it is a temporary or permanent condition.

此类状态代码适用于客户端似乎出错的情况。IPP对象应返回一条消息,其中包含对错误情况的解释,以及该错误是暂时性的还是永久性的。

13.1.4.1 client-error-bad-request (0x0400)
13.1.4.1 客户端错误错误请求(0x0400)

The request could not be understood by the IPP object due to malformed syntax (such as the value of a fixed length attribute whose length does not match the prescribed length for that attribute - see the Implementer's Guide [ipp-iig] ). The IPP application SHOULD NOT repeat the request without modifications.

IPP对象无法理解该请求,因为语法格式不正确(例如固定长度属性的值,其长度与该属性的规定长度不匹配-请参阅《实施者指南》[IPP iig])。IPP应用程序不应在未经修改的情况下重复请求。

13.1.4.2 client-error-forbidden (0x0401)
13.1.4.2 禁止客户端错误(0x0401)

The IPP object understood the request, but is refusing to fulfill it. Additional authentication information or authorization credentials will not help and the request SHOULD NOT be repeated. This status

IPP对象理解该请求,但拒绝满足该请求。附加的身份验证信息或授权凭据将没有帮助,不应重复该请求。这种状态

code is commonly used when the IPP object does not wish to reveal exactly why the request has been refused or when no other response is applicable.

当IPP对象不希望透露请求被拒绝的确切原因或没有其他响应适用时,通常使用代码。

13.1.4.3 client-error-not-authenticated (0x0402)
13.1.4.3 未验证客户端错误(0x0402)

The request requires user authentication. The IPP client may repeat the request with suitable authentication information. If the request already included authentication information, then this status code indicates that authorization has been refused for those credentials. If this response contains the same challenge as the prior response, and the user agent has already attempted authentication at least once, then the response message may contain relevant diagnostic information. This status codes reveals more information than "client-error-forbidden".

请求需要用户身份验证。IPP客户端可以使用适当的身份验证信息重复请求。如果请求已包含身份验证信息,则此状态代码表示已拒绝这些凭据的授权。如果此响应包含与先前响应相同的质询,并且用户代理已尝试验证至少一次,则响应消息可能包含相关诊断信息。此状态代码显示的信息多于“禁止客户端错误”。

13.1.4.4 client-error-not-authorized (0x0403)
13.1.4.4 未授权的客户端错误(0x0403)

The requester is not authorized to perform the request. Additional authentication information or authorization credentials will not help and the request SHOULD NOT be repeated. This status code is used when the IPP object wishes to reveal that the authentication information is understandable, however, the requester is explicitly not authorized to perform the request. This status codes reveals more information than "client-error-forbidden" and "client-error-not-authenticated".

请求者无权执行请求。附加的身份验证信息或授权凭据将没有帮助,不应重复该请求。当IPP对象希望显示身份验证信息是可以理解的,但是请求者明确没有被授权执行请求时,使用此状态代码。此状态代码显示的信息多于“禁止客户端错误”和“未验证客户端错误”。

13.1.4.5 client-error-not-possible (0x0404)
13.1.4.5 客户端错误不可能(0x0404)

This status code is used when the request is for something that can not happen. For example, there might be a request to cancel a job that has already been canceled or aborted by the system. The IPP client SHOULD NOT repeat the request.

当请求是为了不可能发生的事情时,使用此状态代码。例如,可能有一个取消作业的请求,该作业已被系统取消或中止。IPP客户端不应重复该请求。

13.1.4.6 client-error-timeout (0x0405)
13.1.4.6 客户端错误超时(0x0405)

The client did not produce a request within the time that the IPP object was prepared to wait. For example, a client issued a Create-Job operation and then, after a long period of time, issued a Send-Document operation and this error status code was returned in response to the Send-Document request (see section 3.3.1). The IPP object might have been forced to clean up resources that had been held for the waiting additional Documents. The IPP object was forced to close the Job since the client took too long. The client SHOULD NOT repeat the request without modifications.

客户端在IPP对象准备等待的时间内未生成请求。例如,客户机发出创建作业操作,然后在很长一段时间后发出发送文档操作,此错误状态代码返回以响应发送文档请求(请参阅第3.3.1节)。IPP对象可能已被强制清理为等待的其他文档保留的资源。由于客户端花费的时间太长,IPP对象被迫关闭作业。未经修改,客户端不应重复请求。

13.1.4.7 client-error-not-found (0x0406)
13.1.4.7 未找到客户端错误(0x0406)

The IPP object has not found anything matching the request URI. No indication is given of whether the condition is temporary or permanent. For example, a client with an old reference to a Job (a URI) tries to cancel the Job, however in the mean time the Job might have been completed and all record of it at the Printer has been deleted. This status code, 'client-error-not-found' is returned indicating that the referenced Job can not be found. This error status code is also used when a client supplies a URI as a reference to the document data in either a Print-URI or Send-URI operation, but the document can not be found.

IPP对象未找到任何与请求URI匹配的内容。没有说明该情况是暂时的还是永久的。例如,具有对作业(URI)的旧引用的客户端尝试取消作业,但同时作业可能已完成,打印机上的所有记录都已删除。返回此状态代码“未找到客户端错误”,表示找不到引用的作业。当客户端在打印URI或发送URI操作中提供URI作为对文档数据的引用,但找不到文档时,也会使用此错误状态代码。

In practice, an IPP application should avoid a not found situation by first querying and presenting a list of valid Printer URIs and Job URIs to the end-user.

实际上,IPP应用程序应该通过首先查询并向最终用户提供有效打印机URI和作业URI的列表来避免找不到的情况。

13.1.4.8 client-error-gone (0x0407)
13.1.4.8 客户端错误消失(0x0407)

The requested object is no longer available and no forwarding address is known. This condition should be considered permanent. Clients with link editing capabilities should delete references to the request URI after user approval. If the IPP object does not know or has no facility to determine, whether or not the condition is permanent, the status code "client-error-not-found" should be used instead.

请求的对象不再可用,并且不知道转发地址。这种情况应视为永久性的。具有链接编辑功能的客户端应在用户批准后删除对请求URI的引用。如果IPP对象不知道或无法确定该条件是否为永久性条件,则应使用状态代码“未找到客户端错误”。

This response is primarily intended to assist the task of maintenance by notifying the recipient that the resource is intentionally unavailable and that the IPP object administrator desires that remote links to that resource be removed. It is not necessary to mark all permanently unavailable resources as "gone" or to keep the mark for any length of time -- that is left to the discretion of the IPP object administrator.

此响应主要用于通知接收者资源有意不可用,并且IPP对象管理员希望删除指向该资源的远程链接,从而帮助执行维护任务。无需将所有永久不可用的资源标记为“已消失”,也无需将标记保留任何时间长度——这由IPP对象管理员自行决定。

13.1.4.9 client-error-request-entity-too-large (0x0408)
13.1.4.9 客户端错误请求实体太大(0x0408)

The IPP object is refusing to process a request because the request entity is larger than the IPP object is willing or able to process. An IPP Printer returns this status code when it limits the size of print jobs and it receives a print job that exceeds that limit or when the attributes are so many that their encoding causes the request entity to exceed IPP object capacity.

IPP对象拒绝处理请求,因为请求实体大于IPP对象愿意或能够处理的实体。当IPP打印机限制打印作业的大小并接收到超过该限制的打印作业时,或当属性太多以至于其编码导致请求实体超过IPP对象容量时,IPP打印机返回此状态代码。

13.1.4.10 client-error-request-value-too-long (0x0409)
13.1.4.10 客户端错误请求值太长(0x0409)

The IPP object is refusing to service the request because one or more of the client-supplied attributes has a variable length value that is longer than the maximum length specified for that attribute. The IPP object might not have sufficient resources (memory, buffers, etc.) to process (even temporarily), interpret, and/or ignore a value larger than the maximum length. Another use of this error code is when the IPP object supports the processing of a large value that is less than the maximum length, but during the processing of the request as a whole, the object may pass the value onto some other system component which is not able to accept the large value. For more details, see the Implementer's Guide [ipp-iig] .

IPP对象拒绝为请求提供服务,因为一个或多个客户端提供的属性的可变长度值大于为该属性指定的最大长度。IPP对象可能没有足够的资源(内存、缓冲区等)来处理(即使是暂时的)、解释和/或忽略大于最大长度的值。此错误代码的另一个用途是,当IPP对象支持处理小于最大长度的大值时,但在整个请求处理过程中,该对象可能会将该值传递给无法接受该大值的其他系统组件。有关更多详细信息,请参阅实施者指南[ipp iig]。

Note: For attribute values that are URIs, this rare condition is only likely to occur when a client has improperly submitted a request with long query information (e.g. an IPP application allows an end-user to enter an invalid URI), when the client has descended into a URI "black hole" of redirection (e.g., a redirected URI prefix that points to a suffix of itself), or when the IPP object is under attack by a client attempting to exploit security holes present in some IPP objects using fixed-length buffers for reading or manipulating the Request-URI.

注意:对于URI属性值,只有当客户端不正确地提交了带有长查询信息的请求(例如,IPP应用程序允许最终用户输入无效URI)时,当客户端陷入重定向的URI“黑洞”时,才会出现这种罕见情况(例如,指向自身后缀的重定向URI前缀),或当IPP对象受到客户端攻击时,试图利用某些IPP对象中存在的安全漏洞,使用固定长度缓冲区读取或操作请求URI。

13.1.4.11 client-error-document-format-not-supported (0x040A)
13.1.4.11 不支持客户端错误文档格式(0x040A)

The IPP object is refusing to service the request because the document data is in a format, as specified in the "document-format" operation attribute, that is not supported by the Printer object. This error is returned independent of the client-supplied "ipp-attribute-fidelity". The Printer object MUST return this status code, even if there are other attributes that are not supported as well, since this error is a bigger problem than with Job Template attributes.

IPP对象拒绝为请求提供服务,因为文档数据的格式在“文档格式”操作属性中指定,打印机对象不支持该格式。此错误的返回与客户端提供的“ipp属性保真度”无关。打印机对象必须返回此状态代码,即使还有其他不受支持的属性,因为此错误比作业模板属性的问题更大。

13.1.4.12 client-error-attributes-or-values-not-supported (0x040B)
13.1.4.12 不支持客户端错误属性或值(0x040B)

In a create request, if the Printer object does not support one or more attributes, attribute syntaxes, or attribute values supplied in the request and the client supplied the "ipp-attributes-fidelity" operation attribute with the 'true' value, the Printer object MUST return this status code. For example, if the request indicates ' iso-a4' media, but that media type is not supported by the Printer object. Or, if the client supplies an optional attribute and the attribute itself is not even supported by the Printer. If the "ipp-attribute-fidelity" attribute is 'false', the Printer MUST ignore or substitute values for unsupported attributes and values rather than reject the request and return this status code.

在创建请求中,如果打印机对象不支持请求中提供的一个或多个属性、属性语法或属性值,并且客户端提供的“ipp属性保真度”操作属性具有“true”值,则打印机对象必须返回此状态码。例如,如果请求指示“iso-a4”介质,但打印机对象不支持该介质类型。或者,如果客户端提供可选属性,而打印机甚至不支持该属性本身。如果“ipp属性保真度”属性为“false”,则打印机必须忽略或替换不支持的属性和值,而不是拒绝请求并返回此状态代码。

For any operation where a client requests attributes (such as a Get-Jobs, Get-Printer-Attributes, or Get-Job-Attributes operation), if the IPP object does not support one or more of the requested attributes, the IPP object simply ignores the unsupported requested attributes and processes the request as if they had not been supplied, rather than returning this status code. In this case, the IPP object MUST return the 'successful-ok-ignored-or-substituted-attributes' status code and MAY return the unsupported attributes as values of the "requested-attributes" in the Unsupported Attributes Group (see section 13.1.2.2).

对于客户端请求属性的任何操作(如Get Jobs、Get Printer attributes或Get Job attributes操作),如果IPP对象不支持一个或多个请求的属性,IPP对象将忽略不受支持的请求属性,并像未提供属性一样处理请求,而不是返回此状态代码。在这种情况下,IPP对象必须返回“成功确定忽略或替换的属性”状态代码,并且可以将不支持的属性作为“不支持的属性”组中“请求的属性”的值返回(参见第13.1.2.2节)。

13.1.4.13 client-error-uri-scheme-not-supported (0x040C)
13.1.4.13 不支持客户端错误uri方案(0x040C)

The type of the client supplied URI in a Print-URI or a Send-URI operation is not supported.

不支持打印URI或发送URI操作中客户端提供的URI的类型。

13.1.4.14 client-error-charset-not-supported (0x040D)
13.1.4.14 不支持客户端错误字符集(0x040D)

For any operation, if the IPP Printer does not support the charset supplied by the client in the "attributes-charset" operation attribute, the Printer MUST reject the operation and return this status and any 'text' or 'name' attributes using the 'utf-8' charset (see Section 3.1.4.1).

对于任何操作,如果IPP打印机不支持客户端在“属性字符集”操作属性中提供的字符集,则打印机必须拒绝该操作,并使用“utf-8”字符集返回该状态以及任何“文本”或“名称”属性(见第3.1.4.1节)。

13.1.4.15 client-error-conflicting-attributes (0x040E)
13.1.4.15 客户端错误冲突属性(0x040E)

The request is rejected because some attribute values conflicted with the values of other attributes which this specification does not permit to be substituted or ignored.

请求被拒绝,因为某些属性值与本规范不允许替换或忽略的其他属性值冲突。

13.1.5 Server Error Status Codes
13.1.5 服务器错误状态代码

This class of status codes indicates cases in which the IPP object is aware that it has erred or is incapable of performing the request. The IPP object SHOULD include a message containing an explanation of the error situation, and whether it is a temporary or permanent condition.

此类状态代码表示IPP对象意识到其出错或无法执行请求的情况。IPP对象应包含一条消息,其中包含对错误情况的解释,以及该错误是暂时性的还是永久性的。

13.1.5.1 server-error-internal-error (0x0500)
13.1.5.1 服务器错误内部错误(0x0500)

The IPP object encountered an unexpected condition that prevented it from fulfilling the request. This error status code differs from "server-error-temporary-error" in that it implies a more permanent type of internal error. It also differs from "server-error-device-error" in that it implies an unexpected condition (unlike a paper-jam or out-of-toner problem which is undesirable but expected). This error status code indicates that probably some knowledgeable human intervention is required.

IPP对象遇到意外情况,无法满足请求。此错误状态代码与“服务器错误临时错误”不同,因为它意味着更持久的内部错误类型。它也不同于“服务器错误设备错误”,因为它意味着意外情况(不同于卡纸或碳粉用完问题,卡纸或碳粉用完是不希望出现的,但却是意料之中的)。此错误状态代码表示可能需要一些有知识的人工干预。

13.1.5.2 server-error-operation-not-supported (0x0501)
13.1.5.2 不支持服务器错误操作(0x0501)

The IPP object does not support the functionality required to fulfill the request. This is the appropriate response when the IPP object does not recognize an operation or is not capable of supporting it.

IPP对象不支持满足请求所需的功能。当IPP对象无法识别操作或无法支持操作时,这是适当的响应。

13.1.5.3 server-error-service-unavailable (0x0502)
13.1.5.3 服务器错误服务不可用(0x0502)

The IPP object is currently unable to handle the request due to a temporary overloading or maintenance of the IPP object. The implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay may be indicated in the message. If no delay is given, the IPP application should handle the response as it would for a "server-error-temporary-error" response. If the condition is more permanent, the error status codes "client-error-gone" or "client-error-not-found" could be used.

由于IPP对象临时过载或维护,IPP对象当前无法处理请求。这意味着,这是一种暂时的情况,延迟一段时间后会得到缓解。如果已知,则可在消息中指示延迟的长度。如果没有给出延迟,IPP应用程序应该像处理“服务器错误临时错误”响应一样处理响应。如果情况更为持久,则可以使用错误状态代码“客户端错误已消失”或“客户端错误未找到”。

13.1.5.4 server-error-version-not-supported (0x0503)
13.1.5.4 不支持服务器错误版本(0x0503)

The IPP object does not support, or refuses to support, the IPP protocol version that was used in the request message. The IPP object is indicating that it is unable or unwilling to complete the request using the same version as supplied in the request other than with this error message. The response should contain a Message describing why that version is not supported and what other versions are supported by that IPP object.

IPP对象不支持或拒绝支持请求消息中使用的IPP协议版本。IPP对象表示它无法或不愿意使用请求中提供的相同版本完成请求,除了此错误消息。响应应包含一条消息,说明为什么不支持该版本以及该IPP对象支持哪些其他版本。

A conforming IPP/1.0 client MUST specify the valid version ('1.0') on each request. A conforming IPP/1.0 object MUST NOT return this status code to a conforming IPP/1.0 client. An IPP object MUST return this status code to a non-conforming IPP client. The response MUST identify in the "version-number" operation attribute the closest version number that the IPP object does support.

符合IPP/1.0的客户必须在每次请求中指定有效版本(“1.0”)。合格的IPP/1.0对象不得将此状态代码返回给合格的IPP/1.0客户端。IPP对象必须将此状态代码返回给不合格的IPP客户端。响应必须在“版本号”操作属性中标识IPP对象支持的最接近的版本号。

13.1.5.5 server-error-device-error (0x0504)
13.1.5.5 服务器错误设备错误(0x0504)

A printer error, such as a paper jam, occurs while the IPP object processes a Print or Send operation. The response contains the true Job Status (the values of the "job-state" and "job-state-reasons" attributes). Additional information can be returned in the optional "job-state-message" attribute value or in the OPTIONAL status message that describes the error in more detail. This error status code is only returned in situations where the Printer is unable to accept the create request because of such a device error. For example, if the Printer is unable to spool, and can only accept one job at a time, the reason it might reject a create request is that the printer currently has a paper jam. In many cases however, where the Printer

IPP对象处理打印或发送操作时发生打印机错误,如卡纸。响应包含真实的作业状态(“作业状态”和“作业状态原因”属性的值)。其他信息可以在可选的“作业状态消息”属性值中返回,也可以在更详细地描述错误的可选状态消息中返回。只有在打印机因此类设备错误而无法接受创建请求的情况下,才会返回此错误状态代码。例如,如果打印机无法卷轴,并且一次只能接受一个作业,则其可能拒绝创建请求的原因是打印机当前卡纸。但是,在许多情况下,打印机

object can accept the request even though the Printer has some error condition, the 'successful-ok' status code will be returned. In such a case, the client would look at the returned Job Object Attributes or later query the Printer to determine its state and state reasons.

对象可以接受请求,即使打印机存在某些错误条件,也会返回“成功确定”状态代码。在这种情况下,客户端将查看返回的作业对象属性,或稍后查询打印机以确定其状态和状态原因。

13.1.5.6 server-error-temporary-error (0x0505)
13.1.5.6 服务器错误临时错误(0x0505)

A temporary error such as a buffer full write error, a memory overflow (i.e. the document data exceeds the memory of the Printer), or a disk full condition, occurs while the IPP Printer processes an operation. The client MAY try the unmodified request again at some later point in time with an expectation that the temporary internal error condition may have been cleared. Alternatively, as an implementation option, a Printer object MAY delay the response until the temporary condition is cleared so that no error is returned.

IPP打印机处理操作时发生临时错误,如缓冲区满写错误、内存溢出(即文档数据超出打印机内存)或磁盘满。客户端可能会在稍后某个时间点再次尝试未修改的请求,并期望临时内部错误条件已被清除。或者,作为一种实现选项,打印机对象可以延迟响应,直到清除临时条件,以便不返回错误。

13.1.5.7 server-error-not-accepting-jobs (0x0506)
13.1.5.7 不接受作业的服务器错误(0x0506)

A temporary error indicating that the Printer is not currently accepting jobs, because the administrator has set the value of the Printer's "printer-is-not-accepting-jobs" attribute to 'false' (by means outside of IPP/1.0).

临时错误,表明打印机当前未接受作业,因为管理员已将打印机的“打印机未接受作业”属性的值设置为“false”(通过IPP/1.0以外的方式)。

13.1.5.8 server-error-busy (0x0507)
13.1.5.8 服务器忙时出错(0x0507)

A temporary error indicating that the Printer is too busy processing jobs and/or other requests. The client SHOULD try the unmodified request again at some later point in time with an expectation that the temporary busy condition will have been cleared.

一个临时错误,指示打印机正忙于处理作业和/或其他请求。客户端应在稍后某个时间点再次尝试未修改的请求,并期望临时繁忙状态已被清除。

13.1.5.9 server-error-job-canceled (0x0508)
13.1.5.9 服务器错误作业已取消(0x0508)

An error indicating that the job has been canceled by an operator or the system while the client was transmitting the data to the IPP Printer. If a job-id and job-uri had been created, then they are returned in the Print-Job, Send-Document, or Send-URI response as usual; otherwise, no job-id and job-uri are returned in the response.

一个错误,指示在客户端向IPP打印机传输数据时,操作员或系统已取消作业。如果已经创建了作业id和作业uri,则它们会像往常一样在打印作业、发送文档或发送uri响应中返回;否则,响应中不会返回作业id和作业uri。

13.2 Status Codes for IPP Operations
13.2 IPP运行状态代码
   PJ = Print-Job, PU = Print-URI, CJ = Create-Job, SD = Send-Document
   SU = Send-URI, V = Validate-Job, GA = Get-Job-Attributes and
   Get-Printer-Attributes, GJ = Get-Jobs, C = Cancel-Job
        
   PJ = Print-Job, PU = Print-URI, CJ = Create-Job, SD = Send-Document
   SU = Send-URI, V = Validate-Job, GA = Get-Job-Attributes and
   Get-Printer-Attributes, GJ = Get-Jobs, C = Cancel-Job
        
                                                  IPP Operations
   IPP Status Keyword                       PJ PU CJ SD SU V GA GJ C
   ------------------                       -- -- -- -- -- - -- -- -
   successful-ok                            x  x  x  x  x  x x  x  x
   successful-ok-ignored-or-substituted-    x  x  x  x  x  x x  x  x
        attributes
   successful-ok-conflicting-attributes     x  x  x  x  x  x x  x  x
   client-error-bad-request                 x  x  x  x  x  x x  x  x
   client-error-forbidden                   x  x  x  x  x  x x  x  x
   client-error-not-authenticated           x  x  x  x  x  x x  x  x
   client-error-not-authorized              x  x  x  x  x  x x  x  x
   client-error-not-possible                x  x  x  x  x  x x  x  x
   client-error-timeout                           x  x
   client-error-not-found                   x  x  x  x  x  x x  x  x
   client-error-gone                        x  x  x  x  x  x x  x  x
   client-error-request-entity-too-large    x  x  x  x  x  x x  x  x
   client-error-request-value-too-long      x  x  x  x  x  x x  x  x
   client-error-document-format-not-        x  x     x  x  x x
        supported
   client-error-attributes-or-values-not-   x  x  x  x  x  x x  x  x
        supported
   client-error-uri-scheme-not-supported       x        x
   client-error-charset-not-supported       x  x  x  x  x  x x  x  x
   client-error-conflicting-attributes      x  x  x  x  x  x x  x  x
   server-error-internal-error              x  x  x  x  x  x x  x  x
   server-error-operation-not-supported        x  x  x  x
   server-error-service-unavailable         x  x  x  x  x  x x  x  x
   server-error-version-not-supported       x  x  x  x  x  x x  x  x
   server-error-device-error                x  x  x  x  x
   server-error-temporary-error             x  x  x  x  x
   server-error-not-accepting-jobs          x  x  x        x
   server-error-busy                        x  x  x  x  x  x x  x  x
   server-error-job-canceled                x        x
        
                                                  IPP Operations
   IPP Status Keyword                       PJ PU CJ SD SU V GA GJ C
   ------------------                       -- -- -- -- -- - -- -- -
   successful-ok                            x  x  x  x  x  x x  x  x
   successful-ok-ignored-or-substituted-    x  x  x  x  x  x x  x  x
        attributes
   successful-ok-conflicting-attributes     x  x  x  x  x  x x  x  x
   client-error-bad-request                 x  x  x  x  x  x x  x  x
   client-error-forbidden                   x  x  x  x  x  x x  x  x
   client-error-not-authenticated           x  x  x  x  x  x x  x  x
   client-error-not-authorized              x  x  x  x  x  x x  x  x
   client-error-not-possible                x  x  x  x  x  x x  x  x
   client-error-timeout                           x  x
   client-error-not-found                   x  x  x  x  x  x x  x  x
   client-error-gone                        x  x  x  x  x  x x  x  x
   client-error-request-entity-too-large    x  x  x  x  x  x x  x  x
   client-error-request-value-too-long      x  x  x  x  x  x x  x  x
   client-error-document-format-not-        x  x     x  x  x x
        supported
   client-error-attributes-or-values-not-   x  x  x  x  x  x x  x  x
        supported
   client-error-uri-scheme-not-supported       x        x
   client-error-charset-not-supported       x  x  x  x  x  x x  x  x
   client-error-conflicting-attributes      x  x  x  x  x  x x  x  x
   server-error-internal-error              x  x  x  x  x  x x  x  x
   server-error-operation-not-supported        x  x  x  x
   server-error-service-unavailable         x  x  x  x  x  x x  x  x
   server-error-version-not-supported       x  x  x  x  x  x x  x  x
   server-error-device-error                x  x  x  x  x
   server-error-temporary-error             x  x  x  x  x
   server-error-not-accepting-jobs          x  x  x        x
   server-error-busy                        x  x  x  x  x  x x  x  x
   server-error-job-canceled                x        x
        
14. APPENDIX C: "media" keyword values
14. 附录C:“媒体”关键字值

Standard keyword values are taken from several sources.

标准关键字值来自多个来源。

Standard values are defined (taken from DPA[ISO10175] and the Printer MIB[RFC1759]):

定义标准值(取自DPA[ISO10175]和打印机MIB[RFC1759]):

'default': The default medium for the output device 'iso-a4-white': Specifies the ISO A4 white medium 'iso-a4-colored': Specifies the ISO A4 colored medium 'iso-a4-transparent' Specifies the ISO A4 transparent medium 'iso-a3-white': Specifies the ISO A3 white medium 'iso-a3-colored': Specifies the ISO A3 colored medium 'iso-a5-white': Specifies the ISO A5 white medium 'iso-a5-colored': Specifies the ISO A5 colored medium 'iso-b4-white': Specifies the ISO B4 white medium 'iso-b4-colored': Specifies the ISO B4 colored medium 'iso-b5-white': Specifies the ISO B5 white medium 'iso-b5-colored': Specifies the ISO B5 colored medium 'jis-b4-white': Specifies the JIS B4 white medium 'jis-b4-colored': Specifies the JIS B4 colored medium 'jis-b5-white': Specifies the JIS B5 white medium 'jis-b5-colored': Specifies the JIS B5 colored medium

“默认”:输出设备的默认介质“iso-a4-white”:指定iso a4白色介质“iso-a4-colored”:指定iso a4彩色介质“iso-a4-transparent”指定iso a4透明介质“iso-a3-white”:指定iso a3白色介质“iso-a3-colored”:指定iso a3彩色介质“iso-a5-white”:指定ISO A5白色介质“ISO-A5-彩色”:指定ISO A5彩色介质“ISO-b4-白色”:指定ISO b4白色介质“ISO-b4-彩色”:指定ISO b4彩色介质“ISO-b5-白色”:指定ISO b5白色介质“ISO-b5-彩色”:指定ISO b5彩色介质“jis-b4-白色”:指定jis b4白色介质“jis-b4-彩色”:指定jis b4彩色介质“jis-b5-白色”:指定jis b5白色介质“jis-b5-彩色”:指定jis b5彩色介质

The following standard values are defined for North American media:

北美媒体定义了以下标准值:

'na-letter-white': Specifies the North American letter white medium 'na-letter-colored': Specifies the North American letter colored medium 'na-letter-transparent': Specifies the North American letter transparent medium 'na-legal-white': Specifies the North American legal white medium 'na-legal-colored': Specifies the North American legal colored medium

“na字母白色”:指定北美字母白色介质“na字母颜色”:指定北美字母颜色介质“na字母透明”:指定北美字母透明介质“na法定白色”:指定北美法定白色介质“na法定颜色”:指定北美法定颜色介质中等的

The following standard values are defined for envelopes:

为封套定义了以下标准值:

'iso-b4-envelope': Specifies the ISO B4 envelope medium 'iso-b5-envelope': Specifies the ISO B5 envelope medium 'iso-c3-envelope': Specifies the ISO C3 envelope medium 'iso-c4-envelope': Specifies the ISO C4 envelope medium 'iso-c5-envelope': Specifies the ISO C5 envelope medium 'iso-c6-envelope': Specifies the ISO C6 envelope medium 'iso-designated-long-envelope': Specifies the ISO Designated Long envelope medium 'na-10x13-envelope': Specifies the North American 10x13 envelope medium

“iso-b4-信封”:指定iso b4信封介质“iso-b5-信封”:指定iso b5信封介质“iso-c3-信封”:指定iso c3信封介质“iso-c4-信封”:指定iso c4信封介质“iso-c5-信封”:指定iso c5信封介质“iso-c6-信封”:指定iso c6信封介质“iso指定的长信封”:指定iso指定的长信封介质“na-10x13-envelope”:指定北美10x13信封介质

'na-9x12-envelope': Specifies the North American 9x12 envelope medium 'monarch-envelope': Specifies the Monarch envelope 'na-number-10-envelope': Specifies the North American number 10 business envelope medium 'na-7x9-envelope': Specifies the North American 7x9 inch envelope 'na-9x11-envelope': Specifies the North American 9x11 inch envelope 'na-10x14-envelope': Specifies the North American 10x14 inch envelope 'na-number-9-envelope': Specifies the North American number 9 business envelope 'na-6x9-envelope': Specifies the North American 6x9 inch envelope 'na-10x15-envelope': Specifies the North American 10x15 inch envelope

“na-9x12-envelope”:指定北美9x12信封介质“主信封”:指定主信封“na-number-10-envelope”:指定北美10号商业信封介质“na-7x9-envelope”:指定北美7x9英寸信封“na-9x11-envelope”:指定北美9x11英寸信封“na-10x14-envelope”:指定北美10x14英寸信封“na-number-9-envelope”:指定北美9号业务信封“na-6x9-envelope”:指定北美6x9英寸信封“na-10x15-envelope”:指定北美10x15英寸信封

The following standard values are defined for the less commonly used media (white-only):

以下标准值适用于不太常用的介质(仅白色):

'executive-white': Specifies the white executive medium 'folio-white': Specifies the folio white medium 'invoice-white': Specifies the white invoice medium 'ledger-white': Specifies the white ledger medium 'quarto-white': Specified the white quarto medium 'iso-a0-white': Specifies the ISO A0 white medium 'iso-a1-white': Specifies the ISO A1 white medium 'iso-a2-white': Specifies the ISO A2 white medium 'iso-a6-white': Specifies the ISO A6 white medium 'iso-a7-white': Specifies the ISO A7 white medium 'iso-a8-white': Specifies the ISO A8 white medium 'iso-a9-white': Specifies the ISO A9 white medium 'iso-10-white': Specifies the ISO A10 white medium 'iso-b0-white': Specifies the ISO B0 white medium 'iso-b1-white': Specifies the ISO B1 white medium 'iso-b2-white': Specifies the ISO B2 white medium 'iso-b3-white': Specifies the ISO B3 white medium 'iso-b6-white': Specifies the ISO B6 white medium 'iso-b7-white': Specifies the ISO B7 white medium 'iso-b8-white': Specifies the ISO B8 white medium 'iso-b9-white': Specifies the ISO B9 white medium 'iso-b10-white': Specifies the ISO B10 white medium 'jis-b0-white': Specifies the JIS B0 white medium 'jis-b1-white': Specifies the JIS B1 white medium 'jis-b2-white': Specifies the JIS B2 white medium 'jis-b3-white': Specifies the JIS B3 white medium 'jis-b6-white': Specifies the JIS B6 white medium 'jis-b7-white': Specifies the JIS B7 white medium

“执行白色”:指定白色执行介质“对开白色”:指定对开白色介质“发票白色”:指定白色发票介质“分类账白色”:指定白色分类账介质“四分之一白色”:指定白色四分之一介质“iso-a0-white”:指定iso a0白色介质“iso-a1-white”:指定iso a1白色介质“iso-a2-white”:指定iso a2白色介质“iso-a6-white”:指定iso a6白色介质“iso-a7-white”:指定iso a7白色介质“iso-a8-white”:指定iso a8白色介质“iso-a9-white”:指定iso a9白色介质“iso-10-white”:指定iso A10白色介质“iso-b0-white”:指定iso b0白色介质“iso-b1-white”:指定iso b1白色介质“iso-b2-white”:指定iso b2白色介质“iso-b3-white”:指定iso b3白色介质“iso-b6-white”:指定iso b6白色介质“iso-b7-white”:指定iso b7白色介质“iso-b8-white”:指定iso b8白色介质“iso-b9-white”:指定iso b9白色介质“iso-b10-white”:指定iso b10白色介质“jis-b0-white”:指定jis b0白色介质“jis-b1-white”:指定jis b1白色介质“jis-b2-white”:指定jis b2白色介质“jis-b3-white”:指定jis b3白色介质“jis-b6-white”:指定jis b6白色介质“jis-b7-white”:指定jisB7白色介质

'jis-b8-white': Specifies the JIS B8 white medium 'jis-b9-white': Specifies the JIS B9 white medium 'jis-b10-white': Specifies the JIS B10 white medium

“jis-b8-white”:指定jis b8白色介质“jis-b9-white”:指定jis b9白色介质“jis-b10-white”:指定jis b10白色介质

The following standard values are defined for engineering media:

为工程介质定义了以下标准值:

'a': Specifies the engineering A size medium 'b': Specifies the engineering B size medium 'c': Specifies the engineering C size medium 'd': Specifies the engineering D size medium 'e': Specifies the engineering E size medium

“a”:指定工程a尺寸介质“b”:指定工程b尺寸介质“c”:指定工程c尺寸介质“d”:指定工程d尺寸介质“e”:指定工程e尺寸介质

The following standard values are defined for input-trays (from ISO DPA and the Printer MIB):

为输入托盘定义了以下标准值(来自ISO DPA和打印机MIB):

'top': The top input tray in the printer. 'middle': The middle input tray in the printer. 'bottom': The bottom input tray in the printer. 'envelope': The envelope input tray in the printer. 'manual': The manual feed input tray in the printer. 'large-capacity': The large capacity input tray in the printer. 'main': The main input tray 'side': The side input tray

“顶部”:打印机中的顶部输入托盘中间:打印机中的中间输入托盘底部”:打印机中的底部输入托盘信封“:打印机中的信封输入托盘。”手动”:打印机中的手动进纸输入托盘大容量“:打印机中的大容量进纸盘。”“主”:主输入托盘“侧”:侧输入托盘

The following standard values are defined for media sizes (from ISO DPA):

介质尺寸定义了以下标准值(来自ISO DPA):

'iso-a0': Specifies the ISO A0 size: 841 mm by 1189 mm as defined in ISO 216 'iso-a1': Specifies the ISO A1 size: 594 mm by 841 mm as defined in ISO 216 'iso-a2': Specifies the ISO A2 size: 420 mm by 594 mm as defined in ISO 216 'iso-a3': Specifies the ISO A3 size: 297 mm by 420 mm as defined in ISO 216 'iso-a4': Specifies the ISO A4 size: 210 mm by 297 mm as defined in ISO 216 'iso-a5': Specifies the ISO A5 size: 148 mm by 210 mm as defined in ISO 216 'iso-a6': Specifies the ISO A6 size: 105 mm by 148 mm as defined in ISO 216 'iso-a7': Specifies the ISO A7 size: 74 mm by 105 mm as defined in ISO 216 'iso-a8': Specifies the ISO A8 size: 52 mm by 74 mm as defined in ISO 216

“iso-a0”:指定iso 216“iso-a1”中定义的iso a0尺寸:841 mm x 1189 mm:指定iso 216“iso-a2”中定义的iso a1尺寸:594 mm x 841 mm:指定iso 216“iso-a3”中定义的iso a2尺寸:420 mm x 594 mm:指定iso 216“iso-a4”中定义的iso a3尺寸:297 mm x 420 mm:指定iso a4尺寸:210 mmISO 216“ISO-a5”中定义的乘以297 mm:指定ISO 216“ISO-a6”中定义的ISO a5尺寸:148 mm×210 mm:指定ISO 216“ISO-a7”中定义的ISO a6尺寸:105 mm×148 mm:指定ISO 216“ISO-a8”中定义的ISO a7尺寸:74 mm×105 mm:指定ISO 216中定义的ISO a8尺寸:52 mm×74 mm

'iso-a9': Specifies the ISO A9 size: 37 mm by 52 mm as defined in ISO 216 'iso-a10': Specifies the ISO A10 size: 26 mm by 37 mm as defined in ISO 216 'iso-b0': Specifies the ISO B0 size: 1000 mm by 1414 mm as defined in ISO 216 'iso-b1': Specifies the ISO B1 size: 707 mm by 1000 mm as defined in ISO 216 'iso-b2': Specifies the ISO B2 size: 500 mm by 707 mm as defined in ISO 216 'iso-b3': Specifies the ISO B3 size: 353 mm by 500 mm as defined in ISO 216 'iso-b4': Specifies the ISO B4 size: 250 mm by 353 mm as defined in ISO 216 'iso-b5': Specifies the ISO B5 size: 176 mm by 250 mm as defined in ISO 216 'iso-b6': Specifies the ISO B6 size: 125 mm by 176 mm as defined in ISO 216 'iso-b7': Specifies the ISO B7 size: 88 mm by 125 mm as defined in ISO 216 'iso-b8': Specifies the ISO B8 size: 62 mm by 88 mm as defined in ISO 216 'iso-b9': Specifies the ISO B9 size: 44 mm by 62 mm as defined in ISO 216 'iso-b10': Specifies the ISO B10 size: 31 mm by 44 mm as defined in ISO 216 'na-letter': Specifies the North American letter size: 8.5 inches by 11 inches 'na-legal': Specifies the North American legal size: 8.5 inches by 14 inches 'executive': Specifies the executive size (7.25 X 10.5 in) 'folio': Specifies the folio size (8.5 X 13 in) 'invoice': Specifies the invoice size (5.5 X 8.5 in) 'ledger': Specifies the ledger size (11 X 17 in) 'quarto': Specifies the quarto size (8.5 X 10.83 in) 'iso-c3': Specifies the ISO C3 size: 324 mm by 458 mm as defined in ISO 269 'iso-c4': Specifies the ISO C4 size: 229 mm by 324 mm as defined in ISO 269 'iso-c5': Specifies the ISO C5 size: 162 mm by 229 mm as defined in ISO 269 'iso-c6': Specifies the ISO C6 size: 114 mm by 162 mm as defined in ISO 269 'iso-designated-long': Specifies the ISO Designated Long size: 110 mm by 220 mm as defined in ISO 269 'na-10x13-envelope': Specifies the North American 10x13 size: 10 inches by 13 inches

“iso-a9”:指定iso 216“iso-a10”中定义的iso a9尺寸:37毫米×52毫米:指定iso 216“iso-b0”中定义的iso a10尺寸:26毫米×37毫米:指定iso 216“iso-b1”中定义的iso b0尺寸:1000毫米×1414毫米:指定iso 216“iso-b2”中定义的iso b1尺寸:707毫米×1000毫米:指定iso b2尺寸:500毫米按ISO 216“ISO-b3”中定义的707 mm:指定ISO b3尺寸:按ISO 216“ISO-b4”中定义的353 mm x 500 mm:指定ISO b4尺寸:按ISO 216“ISO-b5”中定义的250 mm x 353 mm:指定ISO b5尺寸:按ISO 216“ISO-b6”中定义的176 mm x 250 mm:指定ISO b6尺寸:按ISO 216“ISO-b7”中定义的125 mm x 176 mm:指定ISO 216“ISO-b8”中定义的ISO B7大小:88 mm x 125 mm:指定ISO 216“ISO-b9”中定义的ISO b8大小:62 mm x 88 mm:指定ISO 216“ISO-b10”中定义的ISO b9大小:44 mm x 62 mm:指定ISO 216“na字母”中定义的ISO b10大小:31 mm x 44 mm:指定北美字母大小:8.5英寸乘11英寸“na法定”:指定北美法定尺寸:8.5英寸乘14英寸“行政”:指定行政尺寸(7.25 X 10.5英寸)“对开”指定对开尺寸(8.5 X 13英寸)“发票”:指定发票尺寸(5.5 X 8.5英寸)“分类账”:指定分类账尺寸(11 X 17英寸)“四分位”:指定四分位尺寸(8.5 X 10.83英寸)“iso-c3”:指定iso 269“iso-c4”中定义的iso c3尺寸:324 mm x 458 mm:指定iso 269“iso-c5”中定义的iso c4尺寸:229 mm x 324 mm:指定iso 269“iso-c6”中定义的iso c5尺寸:162 mm x 229 mm:指定iso 269“iso指定长度”中定义的iso c6尺寸:114 mm x 162 mm:指定iso Des根据ISO 269“na-10x13-envelope”中的定义,指定的长尺寸:110 mm x 220 mm:指定北美10x13尺寸:10英寸x 13英寸

     'na-9x12-envelope': Specifies the North American 9x12 size: 9
        inches by 12 inches
     'na-number-10-envelope': Specifies the North American number 10
        business envelope size: 4.125 inches by 9.5 inches
     'na-7x9-envelope': Specifies the North American 7x9 inch envelope
        size
     'na-9x11-envelope': Specifies the North American 9x11 inch envelope
        size
     'na-10x14-envelope': Specifies the North American 10x14 inch
        envelope size
     'na-number-9-envelope': Specifies the North American number 9
        business envelope size
     'na-6x9-envelope': Specifies the North American 6x9 envelope size
     'na-10x15-envelope': Specifies the North American 10x15 envelope
        size
     'monarch-envelope': Specifies the Monarch envelope size (3.87 x 7.5
        in)
     'jis-b0': Specifies the JIS B0 size: 1030mm x 1456mm
     'jis-b1': Specifies the JIS B1 size: 728mm x 1030mm
     'jis-b2': Specifies the JIS B2 size: 515mm x 728mm
     'jis-b3': Specifies the JIS B3 size: 364mm x 515mm
     'jis-b4': Specifies the JIS B4 size: 257mm x 364mm
     'jis-b5': Specifies the JIS B5 size: 182mm x 257mm
     'jis-b6': Specifies the JIS B6 size: 128mm x 182mm
     'jis-b7': Specifies the JIS B7 size: 91mm x 128mm
     'jis-b8': Specifies the JIS B8 size: 64mm x 91mm
     'jis-b9': Specifies the JIS B9 size: 45mm x 64mm
     'jis-b10': Specifies the JIS B10 size: 32mm x 45mm
        
     'na-9x12-envelope': Specifies the North American 9x12 size: 9
        inches by 12 inches
     'na-number-10-envelope': Specifies the North American number 10
        business envelope size: 4.125 inches by 9.5 inches
     'na-7x9-envelope': Specifies the North American 7x9 inch envelope
        size
     'na-9x11-envelope': Specifies the North American 9x11 inch envelope
        size
     'na-10x14-envelope': Specifies the North American 10x14 inch
        envelope size
     'na-number-9-envelope': Specifies the North American number 9
        business envelope size
     'na-6x9-envelope': Specifies the North American 6x9 envelope size
     'na-10x15-envelope': Specifies the North American 10x15 envelope
        size
     'monarch-envelope': Specifies the Monarch envelope size (3.87 x 7.5
        in)
     'jis-b0': Specifies the JIS B0 size: 1030mm x 1456mm
     'jis-b1': Specifies the JIS B1 size: 728mm x 1030mm
     'jis-b2': Specifies the JIS B2 size: 515mm x 728mm
     'jis-b3': Specifies the JIS B3 size: 364mm x 515mm
     'jis-b4': Specifies the JIS B4 size: 257mm x 364mm
     'jis-b5': Specifies the JIS B5 size: 182mm x 257mm
     'jis-b6': Specifies the JIS B6 size: 128mm x 182mm
     'jis-b7': Specifies the JIS B7 size: 91mm x 128mm
     'jis-b8': Specifies the JIS B8 size: 64mm x 91mm
     'jis-b9': Specifies the JIS B9 size: 45mm x 64mm
     'jis-b10': Specifies the JIS B10 size: 32mm x 45mm
        
15. APPENDIX D: Processing IPP Attributes
15. 附录D:处理IPP属性

When submitting a print job to a Printer object, the IPP model allows a client to supply operation and Job Template attributes along with the document data. These Job Template attributes in the create request affect the rendering, production and finishing of the documents in the job. Similar types of instructions may also be contained in the document to be printed, that is, embedded within the print data itself. In addition, the Printer has a set of attributes that describe what rendering and finishing options which are supported by that Printer. This model, which allows for flexibility and power, also introduces the potential that at job submission time, these client-supplied attributes may conflict with either:

向打印机对象提交打印作业时,IPP模型允许客户端提供操作和作业模板属性以及文档数据。创建请求中的这些作业模板属性会影响作业中文档的呈现、生成和完成。类似类型的指令也可以包含在要打印的文档中,即嵌入在打印数据本身中。此外,打印机还具有一组属性,这些属性描述了该打印机支持的渲染和整理选项。该模型考虑了灵活性和强大的功能,还引入了在作业提交时,这些客户机提供的属性可能与以下任何一种冲突的可能性:

- what the implementation is capable of realizing (i.e., what the Printer supports), as well as - the instructions embedded within the print data itself.

- 实现能够实现什么(即打印机支持什么),以及-嵌入在打印数据本身中的指令。

The following sections describe how these two types of conflicts are handled in the IPP model.

以下各节介绍如何在IPP模型中处理这两种类型的冲突。

15.1 Fidelity
15.1 忠诚

If there is a conflict between what the client requests and what a Printer object supports, the client may request one of two possible conflict handling mechanisms:

如果客户端请求的内容与打印机对象支持的内容之间存在冲突,则客户端可能会请求两种可能的冲突处理机制之一:

1) either reject the job since the job can not be processed exactly as specified, or 2) allow the Printer to make any changes necessary to proceed with processing the Job the best it can.

1) 由于无法完全按照指定的方式处理作业,因此拒绝该作业,或者2)允许打印机进行任何必要的更改,以尽可能地继续处理作业。

In the first case the client is indicating to the Printer object: "Print the job exactly as specified with no exceptions, and if that can't be done, don't even bother printing the job at all." In the second case, the client is indicating to the Printer object: "It is more important to make sure the job is printed rather than be processed exactly as specified; just make sure the job is printed even if client supplied attributes need to be changed or ignored."

在第一种情况下,客户机向打印机对象指示:“完全按照指定的方式打印作业,没有例外,如果无法完成,甚至不要麻烦打印作业。”在第二种情况下,客户机向打印机对象指示:他说:"更重要的是要确保工作是以印刷方式进行,而不是完全按照规定处理;;即使需要更改或忽略客户端提供的属性,也要确保打印作业。”

The IPP model accounts for this situation by introducing an "ipp-attribute-fidelity" attribute.

IPP模型通过引入“IPP属性保真度”属性来解释这种情况。

In a create request, "ipp-attribute-fidelity" is a boolean operation attribute that is OPTIONALLY supplied by the client. The value ' true' indicates that total fidelity to client supplied Job Template attributes and values is required. The client is requesting that the Job be printed exactly as specified, and if that is not possible then

在创建请求中,“ipp属性保真度”是一个布尔运算属性,可由客户端选择性地提供。值“true”表示需要对客户端提供的作业模板属性和值的总逼真度。客户机要求按照指定的方式打印作业,如果无法打印,则

the job MUST be rejected rather than processed incorrectly. The value 'false' indicates that a reasonable attempt to print the Job is acceptable. If a Printer does not support some of the client supplied Job Template attributes or values, the Printer MUST ignore them or substitute any supported value for unsupported values, respectively. The Printer may choose to substitute the default value associated with that attribute, or use some other supported value that is similar to the unsupported requested value. For example, if a client supplies a "media" value of 'na-letter', the Printer may choose to substitute 'iso-a4' rather than a default value of ' envelope'. If the client does not supply the "ipp-attribute-fidelity" attribute, the Printer assumes a value of 'false'.

必须拒绝作业,而不是错误地处理作业。值“false”表示打印作业的合理尝试是可以接受的。如果打印机不支持客户端提供的某些作业模板属性或值,则打印机必须分别忽略它们或用任何支持的值替换不支持的值。打印机可以选择替换与该属性关联的默认值,或使用与不支持的请求值类似的其他支持值。例如,如果客户机提供的“介质”值为“na字母”,则打印机可能会选择替换“iso-a4”,而不是默认值“信封”。如果客户端未提供“ipp属性保真度”属性,打印机将假定值为“false”。

Each Printer implementation MUST support both types of "fidelity" printing (that is whether the client supplies a value of 'true' or ' false'):

每个打印机实现必须支持两种类型的“逼真度”打印(即客户端提供的值是“真”还是“假”):

- If the client supplies 'false' or does not supply the attribute, the Printer object MUST always accept the request by ignoring unsupported Job Template attributes and by substituting unsupported values of supported Job Template attributes with supported values. - If the client supplies 'true', the Printer object MUST reject the request if the client supplies unsupported Job Template attributes.

- 如果客户端提供“false”或未提供属性,则打印机对象必须始终通过忽略不支持的作业模板属性并用支持的值替换支持的作业模板属性的不支持的值来接受请求。-如果客户端提供“true”,则如果客户端提供不支持的作业模板属性,则打印机对象必须拒绝请求。

Since a client can always query a Printer to find out exactly what is and is not supported, "ipp-attribute-fidelity" set to 'false' is useful when:

由于客户端始终可以查询打印机,以准确了解哪些是受支持的,哪些是不受支持的,“ipp属性保真度”设置为“false”,在以下情况下非常有用:

1) The End-User uses a command line interface to request attributes that might not be supported. 2) In a GUI context, if the End User expects the job might be moved to another printer and prefers a sub-optimal result to nothing at all. 3) The End User just wants something reasonable in lieu of nothing at all.

1) 最终用户使用命令行界面请求可能不受支持的属性。2) 在GUI上下文中,如果最终用户希望作业可能被移动到另一台打印机,并且希望得到次优结果而不是完全没有。3) 最终用户只是想要一些合理的东西,而不是什么都不想要。

15.2 Page Description Language (PDL) Override
15.2 页面描述语言(PDL)覆盖

If there is a conflict between the value of an IPP Job Template attribute and a corresponding instruction in the document data, the value of the IPP attribute SHOULD take precedence over the document instruction. Consider the case where a previously formatted file of document data is sent to an IPP Printer. In this case, if the client supplies any attributes at job submission time, the client desires that those attributes override the embedded instructions. Consider the case were a previously formatted document has embedded in it

如果IPP作业模板属性的值与文档数据中的相应指令之间存在冲突,则IPP属性的值应优先于文档指令。考虑先前已格式化的文档数据文件被发送到IPP打印机的情况。在这种情况下,如果客户机在作业提交时提供任何属性,则客户机希望这些属性覆盖嵌入的指令。考虑该情况是先前格式化的文档已经嵌入其中。

commands to load 'iso-a4' media. However, the document is passed to an end user that only has access to a printer with 'na-letter' media loaded. That end user most likely wants to submit that document to an IPP Printer with the "media" Job Template attribute set to 'na-letter'. The job submission attribute should take precedence over the embedded PDL instruction. However, until companies that supply document data interpreters allow a way for external IPP attributes to take precedence over embedded job production instructions, a Printer might not be able to support the semantics that IPP attributes override the embedded instructions.

加载“iso-a4”介质的命令。但是,文档将传递给最终用户,该用户只能访问加载了“na字母”介质的打印机。该最终用户很可能希望将该文档提交到IPP打印机,并将“介质”作业模板属性设置为“na字母”。作业提交属性应优先于嵌入式PDL指令。但是,在提供文档数据解释器的公司允许外部IPP属性优先于嵌入式作业生产指令之前,打印机可能无法支持IPP属性覆盖嵌入式指令的语义。

The IPP model accounts for this situation by introducing a "pdl-override-supported" attribute that describes the Printer objects capabilities to override instructions embedded in the PDL data stream. The value of the "pdl-override-supported" attribute is configured by means outside IPP/1.0.

IPP模型通过引入“pdl override supported”(支持pdl覆盖)属性来说明这种情况,该属性描述了打印机对象覆盖pdl数据流中嵌入的指令的能力。“支持pdl覆盖”属性的值通过IPP/1.0之外的方式配置。

This REQUIRED Printer attribute takes on the following values:

此必需的打印机属性具有以下值:

- 'attempted': This value indicates that the Printer object attempts to make the IPP attribute values take precedence over embedded instructions in the document data, however there is no guarantee. - 'not-attempted': This value indicates that the Printer object makes no attempt to make the IPP attribute values take precedence over embedded instructions in the document data.

- “已尝试”:此值表示打印机对象试图使IPP属性值优先于文档数据中的嵌入指令,但无法保证。-”未尝试”:此值表示打印机对象未尝试使IPP属性值优先于文档数据中的嵌入指令。

At job processing time, an implementation that supports the value of 'attempted' might do one of several different actions:

在作业处理时,支持“已尝试”值的实现可能执行以下几种不同操作之一:

1) Generate an output device specific command sequence to realize the feature represented by the IPP attribute value. 2) Parse the document data itself and replace the conflicting embedded instruction with a new embedded instruction that matches the intent of the IPP attribute value. 3) Indicate to the Printer that external supplied attributes take precedence over embedded instructions and then pass the external IPP attribute values to the document data interpreter. 4) Anything else that allows for the semantics that IPP attributes override embedded document data instructions.

1) 生成特定于输出设备的命令序列,以实现IPP属性值表示的功能。2) 解析文档数据本身,并将冲突的嵌入式指令替换为与IPP属性值的意图匹配的新嵌入式指令。3) 向打印机指示外部提供的属性优先于嵌入式指令,然后将外部IPP属性值传递给文档数据解释器。4) 允许IPP属性覆盖嵌入式文档数据指令的语义的任何其他内容。

Since 'attempted' does not offer any type of guarantee, even though a given Printer object might not do a very "good" job of attempting to ensure that IPP attributes take a higher precedence over instructions embedded in the document data, it would still be a conforming implementation.

由于“尝试”不提供任何类型的保证,即使给定的打印机对象在尝试确保IPP属性优先于嵌入在文档数据中的指令方面可能做得不太“好”,它仍然是一个一致的实现。

At job processing time, an implementation that supports the value of 'not-attempted' might do one of the following actions:

在作业处理时,支持“未尝试”值的实现可能会执行以下操作之一:

1) Simply pre-pend the document data with the PDL instruction that corresponds to the client-supplied PDL attribute, such that if the document data also has the same PDL instruction, it will override what the Printer object pre-pended. In other words, this implementation is using the same implementation semantics for the client-supplied IPP attributes as for the Printer object defaults. 2) Parse the document data and replace the conflicting embedded instruction with a new embedded instruction that approximates, but does not match, the semantic intent of the IPP attribute value.

1) 只需使用与客户端提供的PDL属性相对应的PDL指令预先挂起文档数据,这样,如果文档数据也具有相同的PDL指令,它将覆盖打印机对象预先挂起的内容。换句话说,此实现对客户端提供的IPP属性使用与打印机对象默认值相同的实现语义。2) 解析文档数据,并将冲突的嵌入式指令替换为与IPP属性值的语义意图近似但不匹配的新嵌入式指令。

Note: The "ipp-attribute-fidelity" attribute applies to the Printer's ability to either accept or reject other unsupported Job Template attributes. In other words, if "ipp-attribute-fidelity" is set to 'true', a Job is accepted if and only if the client supplied Job Template attributes and values are supported by the Printer. Whether these attributes actually affect the processing of the Job when the document data contains embedded instructions depends on the ability of the Printer to override the instructions embedded in the document data with the semantics of the IPP attributes. If the document data attributes can be overridden ("pdl-override-supported" set to 'attempted'), the Printer makes an attempt to use the IPP attributes when processing the Job. If the document data attributes can not be overridden ("pdl-override-supported" set to 'not-attempted'), the Printer makes no attempt to override the embedded document data instructions with the IPP attributes when processing the Job, and hence, the IPP attributes may fail to affect the Job processing and output when the corresponding instruction is embedded in the document data.

注意:“ipp属性保真度”属性适用于打印机接受或拒绝其他不支持的作业模板属性的能力。换句话说,如果“ipp属性保真度”设置为“true”,则仅当且仅当打印机支持客户端提供的作业模板属性和值时,才会接受作业。当文档数据包含嵌入指令时,这些属性是否实际影响作业的处理取决于打印机是否能够使用IPP属性的语义覆盖嵌入在文档数据中的指令。如果可以覆盖文档数据属性(“支持pdl覆盖”设置为“已尝试”),则打印机在处理作业时会尝试使用IPP属性。如果无法覆盖文档数据属性(“支持pdl覆盖”设置为“未尝试”),则打印机在处理作业时不会尝试使用IPP属性覆盖嵌入的文档数据指令,因此,当文档数据中嵌入相应的指令时,IPP属性可能无法影响作业处理和输出。

15.3 Using Job Template Attributes During Document Processing.

15.3 在文档处理期间使用作业模板属性。

The Printer object uses some of the Job object's Job Template attributes during the processing of the document data associated with that job. These include, but are not limited to, "orientation", "number-up", "sides", "media", and "copies". The processing of each document in a Job Object MUST follow the steps below. These steps are intended only to identify when and how attributes are to be used in processing document data and any alternative steps that accomplishes the same effect can be used to implement this specification.

打印机对象在处理与该作业关联的文档数据期间使用作业对象的某些作业模板属性。这些包括但不限于“定位”、“编号”、“侧面”、“媒体”和“副本”。作业对象中每个文档的处理必须遵循以下步骤。这些步骤仅用于确定何时以及如何在处理文档数据时使用属性,并且可以使用实现相同效果的任何替代步骤来实现本规范。

1. Using the client supplied "document-format" attribute or some form of document format detection algorithm (if the value of "document- format" is not specific enough), determine whether or

1. 使用客户端提供的“document-format”属性或某种形式的文档格式检测算法(如果“document-format”的值不够具体),确定是否

not the document data has already been formatted for printing. If the document data has been formatted, then go to step 2. Otherwise, the document data MUST be formatted. The formatting detection algorithm is implementation defined and is not specified by this specification. The formatting of the document data uses the "orientation-requested" attribute to determine how the formatted print data should be placed on a print-stream page, see section 4.2.10 for the details.

文档数据尚未格式化以供打印。如果文档数据已格式化,则转至步骤2。否则,必须格式化文档数据。格式化检测算法由实现定义,不在本规范中指定。文档数据的格式化使用“请求的方向”属性来确定格式化的打印数据应如何放置在打印流页面上,详细信息请参见第4.2.10节。

2. The document data is in the form of a print-stream in a known media type. The "page-ranges" attribute is used to select, as specified in section 4.2.7, a sub-sequence of the pages in the print-stream that are to be processed and images.

2. 文档数据以已知媒体类型的打印流的形式存在。如第4.2.7节所述,“页面范围”属性用于选择打印流中要处理的页面和图像的子序列。

3. The input to this step is a sequence of print-stream pages. This step is controlled by the "number-up" attribute. If the value of "number-up" is N, then during the processing of the print-stream pages, each N print-stream pages are positioned, as specified in section 4.2.9, to create a single impression. If a given document does not have N more print-stream pages, then the completion of the impression is controlled by the "multiple-document-handling" attribute as described in section 4.2.4; when the value of this attribute is 'single-document' or 'single-document-new-sheet', the print-stream pages of document data from subsequent documents is used to complete the impression.

3. 此步骤的输入是一系列打印流页面。此步骤由“number up”属性控制。如果“number up”的值为N,则在打印流页面处理过程中,按照第4.2.9节的规定,对每N个打印流页面进行定位,以创建单个印象。如果给定文档没有N个以上的打印流页面,则印象的完成由第4.2.4节所述的“多文档处理”属性控制;当此属性的值为“single document”或“single document new sheet”时,将使用来自后续文档的文档数据的打印流页面来完成印象。

The size(scaling), position(translation) and rotation of the print-stream pages on the impression is implementation defined. Note that during this process the print-stream pages may be rendered to a form suitable for placing on the impression; this rendering is controlled by the values of the "printer-resolution" and "print- quality" attributes as described in sections 4.2.12 and 4.2.13. In the case N=1, the impression is nearly the same as the print-stream page; the differences would only be in the size, position and rotation of the print-stream page and/or any decoration, such as a frame to the page, that is added by the implementation.

印模上打印流页面的大小(缩放)、位置(平移)和旋转由实现定义。注意,在此过程中,打印流页面可以呈现为适合放置在印模上的形式;该渲染由“打印机分辨率”和“打印质量”属性的值控制,如第4.2.12节和第4.2.13节所述。在N=1的情况下,印象与打印流页面几乎相同;区别仅在于打印流页面的大小、位置和旋转和/或实现添加的任何装饰,例如页面的框架。

4. The collection of impressions is placed, in sequence, onto sides of the media sheets. This placement is controlled by the "sides" attribute and the orientation of the print-stream page, as described in section 4.2.8. The orientation of the print-stream pages affects the orientation of the impression; for example, if "number-up" equals 2, then, typically, two portrait print-stream pages become one landscape impression. Note that the placement of impressions onto media sheets is also controlled by the "multiple-document-handling" attribute as described in section 4.2.4.

4. 按顺序将印象集放置在媒体页的侧面。该位置由“侧面”属性和打印流页面的方向控制,如第4.2.8节所述。打印流页面的方向影响印模的方向;例如,如果“number up”等于2,则通常情况下,两个纵向打印流页面成为一个横向印象。请注意,如第4.2.4节所述,印模在介质页上的放置也由“多文档处理”属性控制。

5. The "copies" and "multiple-document-handling" attributes are used to determine how many copies of each media instance are created and in what order. See sections 4.2.5 and 4.2.4 for the details.

5. “副本”和“多文档处理”属性用于确定创建每个媒体实例的副本数量和顺序。详见第4.2.5节和第4.2.4节。

6. When the correct number of copies are created, the media instances are finished according to the values of the "finishings" attribute as described in 4.2.6. Note that sometimes finishing operations may require manual intervention to perform the finishing operations on the copies, especially uncollated copies. This specification allows any or all of the processing steps to be performed automatically or manually at the discretion of the Printer object.

6. 创建正确数量的副本后,将根据4.2.6中所述的“finishings”属性值完成媒体实例。请注意,有时整理操作可能需要手动干预,以对副本(尤其是未装订的副本)执行整理操作。本规范允许打印机对象自行决定自动或手动执行任何或所有处理步骤。

16. APPENDIX E: Generic Directory Schema
16. 附录E:通用目录模式

This section defines a generic schema for an entry in a directory service. A directory service is a means by which service users can locate service providers. In IPP environments, this means that IPP Printers can be registered (either automatically or with the help of an administrator) as entries of type printer in the directory using an implementation specific mechanism such as entry attributes, entry type fields, specific branches, etc. IPP clients can search or browse for entries of type printer. Clients use the directory service to find entries based on naming, organizational contexts, or filtered searches on attribute values of entries. For example, a client can find all printers in the "Local Department" context. Authentication and authorization are also often part of a directory service so that an administrator can place limits on end users so that they are only allowed to find entries to which they have certain access rights. IPP itself does not require any specific directory service protocol or provider.

本节为目录服务中的条目定义通用架构。目录服务是服务用户查找服务提供者的一种手段。在IPP环境中,这意味着IPP打印机可以(自动或在管理员的帮助下)使用特定于实现的机制(如条目属性、条目类型字段、特定分支等)在目录中注册为打印机类型的条目。IPP客户端可以搜索或浏览打印机类型的条目。客户端使用目录服务根据命名、组织上下文或条目属性值的筛选搜索来查找条目。例如,客户机可以在“本地部门”上下文中找到所有打印机。身份验证和授权通常也是目录服务的一部分,因此管理员可以对最终用户进行限制,以便他们只能查找具有特定访问权限的条目。IPP本身不需要任何特定的目录服务协议或提供程序。

Note: Some directory implementations allow for the notion of "aliasing". That is, one directory entry object can appear as multiple directory entry object with different names for each object. In each case, each alias refers to the same directory entry object which refers to a single IPP Printer object.

注意:一些目录实现允许“别名”的概念。也就是说,一个目录条目对象可以显示为多个目录条目对象,每个对象具有不同的名称。在每种情况下,每个别名都指向同一个目录条目对象,该对象指向单个IPP打印机对象。

The generic schema is a subset of IPP Printer Job Template and Printer Description attributes (sections 4.2 and 4.4). These attributes are identified as either RECOMMENDED or OPTIONAL for the directory entry itself. This conformance labeling is NOT the same conformance labeling applied to the attributes of IPP Printers objects. The conformance labeling in this Appendix is intended to apply to directory templates and to IPP Printer implementations that subscribe by adding one or more entries to a directory. RECOMMENDED attributes SHOULD be associated with each directory entry. OPTIONAL attributes MAY be associated with the directory entry (if known or supported). In addition, all directory entry attributes SHOULD reflect the current attribute values for the corresponding Printer object.

通用模式是IPP打印机作业模板和打印机描述属性的子集(第4.2节和第4.4节)。这些属性被标识为目录条目本身的推荐属性或可选属性。此一致性标签与应用于IPP打印机对象属性的一致性标签不同。本附录中的一致性标签适用于目录模板和通过向目录添加一个或多个条目进行订阅的IPP打印机实现。建议的属性应与每个目录条目相关联。可选属性可能与目录项关联(如果已知或支持)。此外,所有目录条目属性都应反映相应打印机对象的当前属性值。

The names of attributes in directory schema and entries SHOULD be the same as the IPP Printer attribute names as shown.

目录架构和条目中的属性名称应与IPP打印机属性名称相同,如图所示。

In order to bridge between the directory service and the IPP Printer object, one of the RECOMMENDED directory entry attributes is the Printer object's "printer-uri-supported" attribute. The IPP client queries the "printer-uri-supported" attribute in the directory entry

为了在目录服务和IPP打印机对象之间建立桥梁,推荐的目录条目属性之一是打印机对象的“支持的打印机uri”属性。IPP客户端查询目录项中的“支持的打印机uri”属性

and then addresses the IPP Printer object using one of its URIs. The "uri-security-supported" attribute identifies the protocol (if any) used to secure a channel.

然后使用IPP打印机对象的一个URI对其进行寻址。“uri security supported”属性标识用于保护通道的协议(如果有)。

The following attributes define the generic schema for directory entries of type PRINTER:

以下属性定义打印机类型的目录项的通用架构:

printer-uri-supported RECOMMENDED Section 4.4.1 uri-security-supported RECOMMENDED Section 4.4.2 printer-name RECOMMENDED Section 4.4.3 printer-location RECOMMENDED Section 4.4.4 printer-info OPTIONAL Section 4.4.5 printer-more-info OPTIONAL Section 4.4.6 printer-make-and-model RECOMMENDED Section 4.4.8 charset-supported OPTIONAL Section 4.4.15 generated-natural-language-supported OPTIONAL Section 4.4.17 document-format-supported RECOMMENDED Section 4.4.19 color-supported RECOMMENDED Section 4.4.23 finishings-supported OPTIONAL Section 4.2.6 number-up-supported OPTIONAL Section 4.2.7 sides-supported RECOMMENDED Section 4.2.8 media-supported RECOMMENDED Section 4.2.11 printer-resolution-supported OPTIONAL Section 4.2.12 print-quality-supported OPTIONAL Section 4.2.13

支持打印机uri推荐第4.4.1节支持uri安全推荐第4.4.2节支持打印机名称推荐第4.4.3节建议打印机位置推荐第4.4.4节打印机信息可选第4.4.5节打印机更多信息可选第4.4.6节打印机品牌和型号推荐第4.4.8节支持字符集可选第4.4.15节支持生成的自然语言可选第4.4.17节支持的文档格式推荐第4.4.19节支持的颜色推荐第4.4.23节支持的装饰可选第4.2.6节支持的数字增加可选第4.2.7节支持的侧面推荐第4.2.8节支持的媒体推荐第4.2.11节支持的打印机分辨率可选第4.2.12节支持的打印质量可选第4.2.13节

17. APPENDIX F: Change History for the IPP Model and Semantics document
17. 附录F:IPP模型和语义文档的变更历史

The following substantive changes and major clarifications have been made to this document from the June 30, 1998 version based on the interoperability testing that took place September 23-25 1998 and subsequent mailing list and meeting discussions. They are listed in the order of occurrence in the document. These changes are the ones that might affect implementations. Clarifications that are unlikely to affect implementations are not listed. The issue numbers refer to the IPP Issues List which is available in the following directory:

根据1998年9月23日至25日进行的互操作性测试以及随后的邮件列表和会议讨论,对1998年6月30日版本的本文件进行了以下实质性更改和主要澄清。它们在文档中按出现顺序列出。这些更改可能会影响实现。不太可能影响实施的澄清未列出。问题编号参考IPP问题列表,该列表位于以下目录中:

        ftp://ftp.pwg.org/pub/pwg/ipp/approved-clarifications/
        
        ftp://ftp.pwg.org/pub/pwg/ipp/approved-clarifications/
        

Section Description

章节说明

global Replaced TLS references with SSL3 references as agreed with our Area Director on 11/12/1998.

global于1998年11月12日与我们的区域总监商定,将TLS参考替换为SSL3参考。

global Removed the indications that some of these IPP documents are informational, since the intent is now to publish all IPP/1.0 documents as informational as agreed with our Area Director on 11/12/1998.

global删除了部分IPP文件为信息性文件的迹象,因为现在的目的是按照1998年11月12日与我们的区域总监达成的协议,将所有IPP/1.0文件发布为信息性文件。

3.1.2, Clarify that the IPP object SHOULD NOT validate the 16.3.3 range of the request-id being 1 to 2**31-1, but accepts [now ipp- and returns any value. Clients MUST still keep in the iig] range 1 to 2**31 though. 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 (Issue 1.36).

3.1.2,澄清IPP对象不应验证请求id的16.3.3范围为1到2**31-1,而是接受[现在的IPP-并返回任何值。但客户端仍必须保持在iig]范围1到2**31。如果在收到完整的“请求id”之前终止请求,IPP对象将拒绝请求并返回“请求id”为0的响应(问题1.36)。

3.1.4.1, Clarified that when a client submits a request in a 13.1.4.14 charset that is not supported, the IPP object SHOULD return any 'text' or 'name' attributes in the 'utf-8' charset, if it returns any, since clients and IPP objects MUST support 'utf-8'. (Issue 1.19)

3.1.4.1,澄清了当客户端以不受支持的13.1.4.14字符集提交请求时,IPP对象应在“utf-8”字符集中返回任何“文本”或“名称”属性(如果返回),因为客户端和IPP对象必须支持“utf-8”。(第1.19期)

3.1.4.1 Clarified Section 3.1.4.1 Request Operation Attributes that a client MAY use the attribute level natural language override (text/nameWithLanguage) redundantly in a request. (Issue 1.46)

3.1.4.1 阐明了第3.1.4.1节“请求操作属性”,客户机可在请求中冗余使用属性级自然语言覆盖(text/nameWithLanguage)。(第1.46期)

3.1.4.2 Clarified Section 3.1.4.2 Response Operation Attributes that an IPP object MAY use the attribute level natural language override (text/nameWithLanguage) redundantly in a response. (Issue 1.46)

3.1.4.2 阐明了第3.1.4.2节响应操作属性,即IPP对象可在响应中冗余使用属性级自然语言覆盖(text/nameWithLanguage)。(第1.46期)

3.1.6 Clarified section 3.1.6: If the Printer object supports the "status-message" operation attribute, it NEED NOT return a status message for the following error status codes: 'client-error-bad-request', 'client-error-charset-not-supported', 'server-error-internal-error', 'server-error-operation-not-supported', and 'server-error-version-not-supported'.

3.1.6 阐明了第3.1.6节:如果打印机对象支持“status message”操作属性,则不需要返回以下错误状态代码的状态消息:“客户端错误错误请求”、“客户端错误字符集不受支持”、“服务器错误内部错误”、“服务器错误操作不受支持”,和“不支持服务器错误版本”。

3.2.1.1 Clarified that if a client is not supplying any Job Template attributes in a request, the client SHOULD omit Group 2 rather than sending an empty group. However, a Printer object MUST be able to accept an empty group. This makes [RFC2566] agree with [RFC2565]. (Issue 1.16)

3.2.1.1 阐明了如果客户端未在请求中提供任何作业模板属性,则客户端应忽略组2,而不是发送空组。但是,打印机对象必须能够接受空组。这使得[RFC2566]同意[RFC2565]。(第1.16期)

3.2.1.2, Clarified that if an IPP object is not returning any 3.2.5.2, Unsupported Attributes in a response, the IPP object 3.2.6.2, SHOULD omit Group 2 rather than sending an empty group. 3.3.1.2, However, a client MUST be able to accept an empty group. 3.3.3.2, This makes [RFC2566] agree with [RFC2565]. (Issue 1.17) 3.3.4.2

3.2.1.2澄清,如果IPP对象在响应中未返回任何3.2.5.2不支持的属性,IPP对象3.2.6.2应省略组2,而不是发送空组。3.3.1.2但是,客户机必须能够接受空组。3.3.3.2,这使得[RFC2566]与[RFC2565]一致。(问题1.17)3.3.4.2

3.2.1.2, Clarified that an IPP object MUST treat an unsupported 13.1.2.2, attribute syntax supplied in a request in the same way 13.1.4.12 as an unsupported value. The IPP object MUST return the attribute, the attribute syntax, and the value in the Unsupported Attributes group. (Issue 1.26)

3.2.1.2,阐明IPP对象必须以与13.1.4.12相同的方式将请求中提供的不受支持的13.1.2.2属性语法视为不受支持的值。IPP对象必须返回属性、属性语法和“不支持的属性”组中的值。(第1.26期)

3.2.5.2, Clarified for Get-Printer-Attributes, Get-Jobs, and Get-3.2.6.2, Job-Attributes that an IPP object MUST return 3.3.4.2, 'successful-ok-ignored-or-substituted-attributes' (0x1),

3.2.5.2,阐明了IPP对象必须返回的Get打印机属性、Get作业和Get-3.2.6.2作业属性3.3.4.2,“成功确定忽略或替换属性”(0x1),

13.1.2.1, rather than 'successful-ok' (0x0), when a client 13.1.2.2, supplies unsupported attributes as values of the 13.1.4.12 'requested-attributes' operation attribute. (Issue 1.24) Also clarified that the response NEED NOT contain the "requested-attributes" operation attribute with any supplied values (attribute keywords) that were requested by the client but are not supported by the IPP object. (Issue 1.18)

当客户端13.1.2.2提供不受支持的属性作为13.1.4.12“请求的属性”操作属性的值时,不是“成功确定”(0x0)。(问题1.24)还澄清了响应不需要包含“请求的属性”操作属性以及客户请求但IPP对象不支持的任何提供的值(属性关键字)。(第1.18期)

3.2.6.2 Deleted the job-level natural language override (NLO) 4.1.1.2 from Section 3.2.6.2 Get-Jobs Response so that all 4.3.24 operation responses are the same with respect to NLO. (Issue 1.47)

3.2.6.2 从第3.2.6.2节“获取作业响应”中删除了作业级自然语言覆盖(NLO)4.1.1.2,以便所有4.3.24操作响应在NLO方面相同。(第1.47期)

3.3.1 Clarified that an IPP Printer that supports the Create-Job operation MUST handle the situation when a client does not supply Send-Document or Send-URI operations within a one- to four-minute time period. Also clarified that a client MUST send documents in a multi-document job without undue or unbounded delay. (Issue 1.28)

3.3.1 阐明了支持创建作业操作的IPP打印机必须处理客户端在一到四分钟内未提供发送文档或发送URI操作的情况。还澄清了客户必须在多文档作业中发送文档,不得有不适当或无限制的延迟。(第1.28期)

3.3.3 Clarified that the IPP object MUST reject a Cancel-Job request if the job is in 'completed', 'canceled', or 'aborted' job states. (Issue 1.12)

3.3.3 阐明如果作业处于“已完成”、“已取消”或“已中止”作业状态,IPP对象必须拒绝取消作业请求。(第1.12期)

4.1.2.3 Added this new sub-section: it specifies that nameWithoutLanguage plus the implicit natural language matches nameWithLanguage, if the values and natural languages are the same. Also added that keyword never matches nameWithLanguage or nameWithoutLanguage. Clarified that if both have countries, that the countries SHOULD match as well. If either do not, then the country field SHOULD be ignored. (Issues 1.33 and 1.34)

4.1.2.3 添加了这个新的小节:它指定nameWithoutLanguage加上隐式自然语言匹配nameWithLanguage(如果值和自然语言相同)。还添加了关键字从不与nameWithLanguage或nameWithoutLanguage匹配。澄清如果双方都有国家,则国家也应匹配。如果没有,则应忽略国家/地区字段。(问题1.33和1.34)

4.1.5 Clarified regarding the case-insensitivity of URLs to refer only to the RFCs that define them. (Issue 1.10)

4.1.5 澄清了URL不区分大小写的问题,即仅引用定义URL的RFC。(第1.10期)

4.1.11 Clarified that 'boolean' is not a full-sized integer. (Issue 1.38)

4.1.11 澄清“boolean”不是完整大小的整数。(第1.38期)

4.1.15 Clarified that 'resolution' is not three full-sized integers. (Issue 1.20)

4.1.15 澄清“分辨率”不是三个全尺寸整数。(第1.20期)

4.2.* Clarified that standard values are keywords or enums, not names. (Issue 1.49).

4.2.*阐明标准值是关键字或枚举,而不是名称。(第1.49期)。

4.2.4 Added the 'single-document-new-sheet' value to Section 4.2.4 multiple-document-handling. (Issue 1.54)

4.2.4 在第4.2.4节“多文档处理”中添加了“单文档新表”值。(第1.54期)

4.4.18, Clarified that the "document-format-default" and 4.4.19 "document-format-supported" Printer Description attributes are REQUIRED to agree with the table. (Issue 1.4)

4.4.18,澄清“文件格式默认”和4.4.19“支持的文件格式”打印机描述属性必须与表一致。(第1.4期)

4.4.21 Changed "queued-job-count" from OPTIONAL to RECOMMENDED. (Issue 1.14)

4.4.21 将“排队作业计数”从可选更改为推荐。(第1.14期)

4.4.28 Clarified that the implementation supplied value for the "multiple-operation-time-out" attribute SHOULD be between 30 and 240 seconds, though the implementation MAY allow the administrator to set values, and MAY allow values outside this range. (Issue 1.28)

4.4.28 澄清了实现为“多次操作超时”属性提供的值应在30到240秒之间,尽管实现可能允许管理员设置值,也可能允许超出此范围的值。(第1.28期)

5.1, Clarified Client Conformance that if a client supports 5.2.5 an attribute of 'text' attribute syntax, that it MUST support both the textWithoutLanguage and the textWithLanguage forms. Same for 'name' attribute syntax. Same for an IPP object (Issue 1.48)

5.1澄清了客户一致性,即如果客户机支持5.2.5“文本”属性语法的属性,则必须同时支持textWithoutLanguage和textWithLanguage格式。“name”属性语法也一样。IPP对象也是如此(第1.48版)

6.5, Added new section to allow Attribute Groups to be 12.8 registered as extensions for being passed in operation requests and responses. (Issue 1.25)

6.5,增加了新的部分,允许将属性组注册为扩展,以便在操作请求和响应中传递。(第1.25期)

7. Updated the table of text and name attributes to agree with Section 4.2.

7. 更新了文本和名称属性表,以符合第4.2节的要求。

8.5 Added a new section RECOMMENDING that the Get-Jobs SHOULD return non-IPP jobs whether or not assigning them a job-id and job-uri. Also RECOMMENDED generating, if possible, job-id and job-uri and supporting other IPP operations on foreign jobs as an implementer option. (Issue 1.32)

8.5 添加了一个新的部分,建议Get作业应返回非IPP作业,无论是否为其分配作业id和作业uri。还建议在可能的情况下生成作业id和作业uri,并作为实施者选项支持外部作业上的其他IPP操作。(第1.32期)

9. Updated document references.

9. 更新了文件参考资料。

13.1.4.14 Clarified 'client-error-charset-not-supported' that 'utf-8' must be used for any 'text' or 'name' attributes returned in the error response (Issue 1.19).

13.1.4.14 澄清了“不支持客户端错误字符集”,即“utf-8”必须用于错误响应中返回的任何“文本”或“名称”属性(问题1.19)。

13.1.5.9 Added a new error code 'server-error-job-canceled' (0x0508) to be returned if a job is canceled by another client or aborted by the IPP object while the first client is still sending the document data. (Issue 1.29)

13.1.5.9 添加了一个新的错误代码“server error job Cancelled”(0x0508),如果在第一个客户端仍在发送文档数据时,另一个客户端取消了作业或IPP对象中止了作业,则将返回该错误代码。(第1.29期)

15.3, Moved these sections recommending operation processing 15.4 steps to the new Implementer's Guide (informational). There indicated that all of the error checks are not required, so an IPP object MAY be forgiving and accept non-conforming requests. However, a conforming client MUST supply requests that would pass all of the error checks indicated. (Issue 1.21)

15.3,将这些建议操作处理15.4步骤的章节移至新实施者指南(信息性)。有迹象表明,不需要进行所有错误检查,因此IPP对象可能会原谅并接受不符合要求的请求。然而,合格的客户必须提供通过所有错误检查的请求。(第1.21期)

16 Changed directory schema attributes from REQUIRED to RECOMMENDED. Changed some of the OPTIONAL to RECOMMENDED to agree with the SLP template. Changed the "charset-supported" and "natural-language-supported" from REQUIRED to OPTIONAL. Recommended that the names be the same in a directory entry as the IPP attribute names. (Issue 1.53)

16将目录架构属性从必需更改为推荐。将一些可选选项更改为“建议”,以符合SLP模板。将“支持字符集”和“支持自然语言”从必需更改为可选。建议目录条目中的名称与IPP属性名称相同。(第1.53期)

18. Full Copyright Statement
18. 完整版权声明

Copyright (C) The Internet Society (1999). All Rights Reserved.

版权所有(C)互联网协会(1999年)。版权所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。