共用方式為


選取條件約束

重要

新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。

如需詳細資訊,請參閱 新式列印平臺列印支援應用程式設計指南

通常,無法同時選取各種印表機功能的特定選項。 例如,如果已選取信封送紙器,則無法選取非velope 紙張大小,例如字母大小或 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 專案。 格式為:

*條件約束: FeatureNameOptionName

其中 FeatureName 是功能的名稱,而 OptionName 是與功能相關聯的選項名稱。 *條件約束項目必須放在 *Option 專案內。 例如,若要指出字母大小和 A4 大小的紙張無法與信封送紙一起使用,您可以使用下列專案:

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

或者,同樣地:

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

這些範例會指定如果使用者嘗試選取信封送紙器和信件大小的紙張,或信封送紙和 A4 大小的紙張,Unidrv 會拒絕選取專案。