PPD 功能

重要

新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

有关详细信息,请参阅新式打印平台打印支持应用设计指南

PPD 功能在 *OpenUI/*CloseUI 结构关键字对的 PPD 文件中定义,在 Pscript 驱动程序会以类似方式处理的某些 PPD 关键字中定义。 尽管 EnumFeatures 列出了 *LeadingEdge*UseHWMargins 关键字,但未在 PPD *OpenUI/*CloseUI 结构关键字对中定义它们。

如果 GetOptionsSetOptions 方法出现在功能列表中,则它们会忽略这些关键字。 PPD 功能/选项关键字区分大小写。

SetOptions 会以特殊方式处理某些 PPD 功能:

  • 如果打印机的 PPD 文件包含 *OutputOrder 功能关键字,并且调用了 SetOptions 来更改此功能的选项选择,则会更改 %PageOrder 驱动程序功能设置,以与新输出顺序匹配。 这样做是为了防止后台处理程序执行不必要的页面顺序模拟。

  • 如果打印机的 PPD 文件包含 *OutputBin 功能关键字,并调用了 SetOptions 来更改此功能的选项选择,并且更改会导致 %PageOrder 驱动程序功能的当前设置与打印机的页面排序相反,并且 %MetafileSpooling 为“False”,则会将 %MetafileSpooling 重置为“True”。

  • 启用后台处理程序 EMF 后台处理时,并且将 Collate 设置为“True”(这可以直接在 DEVMODEW 结构的公共部分进行设置,也可以通过在 PPD 的 *Collate 功能关键字上调用 SetOptions 来设置),但 Collate 功能当前不可用,并且 %MetafileSpooling 为“False”,则会将 %MetafileSpooling 重置为“True”。 这可在应用 SetOptions 调用中的所有请求设置时完成。

  • 如果将 Duplex 设置为 simplex(这可以直接在 DEVMODE 结构的公共部分设置,也可以通过在 PPD 的 *Duplex 功能关键字上调用 SetOptions 来设置),但将 %PagePerSheet 设置为“Booklet”,则会将 %PagePerSheet 更改为“2”。 这可在应用 SetOptions 调用中的所有请求设置时完成。