选择约束
重要
新式打印平台是 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 会拒绝该选择。