打印 Schema-Related 技术

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

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

PrintCapabilities

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

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

PrintTicket

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

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

打印架构规范