Partager via


Macros de bloc

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 les articles Plateforme d’impression moderne et Guide de conception des applications de support d’impression.

Une macro de bloc est utilisée pour délimiter un ensemble d’entrées de fichier GPD que vous souhaitez insérer à plusieurs reprises dans un fichier GPD. Vous pouvez inclure n’importe quel type d’entrée dans une définition de macro de bloc, comme les instructions de fonctionnalité et d’option, les spécifications d’attribut et les références aux macros de valeur ou à d’autres macros de bloc.

Les règles suivantes s’appliquent à l’utilisation des macros de bloc :

  • Une définition de macro de bloc dans un fichier GPD doit être située avant toute référence à celle-ci.

  • Une macro de bloc définie au niveau racine (autrement dit, pas à l’intérieur d’accolades) est disponible à travers le fichier GPD qui le définit, après qu’il soit défini. Dans le cas contraire, la portée d’une macro de bloc est l’ensemble des accolades gauche et droite contenant sa définition.

  • Une définition de macro de bloc peut contenir des définitions de macros de bloc et de macros de valeur supplémentaires.

  • Une définition de macro de bloc peut référencer d’autres macros de bloc et macros de valeur précédemment définies, mais elle ne peut pas se référencer elle-même.

  • Les macros de bloc n’acceptent pas d’arguments.

  • Si les accolades sont incluses dans le corps d’une macro, elles doivent être utilisées par paires (autrement dit, il doit y avoir un nombre égal d’accolades gauche et droite).

  • Si vous créez deux macros de bloc avec le même nom, la première définition est en vigueur jusqu’à ce que l’analyseur syntaxique (parser) GPD rencontre la deuxième définition. La deuxième définition remplace alors la première. Si la portée de la deuxième définition se termine, la première définition est rétablie.

Format de macro de bloc

Pour définir une macro de bloc dans un fichier GPD, utilisez le format suivant :

*BlockMacro: BlockMacroName {BlockMacroBody}

BlockMacroName est un nom unique et BlockMacroBody est un ensemble d’une ou plusieurs entrées de fichier GPD. Si BlockMacroBody contient des accolades, un nombre égal d’accolades gauche et droite ( {, } ) doit être inclus.

Par exemple, vous pouvez définir une macro de bloc nommée EnvelopeDefaults, qui est définie comme suit :

*BlockMacro: EnvelopeDefaults
{
    *PrintableArea: PAIR(4646, 6738)
    *PrintableOrigin: PAIR(150, 150)
    *RotateSize: TRUE
}

Référencement de macros de bloc

Pour référencer une macro de bloc, utilisez le format suivant :

*InsertBlock : =BlockMacroName

BlockMacroName est un nom unique, précédemment spécifié dans l’entrée *BlockMacro qui définit la macro.

Par exemple, pour référencer la macro HPEnvelopeDefaults dans une spécification d’option vous pouvez utiliser les entrées suivantes :

*Option: Env9
{
    *InsertBlock: =EnvelopeDefaults
}