选择约束

重要

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

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

通常,无法同时选择用于各种打印机功能的某些选项。 例如,如果选择信封送纸器,则无法选择非动态纸张大小,如字母大小或 A4 大小的纸张。

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

*InvalidCombination 条目采用以下格式:

*InvalidCombination:LIST ( FeatureNameOptionNameFeatureNameOptionName , ...)

其中 ,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 将拒绝选择。