选择约束

重要

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

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

通常,各种打印机功能的某些选项不能同时选择。 例如,如果选择了信封进纸器,则无法选择非信封纸张大小(如信纸或 A4 尺寸的纸张)。

若要指定不能同时选择的打印机选项的组合,请使用 *InvalidCombination 或 *Constraints 条目。 如果用户试图选择你指定为无效的选项组合,Unidrv 将拒绝该选择。

*InvalidCombination 条目具有以下格式:

*InvalidCombination : LIST ( FeatureName . OptionName , FeatureName . OptionName , ...)

其中,FeatureName 是功能的名称,OptionName 是与该功能关联的选项的名称。

单个 *InvalidCombination 条目中列出的选项指示一组不能组合使用的选项。 例如,以下条目指定 CMYK 颜色模式不能用于普通纸和 720 DPI。

*InvalidCombination: LIST(Resolution.720dpi, MediaType.Plain, ColorMode.CMYK)

所有 *InvalidCombination 条目必须位于 GPD 文件的根级别(即不在大括号内)。 条目中包含的选项数量没有限制。

如果只需要指示两个选项之间的无效组合关系,则可以使用 *Constraints 条目。 其格式为:

*Constraints : FeatureName。 OptionName

其中,FeatureName 是功能的名称,OptionName 是与该功能关联的选项的名称。 *Constraints 条目必须放在 *Option 条目中。 例如,若要指示信纸和 A4 大小的纸张不能与信封进纸一起使用,可以使用以下条目:

*Feature: InputBin
{
    *Option: ENVFEED
    {
        *Constraints: PaperSize.Letter
        *Constraints: PaperSize.A4
    }
}

或,相当于:

*Feature: InputBin
{
    *Option: ENVFEED
    {
        *Constraints: LIST(PaperSize.Letter, PaperSize.A4)
    }
}

这些示例指定,如果用户尝试选择信封进纸器和信纸大小的纸张,或信封进纸器与 A4 大小的纸张时,Unidrv 会拒绝该选择。