Partager via


Contraintes de sélection

Important

Nous vous recommandons d’utiliser le pilote de classe de boîte de réception IPP de Microsoft, ainsi que les applications de support d’impression (PSA), pour personnaliser l’expérience d’impression dans Windows 10 et 11 pour le développement de périphériques d’imprimante.

Pour plus d’informations, consultez le Guide de conception de l’application de support d’impression.

Souvent, certaines options pour différentes fonctionnalités d’imprimante ne peuvent pas être sélectionnées simultanément. Par exemple, si le chargeur d’enveloppes est sélectionné, les formats de papier non enveloppés, comme le papier de format lettre ou A4, ne peuvent pas être sélectionnés.

Pour spécifier des combinaisons d’options d’imprimante qui ne peuvent pas être sélectionnées simultanément, utilisez les entrées *InvalidCombination ou *Constraints. Si un utilisateur tente de sélectionner une combinaison d’options que vous avez spécifiées comme étant non valides, Unidrv rejette la sélection.

L’entrée *InvalidCombination a le format suivant :

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

FeatureName est le nom d’une fonctionnalité et OptionName est le nom d’une option associée à la fonctionnalité.

Les options répertoriées dans une seule entrée *InvalidCombination indiquent un ensemble d’options qui ne peuvent pas être utilisées en combinaison. Par exemple, l’entrée suivante spécifie que le mode couleur CMJN ne peut pas être utilisé avec du papier brut et 720 PPP.

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

Toutes les entrées *InvalidCombination doivent se trouver au niveau racine du fichier GPD (autrement dit, pas dans les accolades). Le nombre d’options incluses dans une entrée n’est pas limité.

Si vous devez uniquement indiquer une relation de combinaison non valide entre deux options, vous pouvez utiliser une entrée *Contraintes. Son format est le suivant :

*Contraintes : FeatureName . OptionName

FeatureName est le nom d’une fonctionnalité et OptionName est le nom d’une option associée à la fonctionnalité. Une entrée *Contraintes doit être placée à l’intérieur d’une entrée *Option. Par exemple, pour indiquer que le papier de format lettre et de format A4 ne peut pas être utilisé avec le chargeur d’enveloppes, vous pouvez utiliser les entrées suivantes :

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

ou, de façon équivalente :

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

Ces exemples spécifient que si un utilisateur tente de sélectionner le chargeur d’enveloppes et le papier de format lettre, ou le chargeur d’enveloppes et le papier au format A4, Unidrv rejette la sélection.