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

重要

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

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

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

核心驱动程序配置模块将解析 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 打印机驱动程序本地化