Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29341-7-2规定了打印机基本服务v2,这是UPnP打印机设备v2架构的基础服务,负责打印作业提交。作为客户端应用程序向网络打印机发送文档的入口点,基本服务定义了CreateJob动作,该动作接受打印数据、作业工单参数和文档处理指令,并返回可在后续作业管理中使用的JobID。该服务由URN标识。
CreateJob动作接受一个JobTicket参数——这是一个结构化的XML文档,描述打印作业的处理要求。作业工单指定文档格式、介质尺寸、介质类型、分辨率、双面模式、色彩模式、装订选项、页面方向、进纸盘选择、出纸槽选择和文档名称。服务根据打印机能力验证作业工单,如果打印机不支持任何请求的能力,则返回详细的错误响应。
| 作业工单参数 | 类型 | 示例值 | 必填 |
|---|---|---|---|
| DocumentFormat | 字符串 (MIME) | application/pdf, image/jpeg, text/plain | 是 |
| CopyCount | ui2 | 1–9999 | 是 |
| MediaSize | 字符串 | iso-a4, na-letter, iso-a3, jis-b5 | 否 |
| MediaType | 字符串 | plain, glossy, transparency, envelopes | 否 |
| Resolution | 字符串 | 600dpi, 1200dpi, 2400dpi | 否 |
| Duplex | 字符串 | one-sided, two-sided-long-edge, two-sided-short-edge | 否 |
| ColorMode | 字符串 | monochrome, grayscale, color | 否 |
| JobPriority | ui1 | 1–100 (默认 50) | 否 |
基本服务v2实现了一个两阶段作业提交流程。第一阶段,客户端使用作业工单参数调用CreateJob。打印机验证工单,为作业预留资源,并返回包含JobID、DataSinkURL和估计最大数据大小的作业提交响应。第二阶段,客户端使用HTTP PUT或POST将打印数据上传到DataSinkURL。打印机确认接收并通过其渲染管线开始处理作业。
服务还定义了GetCapabilities动作,返回打印机支持的功能和约束的全面描述。这包括支持的文档格式、介质尺寸、介质类型、分辨率范围、双面模式、色彩能力、装订选项、进纸盘配置、出纸槽配置和设备特定约束。能力文档结构化为XML模式,控制点可以解析以动态生成仅显示支持选项的打印对话框。
基本服务v2还引入了对打印作业模板的支持——存储在打印机上的预定义作业工单配置文件,客户端可以按名称引用而无需单独指定每个参数。打印机可以存储多个模板,每个模板包含一套完整的处理指令。客户端调用CreateJobFromTemplate指定模板名称并可选择覆盖单个参数。这简化了不需要对每个打印参数进行精细控制的客户的提交协议,并使IT管理员能够集中定义标准化打印策略。
基本服务v2的安全考虑包括作业提交认证、数据完整性验证和打印数据机密性。服务支持限制哪些客户端可以提交作业的访问控制列表。数据完整性通过可选的Content-MD5头部确保。对于机密性,当打印机配置了TLS证书时,服务支持HTTPS URL用于DataSinkURL,加密传输中的打印数据。规范还定义了管理操作的最低认证要求。
基本服务v2的错误处理模型区分作业级错误和服务级错误。作业级错误从CreateJob返回结构化错误响应,允许客户端调整参数并重试。服务级错误通过状态服务的ErrorStatus变量传达并事件通知到订阅的控制点。基本服务本身在打印机离线时不排队作业——它返回服务级错误,由客户端负责稍后重试。这种设计确保打印提交流程保持简单,排队逻辑集中在客户端或打印服务器而非分布到各打印机。
答:最低要求格式是application/pdf和image/tiff。大多数实现还支持image/jpeg、text/plain、application/postscript和application/vnd.hp-PCL。GetCapabilities动作返回特定打印机支持的完整格式列表。服务不执行格式转换——客户端必须确保文档格式受支持。
答:CreateJob动作预留一个带有时间限制的DataSinkURL的作业槽。如果数据上传中断,客户端可以使用HTTP Range头恢复(如果打印机支持部分上传)。如果在数据完全接收前超时到期,打印机释放预留并取消作业。客户端随后必须提交新的CreateJob请求。
答:服务本身不定义打印数据加密——它依赖传输层安全来加密传输中的数据。对于打印机假脱机存储上的静态数据加密,那是打印机实现关注的问题,不在服务规范范围内。
答:作业工单模板允许IT管理员预定义标准打印配置——例如300dpi黑白单面打印的”草稿”模板,或1200dpi彩色双面打印的”演示”模板。用户按名称选择模板,简化了打印体验并强制执行组织的打印策略。