Condividi tramite


Gestione delle funzionalità e delle opzioni installabili

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.

Alcune delle funzionalità o delle opzioni di una stampante potrebbero essere installabili. Ad esempio, una stampante potrebbe accettare un feeder busta facoltativo, che potrebbe o non essere attualmente collegato. Questo feeder busta deve essere descritto all'interno di un file GPD in due modi:

  • Come opzione per la funzionalità InputBin.

  • Come "funzionalità" installabile (anche se è davvero un'opzione), che consente all'utente di indicare se è effettivamente installato.

Per prima cosa, per specificare il feeder envelope, insieme a un feeder automatico, come opzioni per la funzionalità InputBin, è possibile usare le voci GPD seguenti.

*Feature: InputBin
{
    *Name: "Input Bin"
    *Option: AUTO
    {
        *Name: "Automatic Feeder"
        *Command: CmdSelect {Command Attributes}
    }
    *Option: ENVFEED
    {
        *Name: "Envelope Feeder"
        *Command: CmdSelect {Command Attributes}
    }
}

Per rendere installabile il feeder envelope, sono necessarie voci GPD aggiuntive, come indicato di seguito:

*InstalledOptionName: "Installed"
*NotInstalledOptionName: "Not installed"
*Feature: InputBin
{
    *Name: "Input Bin"
    *Option: AUTO
    {
        *Name: "Automatic Feeder"
        *Command: CmdSelect {Command Attributes}
    }
    *Option: ENVFEED
    {
        *Name: "Envelope Feeder"
        *Command: CmdSelect {Command Attributes}
        *Installable?: TRUE
        *InstallableFeatureName: "Optional Envelope Feeder"
    }
}

All'interno della voce *Option per il feeder envelope sono stati aggiunti due attributi:

  • *Installable? attribute indica che l'opzione è installabile.

  • L'attributo *InstallableFeatureName specifica una stringa di testo visualizzata da Unidrv in modo che l'utente possa indicare se l'opzione è effettivamente installata.

Ogni volta che *Installable? è impostato su TRUE per una funzionalità o un'opzione, Unidrv crea una funzionalità aggiuntiva per la visualizzazione della finestra delle proprietà. Si noti che, anche se l'elemento installabile è un'opzione, Unidrv crea una rappresentazione di funzionalità nella finestra delle proprietà. Questa funzionalità unidrv-sintetizzata è identificata dalla stringa fornita con *InstallableFeatureName. La funzionalità offre due opzioni, "Installato" e "Non installato" e consente all'utente di selezionare una di queste opzioni. Le stringhe "Installed" e "Not installed" vengono specificate con gli attributi *InstalledOptionName e *NotInstalledOptionName in modo da poterli modificare se altro testo è più appropriato.

Pertanto, per questo esempio, la finestra delle proprietà includerebbe una funzionalità InputBin, con etichetta Input Bin, che include due opzioni, con etichetta Feeder automatico e Feeder busta. La finestra delle proprietà include anche una funzionalità aggiuntiva, con etichetta Feeder busta facoltativa, con due opzioni, con l'etichetta Installato e Non installato. L'utente può selezionare Feeder busta solo in Contenitore di input se seleziona per la prima volta Installato in Feeder busta facoltativo.

A volte, è necessario indicare che alcune opzioni installabili non possono essere installate contemporaneamente o che non è possibile selezionare una determinata opzione non installabile se è installata un'altra opzione installabile. Per gestire queste situazioni, usare le voci GPD che specificano vincoli di opzione.

Non è possibile usare *Installable? attributo con funzionalità facoltative che richiedono una voce *DisabledFeatures. Per queste funzionalità, è necessario specificare in modo esplicito la funzionalità facoltativa con le opzioni "Installato" e "Non installato". Si supponga, ad esempio, che una stampante abbia un'unità duplex facoltativa. La funzionalità duplex (vedere Funzionalità standard) deve essere disabilitata se l'unità duplex non è installata. È necessario definire una funzionalità "Unità duplex facoltativa", con le opzioni "Installato" e "Non installato". All'interno della voce "Non installato" *Opzione, è necessario includere una voce *DisabledFeatures per la funzionalità Duplex. È possibile usare le voci GPD seguenti:

*Feature: DuplexUnit
{
    *ConflictPriority: 3   *% Make priority higher than Duplex feature
    *Name: "Optional Duplexing Unit"
    *Option: Installed
    {
        *Name: "Installed"
    }
    *Option: NotInstalled
    {
        *Name: "Not Installed"
        *DisabledFeatures: LIST(Duplex)
        *Constraints: LIST (Duplex.LongEdge, Duplex.ShortEdge)
    }
}

Assicurarsi di specificare anche eventuali vincoli di opzione pertinenti, come illustrato.