PrintTicket 架构和文档构造

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

当前使用 DEVMODE 结构指定设备配置信息的方法存在一些限制。 首先,DEVMODE 结构是二进制结构,这可能会导致不同版本的问题。 其次,它分为一个不可扩展的公共部分和一个专用部分,这些部分只能由驱动程序访问,然后只能由创建它的特定驱动程序访问。 PrintTicket 格式使用基于 XML 的打印架构框架来表示配置信息,从而消除了 DEVMODE 结构的这些缺点。

PrintTicket 架构解决了刚才提到的两个问题。 首先,PrintTicket 架构是基于 XML 的文本文件,因此消除了扩展性和版本控制问题。 其次,配置信息可供所有客户端使用,这意味着任何客户端或提供程序都可以存储和检索 PrintTicket 中包含的任何信息。 使用打印架构框架和派生的 PrintCapabilities 文档所用的相同技术描述选项。 因此,PrintTicket 提供了要实现的选项定义模型的所有潜在可移植性优势。 有关详细信息 ,请参阅打印架构框架 。 本部分的目标受众包括以下组:

  • PrintTicket/PrintCapabilities 提供程序接口的实现者

  • PrintTicket 的使用者

  • PrintTicket/PrintCapabilities 提供程序接口的客户端

上一个列表中的第一个类别的成员在本部分的其余部分中称为 PrintTicket 提供程序。 最后两个类别的成员称为 PrintTicket 使用者。

与打印架构和 PrintCapabilities 架构的关系

PrintTicket 和 PrintCapabilities 架构都是打印架构的专用部分。 打印架构的这些子集之间的main结构差异在于,PrintTicket 架构包含 PrintCapabilities 架构中不包含的 Property 和 ParameterInit 实例,而 PrintCapabilities 架构包括 PrintTicket 架构中不包含的 Property 和 ParameterDef 实例。 除了这些差异外,PrintCapabilities 和 PrintTicket 架构通常在内容、共享功能、Option、ScoredProperty 和 Value 实例中相互镜像。 任何此类共享内容都必须保持最新。 例如,如果在 PrintCapabilities 架构的 MediaSize 功能中进行了更改,则必须在 PrintTicket 架构中进行相同的更改。

打印架构规范