基于 GPD/PPD 的功能说明更改

重要

建议使用 Microsoft 的 IPP 收件箱类驱动程序,以及 Print Support Apps (PSA) ,在 Windows 10 和 11 中自定义打印体验,以便进行打印机设备开发。

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

Microsoft XPSDrv Unidrv/PScript5 驱动程序不包含任何硬编码 Unidrv/PScript5 功能。 如果核心驱动程序配置模块需要处理功能、选项或约束,则应在 GPD 或 PPD 文件中指定每个功能、选项和约束。 你仍然可以实现支持非 GPD 或非 PPD 功能、选项或约束的配置插件。

根 GPD 或 PPD 文件 (在 INF 文件中指定为驱动程序的 DataFile) 是核心驱动程序配置模块将分析的内容。 此根 GPD 或 PPD 文件可以包含其他 GPD 或 PPD 文件,以实现 GPD 或 PPD 文件的模块化设计。 除了包括

Msxpsinc.gpd 和 Msxpsinc.ppd 文件,可以决定如何为筛选器管道构造 GPD 和 PPD 文件。 建议将筛选器与 GPD 或 PPD 文件配对,以最大程度地提高筛选器的可重用性。

下面的代码示例演示了一个 GPD 示例,该示例指定筛选器在基于 Unidrv 的 XPSDrv 筛选器管道中支持的反向顺序打印功能:

*Feature: ReverseOrderPrinting
 {
 *PrintSchemaKeywordMap: "JobPageOrder"

 *Option: FrontToBack
 {
 *PrintSchemaKeywordMap: "Standard"
 }

 *Option: BackToFront
 {
 *PrintSchemaKeywordMap: "Reverse"
 }
}

在前面的示例中,“ReverseOrderPrinting”自定义 GPD 功能是使用两个自定义选项定义的:“FrontToBack”和“BackToFront”。 该示例使用 PrintSchemaKeywordMap 关键字将 GPD 自定义功能或选项映射到公共打印架构关键字。

下面的代码示例演示了一个 PPD 示例,该示例指定筛选器在基于 PScript5 的 XPSDrv 筛选器管道中支持的“页面方向”功能。

*OpenUI *PageOrientation: PickOne
*DefaultPageOrientation: Portrait
*PageOrientation Portrait: ""
*PageOrientation Landscape: ""
*PageOrientation RotatedLandscape: ""
*CloseUI: *PageOrientation

*MSPrintSchemaKeywordMap: PageOrientation  *PageOrientation
*MSPrintSchemaKeywordMap: PageOrientation Portrait *PageOrientation Portrait
*MSPrintSchemaKeywordMap: PageOrientation Landscape *PageOrientation Landscape
*MSPrintSchemaKeywordMap: PageOrientation ReverseLandscape *PageOrientation RotatedLandscape

在前面的示例中,定义了具有三个自定义选项的自定义 PPD 功能,以指定筛选器支持三个打印架构标准 PageOrientation 选项的能力。

通过使用 PrintSchemaKeywordMapMSPrintSchemaKeywordMap 关键字,这些 GPD 或 PPD 自定义功能或选项将使用映射的公共打印架构关键字在 XML PrintCapabilities 或 PrintTickets 中正确公开。

在核心驱动程序的 DEVMODE 结构中,这些自定义 GPD 或 PPD 功能的设置存储在选项数组中。

对于 Windows 7, MxdcGetPDEVAdjustment 函数具有用于横向旋转的新参数。 有关详细信息,请参阅 MxdcXDCGetPDEVAdjustment

MxdcXDCGetPDEVAdjustment

V4 打印机驱动程序本地化