打印Schema-Related技术

本主题不是最新的。 有关最新信息,请参阅 打印架构规范

对于 .NET Framework 3.0、Windows Vista 及更高版本,PrintCapabilities 和 PrintTicket 技术扩展了打印架构的功能,以实现更丰富的打印体验。

PrintCapabilities

PrintCapabilities 技术是发布按作业属性和设置的用户可控制设置说明的方法。 PrintCapabilities 以 eXtensible 标记语言 (XML) 文档(称为 PrintCapabilities 文档)发布,由打印架构关键字和专用扩展中定义的术语组成。 PrintCapabilities 文档可以视为用户可配置状态当前设备配置的“快照”以及可能配置的说明。 设备 (或设备驱动程序) 生成 PrintCapabilities 文档, (客户端查询时当前一组可配置选项的快照) ,可以是应用程序或打印子系统。 本文档介绍设备上当前可用的所有可配置 PrintCapabilities,例如完成选项和页面布局选项。 PrintCapabilities 文档显式描述了设备的所有属性以及每个属性的允许设置。 通过使用打印架构框架,可以精确描述和有效地比较设备属性。 通过使用打印架构关键字文档中包含的关键字以及打印架构框架中定义的结构,设备可以使客户端更有效地使用 PrintCapabilities。 有关详细信息,请参阅 PrintCapabilities 架构和文档构造

相对于 Microsoft Windows Server 2003 及更早版本中的打印子系统,PrintCapabilities 技术允许客户端和打印子系统组件以透明方式查看当前 Win32 系统二进制 PrintCapabilities 中包含的信息。 这使客户端能够查询 PrintCapabilities、接收一致且理解良好的 XML 快照,并用它来为设备构造 PrintTicket,而无需调用驱动程序用户界面 (UI) 。

PrintTicket

PrintTicket 技术是当前 DEVMODE 结构的继任者。 它是一个基于 eXtensible 标记语言的文档,用于指定和保存有关作业格式设置和打印作业配置的信息。 PrintTicket 实例分配特定设备设置并传达用户意向。 有两种类型的 PrintTickets:泛型 PrintTickets,这些类型不是针对特定设备生成的;以及为特定设备构造的特定于设备的 PrintTickets。 一般 PrintTickets,旨在跨设备移植,通过为打印架构关键字中专门描述的每个设备属性选择设置来派生其内容。 特定于设备的 PrintTickets 从 PrintCapabilities 文档派生其内容,选择本文档播发的每个设备属性的设置。 这些 PrintTickets 还可能包括专用扩展,特定于一个设备型号或设备型号系列。 有关详细信息,请参阅 PrintTicket 架构和文档构造

相对于当前打印子系统,PrintTicket 技术允许打印子系统的所有组件和客户端使用定义完善的 XML 格式,对当前存储在 DEVMODE 结构的公共和专用部分中的信息具有透明访问权限。 此设计解决了为 PrintTicket 技术设计的驱动程序升级或降级和驱动程序不匹配方案中遇到的当前问题。 这些方案当前可能会导致设置丢失,因此会产生负面客户体验。 PrintTicket 还支持新方案,例如,使打印机驱动程序能够以一致且明确的方式向应用程序和自定义插件公开其专用 DEVMODE 设置。 这使打印组件更加透明,并更干净地处理设置迁移。 PrintTicket 接口将通过托管代码对象上的方法向应用程序公开,这些对象也可供脚本使用。 在 .NET Framework 3.0 中基于托管代码对象构建的新应用程序框架中,PrintTicket 是描述文档设置的标准方法。

打印架构规范