Variables standard

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.

Le langage GPD définit un ensemble de variables standard qui peuvent être référencées dans les chaînes de commande, en utilisant le format de la chaîne de commande. Le pilote Unidrv attribue des valeurs à ces variables. Du point de vue d'un fichier GPD, les variables sont en lecture seule.

Toutes les variables standard sont stockées sous forme d'entiers DWORD.

L'entrée de commande d'imprimante suivante spécifie la chaîne de commande envoyée à une HP LaserJet 4P lorsqu'un bloc de données matricielles est prêt :

*Command: CmdSendBlockData: "<1B>*b" %d{NumOfDataBytes} "W"

Le tableau suivant contient toutes les variables standard, par ordre alphabétique.

Nom de la variable standard Valeur Commentaires
Valeur bleue Composante bleue de la couleur actuelle. Valable pour les chaînes de commande CmdDefinePaletteEntry (voir GreenValue, RedValue).
CurrentFontID Numéro d'identification de la police logicielle téléchargée. Valable si le travail d'impression en cours comprend des polices logicielles téléchargées.
CurrentPaletteIndex Index actuel de la palette de couleurs. Valable pour les chaînes de commande de CmdSelectPaletteEntry (voir GreenValue, RedValue).
CursorOriginX Coordonnée X de l'origine du curseur, en unités principales. Valide lorsqu'un travail d'impression est en cours.
CursorOriginY Coordonnée Y de l'origine du curseur, en unités principales. Valide lorsqu'un travail d'impression est en cours.
DestX Coordonnée X de la destination du curseur, en unités principales, par rapport à l'origine du curseur. Valable pour les chaînes de commande CmdXMoveAbsolute.
DestXRel Coordonnée X de la destination du curseur, en unités principales, par rapport à la position actuelle du curseur. Valable pour les chaînes de commande CmdXMoveRelLeft et CmdXMoveRelRight.
DestY Coordonnée Y de la destination du curseur, en unités principales, par rapport à l'origine du curseur. Valable pour les chaînes de commande CmdYMoveAbsolute.
DestYRel Coordonnée Y de la destination du curseur, en unités principales, par rapport à la position actuelle du curseur. Valable pour les chaînes de commande CmdYMoveRelUp et CmdYMoveRelDown.
FontBold Défini à un si la police actuelle est en gras, ou à zéro dans le cas contraire. Valable lorsqu'une police a été spécifiée.
FontHeight Hauteur, en unités principales, de la police actuelle. Valable lorsqu'une police a été spécifiée.
Italique Valeur égale à un si la police actuelle est en italique, ou zéro dans le cas contraire. Valable lorsqu'une police a été spécifiée.
FontMaxWidth Valeur de l'incrément maximal de tous les glyphes de la police. Valable lorsqu'une police a été spécifiée.
FontStrikeThru Prend la valeur un si le barrage est activé pour la police actuelle, ou zéro dans le cas contraire. Valable lorsqu'une police a été spécifiée.
FontUnderLine Valeur égale à un si la police en cours est soulignée, ou zéro dans le cas contraire. Valable lorsqu'une police a été spécifiée.
FontWidth Largeur, en unités principales, de la police actuelle. Valable lorsqu'une police a été spécifiée.
GraphicsXRes Résolution horizontale actuelle des graphiques, en DPI. Valide lorsqu'un travail d'impression est en cours.
GraphicsYRes Résolution verticale actuelle des graphiques, en DPI. Valide lorsqu'un travail d'impression est en cours.
GrayPercentage Niveau de gris (pourcentage) à utiliser pour le remplissage en gris. Valable pour les chaînes de commande CmdRectGrayFill.
GreenValue Composante verte de la couleur actuelle. Valable pour les chaînes de commande CmdDefinePaletteEntry (voir BlueValue, RedValue).
LinefeedSpacing Quantité d'espace vertical, en unités principales, représentant un saut de ligne. Valable pour les chaînes de commande CmdSetLineSpacing.
NextFontID Numéro d'identification de la prochaine police logicielle à télécharger. Valable pour les chaînes de commande CmdSetFontID.
NextGlyph Code sur deux octets du glyphe suivant à télécharger. Valable pour les chaînes de commande CmdSetCharCode.
NumOfCopies Nombre de copies demandées par l'utilisateur. Valide lorsqu'un travail d'impression est en cours.
NumOfDataBytes Nombre d'octets de données matricielles prêts à être transférés. Valable pour toute chaîne de commande CmdSendXXXData. Si les données sont compressées, la valeur est le nombre d'octets après compression.
PageNumber Numéro de la page en cours d'impression. Notez que cela ne correspond pas nécessairement au numéro de page de l'application, mais plutôt au nombre de fois que DrvSendPage a été appelé. Cette valeur est initialisée par DrvStartDoc et incrémentée par DrvSendPage. Par exemple, si N-up = 4 est sélectionné, PageNumber est incrémenté à 2 uniquement lorsque la cinquième page du document est en cours d'impression. Autre exemple, si un document est imprimé dans l'ordre inverse (du début à la fin), la variable standard PageNumber indique toujours que la première page à imprimer est la page 1, même s'il s'agit de la dernière page du document. Ce comportement est nécessaire pour prendre en charge correctement la fonctionnalité de recto-verso automatique. L'OEM doit utiliser PageNumber uniquement pour déterminer si la page en cours est le recto ou le verso. Valide lorsqu'un travail d'impression est en cours.
PaletteIndexToProgram Index dans la palette de couleurs pour la prochaine entrée à programmer. Valable pour les chaînes de commande CmdDefinePaletteEntry. (Voir aussi RedValue, GreenValue, BlueValue, CurrentPaletteIndex).
PatternBrushID Numéro d'identification d'une brosse de motif téléchargée. Valable pour les chaînes de commande CmdDownloadPattern et CmdSelectPattern.
PatternBrushSize Taille, en octets, de la brosse à motifs actuelle. Valable pour la chaîne de commande CmdDownloadPattern.
PatternBrushType Type de la brosse de motif actuelle. La valeur peut être : 2 : Motif d'ombrage 3 : Motif de hachures 4 : Motif défini par l'utilisateur. Valable pour les chaînes de commande CmdDownloadPattern et CmdSelectPattern.
PhysPaperLength Longueur en mode portrait, en unités de maître y, du papier actuellement utilisé. Valide lorsqu'un travail d'impression est en cours.
PhysPaperWidth Largeur en mode portrait, en unités maître, du papier actuellement utilisé. Valide lorsqu'un travail d'impression est en cours.
PrintDirInCCDegrees Quantité de rotation, mesurée dans le sens inverse des aiguilles d'une montre, en degrés. Valable lorsque le pilote envoie la chaîne de commande CmdSetSimpleRotation ou CmdSetAnyRotation.
RasterDataHeightInPixels Hauteur, en pixels, de l'image représentée par les données actuelles. Valable pour toute chaîne de commande CmdSendXXXData et pour les chaînes de commande CmdSetSrcBmpHeight. La compression ne modifie pas cette valeur.
RasterDataWidthInBytes Nombre d'octets contenus dans une ligne d'analyse. Valable pour toute chaîne de commande CmdSendXXXData et pour les chaînes de commande CmdSetSrcBmpWidth. La compression ne modifie pas cette valeur.
RectXSize Largeur du rectangle, en unités x-master. Valable pour les chaînes de commande CmdSetRectWidth.
RectYSize Longueur du rectangle, en unités de maître y. Valable pour les chaînes de commande CmdSetRectHeight.
RedValue Composante rouge de la couleur actuelle. Valable pour les chaînes de commande CmdDefinePaletteEntry (voir GreenValue, BlueValue).
TextXRes Résolution horizontale actuelle du texte, en DPI. Valide lorsqu'un travail d'impression est en cours.
TextYRes Résolution verticale actuelle du texte, en DPI. Valide lorsqu'un travail d'impression est en cours.