基于 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 选项的功能。
通过使用 PrintSchemaKeywordMap 或 MSPrintSchemaKeywordMap 关键字,这些 GPD 或 PPD 自定义功能或选项将通过使用映射的公共打印架构关键字在 XML PrintCapabilities 或 PrintTickets 中正确公开。
在核心驱动程序的 DEVMODE 结构中,这些自定义 GPD 或 PPD 功能的设置存储在选项数组中。
对于 Windows 7,MxdcGetPDEVAdjustment 函数具有用于横向旋转的新参数。 有关详细信息,请参阅 MxdcXDCGetPDEVAdjustment。