Partager via


Format d’entrée des fichiers GPD

Important

La plateforme d’impression moderne est le moyen privilégié de Windows pour communiquer avec les imprimantes. Nous vous recommandons d’utiliser le pilote de classe IPP en boîte 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’impression.

Pour plus d’informations, veuillez consulter la section Plateforme d’impression moderne et le Guide de conception des applications de support d’impression.

Toutes les entrées de fichier GPD respectent le format suivant :

*EntryName: EntryValue {GPD_FileEntry, GPD_FileEntry, ...}

EntryName est toujours un mot-clé prédéfini reconnu par le parseur GPD d’Unidrv, précédé d’un astérisque.

EntryValue doit être l’un des types de valeurs GPD.

Chaque GPD_FileEntry est une autre entrée de fichier GPD, conforme au format indiqué ci-dessus. Chacune de ces sous-entrées doit être valide pour le EntryName spécifié de l’entrée qui la contient.

Certains mots-clés EntryName n’acceptent pas d’accolades ni de sous-entrées incluses.

Chaque entrée GPD est terminée par un retour à la ligne ou une accolade fermante ( } ).

Un exemple d’une entrée simple de fichier GPD, qui n’accepte pas de sous-entrées, est l’entrée d’attribut suivante :

*MaxCopies: 99

Cette entrée spécifie que le nombre maximum de copies que l’imprimante peut gérer est de 99.

Voici un exemple plus complexe, décrivant une imprimante capable d’imprimer des pages dans l’une des deux orientations (portrait ou paysage). L’exemple spécifie également les commandes que le pilote doit envoyer pour sélectionner chaque orientation.

*Feature: Orientation
{
    *Name: "Orientation"
    *DefaultOption: Portrait
    *Option: Portrait
    {
        *Name: "Portrait"
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.7
            *Cmd: "<1B>&l0O"
        }
    }
    *Option: LANDSCAPE_CC90
    {
        *Name: "Landscape"
        *Command: CmdSelect
        {
            *Order: DOC_SETUP.7
            *Cmd: "<1B>&l1O"
        }
    }
}