Vincoli di selezione
Importante
La piattaforma di stampa moderna è il mezzo preferito di Windows per comunicare con le stampanti. Ti consigliamo di usare il driver di classe IPP di Microsoft, insieme a Print Support Apps (PSA), per personalizzare l'esperienza di stampa in Windows 10 e 11 per lo sviluppo di dispositivi per stampanti.
Per altre informazioni, vedere Piattaforma di stampa moderna e guida alla progettazione dell'app di supporto per la stampa.
Spesso, alcune opzioni per varie funzionalità della stampante non possono essere selezionate contemporaneamente. Ad esempio, se l'alimentatore busta è selezionato, non è possibile selezionare formati di carta non di rilievo, ad esempio carta di dimensioni lettera o A4.
Per specificare combinazioni di opzioni della stampante che non possono essere selezionate contemporaneamente, usare *InvalidCombination o *Vincoli. Se un utente tenta di selezionare una combinazione di opzioni specificate come non valide, Unidrv rifiuta la selezione.
La voce *InvalidCombination ha il formato seguente:
*InvalidCombination: LIST ( FeatureName . OptionName , FeatureName . OptionName , ...)
dove FeatureName è il nome di una funzionalità e OptionName è il nome di un'opzione associata alla funzionalità.
Le opzioni elencate in un'unica voce *InvalidCombination indicano un set di opzioni che non possono essere usate in combinazione. Ad esempio, la voce seguente specifica che la modalità colore CMYK non può essere utilizzata con carta normale e 720 DPI.
*InvalidCombination: LIST(Resolution.720dpi, MediaType.Plain, ColorMode.CMYK)
Tutte le voci *InvalidCombination devono trovarsi a livello radice del file GPD (ovvero non all'interno di parentesi graffe). Il numero di opzioni incluse in una voce non è limitato.
Se è sufficiente indicare una relazione di combinazione non valida tra due opzioni, è possibile usare una voce *Vincoli. Il formato è:
*Vincoli: FeatureName . OptionName
dove FeatureName è il nome di una funzionalità e OptionName è il nome di un'opzione associata alla funzionalità. Una voce *Vincoli deve essere inserita all'interno di una voce *Option. Ad esempio, per indicare che la carta di dimensioni A4 e di dimensioni A4 non può essere utilizzata con il feeder busta, è possibile utilizzare le voci seguenti:
*Feature: InputBin
{
*Option: ENVFEED
{
*Constraints: PaperSize.Letter
*Constraints: PaperSize.A4
}
}
oppure, in modo equivalente:
*Feature: InputBin
{
*Option: ENVFEED
{
*Constraints: LIST(PaperSize.Letter, PaperSize.A4)
}
}
Questi esempi specificano che se un utente tenta di selezionare il feeder busta e la carta in formato lettera oppure il feeder busta e la carta di dimensioni A4, Unidrv rifiuta la selezione.