Fonctionnalités des pilotes
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.
Les fonctionnalités du pilote sont des fonctionnalités non-PPD qui sont synthétisées par le pilote (par exemple, la fonctionnalité %OutputFormat). Pour éviter les conflits de noms avec les mots-clés de fonctionnalités PPD, tous les noms de mots-clés de fonctionnalités du pilote sont précédés d’un caractère « % ». Les mots-clés de fonctionnalités/options du pilote sont également sensibles à la casse.
Pour obtenir une liste de tous les mots-clés de fonctionnalités du pilote pris en charge, un plug-in peut appeler EnumFeatures, qui renverra la liste des mots-clés de fonctionnalités contenant à la fois les fonctionnalités du pilote et les fonctionnalités PPD. Le plug-in peut ensuite rechercher les noms de mots-clés de fonctionnalités qui commencent par le préfixe « % » pour obtenir la liste des fonctionnalités du pilote.
Le tableau suivant liste les fonctionnalités du pilote actuellement prises en charge. Chaque ligne du tableau énumère un mot-clé de fonctionnalité du pilote, affiche les options prises en charge, indique si les options de la fonctionnalité peuvent être énumérées dans un appel à EnumOptions et fournit une brève description.
Fonctionnalité du pilote | Options prises en charge | Enum options | Description et commentaires |
---|---|---|---|
%AddEuro | « True » (vrai) « False » (faux) |
Oui | Ajoute le symbole Euro aux polices de l’appareil. Cette fonctionnalité est prise en charge uniquement pour les imprimantes de niveau 2+. Pour les imprimantes de niveau 1, SetOptions ignore cette fonctionnalité et GetOptions renvoie toujours « False ». |
%CtrlDAfter | « True » (vrai) « False » (faux) |
Oui | Envoyer Ctrl-D après chaque travail. Persistant à l’imprimante. |
%CtrlDBefore | « True » (vrai) « False » (faux) |
Oui | Envoyer Ctrl-D avant chaque travail. Persistant à l’imprimante. |
%CustomPageSize | Veuillez consulter la section Note 1 ci-dessous pour plus d’informations. | Non | Spécifiez les paramètres de taille de page personnalisée PostScript. Persistent au document |
%GraphicsTrueGray | « True » (vrai) « False » (faux) |
Oui | Convertir les graphiques en niveaux de gris PostScript. Persistant à l’imprimante. |
%JobTimeout | Une chaîne ANSI terminée par un caractère NULL contenant des chiffres décimaux représentant un nombre entier non signé de secondes pour le délai d’attente, dans la plage de 0 à 2 147 483 647. Pour SetOptions, les caractères de tabulation ou d’espace supplémentaires avant ou après les chiffres décimaux sont autorisés, mais un symbole de signe n’est pas autorisé. |
Non | Spécifiez la valeur du délai d’attente du travail. Persistant à l’imprimante. |
%MaxFontSizeAsBitmap | Une chaîne ANSI terminée par un caractère NULL contenant des chiffres décimaux représentant un nombre entier non signé de pixels, dans la plage de 0 à 32 767. Pour SetOptions, les caractères de tabulation ou d’espace supplémentaires avant ou après les chiffres décimaux sont autorisés, mais un symbole de signe n’est pas autorisé. |
Non | Spécifiez la taille maximale de la police à télécharger en tant qu’image bitmap. Persistant à l’imprimante. |
%MetafileSpooling | « True » (vrai) « False » (faux) |
Oui | Activer/désactiver les fonctionnalités d’impression avancées. Persistent au document Veuillez consulter la section Note 2 ci-dessous pour plus d’informations. |
%MinFontSizeAsOutline | Une chaîne ANSI terminée par un caractère NULL contenant des chiffres décimaux représentant un nombre entier non signé de pixels, dans la plage de 0 à 32 767. Pour SetOptions, les caractères de tabulation ou d’espace supplémentaires avant ou après les chiffres décimaux sont autorisés, mais un symbole de signe n’est pas autorisé. |
Non | Veuillez consulter la section Note 2 ci-dessous pour plus d’informations. Persistant à l’imprimante. |
%Mirroring | « True » (vrai) « False » (faux) |
Oui | Effet miroir en inversant les coordonnées horizontales. Persistent au document |
%Negative | « True » (vrai) « False » (faux) |
Oui | Produire une sortie négative en inversant les valeurs de noir et de blanc. Cette fonctionnalité est prise en charge uniquement pour les imprimantes noir et blanc. Pour les imprimantes couleur, SetOptions ignore cette fonctionnalité et GetOptions renvoie toujours « False ». Persistent au document |
%Orientation | « Portrait », « Paysage », « Paysage pivoté » | Oui | Spécifiez l’orientation de la sortie. Persistent au document |
%OutputFormat | « Vitesse », « Portabilité », « EPS », « Archive » | Oui | Spécifiez le format de sortie PostScript. Persistent au document Veuillez consulter la section Note 5 ci-dessous pour plus d’informations. |
%OutputProtocol | « ASCII », « BCP », « TBCP », « Binaire » | Oui | Spécifiez le protocole que l’imprimante utilisera pour les travaux d’impression. Les imprimantes PostScript sont supposées prendre en charge « ASCII » et « Binaire », donc ces options sont toujours disponibles. Les options « BCP » et « TBCP » ne sont disponibles que si elles sont prises en charge. Pour déterminer cela, vérifiez l’attribut global « Protocols ». Persistant à l’imprimante. |
%OutputPSLevel | « 1 », « 2 », « 3 » | Non | Spécifiez le niveau de langage PostScript à utiliser pour le travail d’impression. Le paramètre ne dépassera jamais la valeur spécifiée dans l’attribut global « LanguageLevel ». Persistent au document |
%PageOrder | « FrontToBack » « BackToFront » |
Oui | Spécifiez l’ordre dans lequel les pages seront imprimées. Persistent au document Veuillez consulter la section Note 3 ci-dessous pour plus d’informations. |
%PagePerSheet | « 1 », « 2 », « 4 », « 6 », « 9 », « 16 », « Livret » |
Oui | Spécifiez le nombre de pages logiques par feuille physique. Cette fonctionnalité est également connue sous le nom d’impression « N-up ». Persistent au document Veuillez consulter la section Note 4 ci-dessous pour plus d’informations. |
%PSErrorHandler | « True » (vrai) « False » (faux) |
Oui | Envoyer le gestionnaire d’erreurs PostScript. Persistent au document |
%PSMemory | Une chaîne ANSI terminée par un caractère NULL contenant des chiffres décimaux représentant un nombre entier non signé de kilooctets de mémoire virtuelle PostScript, dans la plage de 0 à 2 147 483 647. Pour SetOptions, les caractères de tabulation ou d’espace supplémentaires avant ou après les chiffres décimaux sont autorisés, mais un symbole de signe n’est pas autorisé. |
Non | Spécifiez la quantité de mémoire virtuelle PostScript disponible. Le pilote principal nécessite une certaine quantité de mémoire virtuelle PostScript disponible pour son traitement. Si %PSMemory est défini en dessous de ce minimum, la valeur minimale est utilisée comme nouvelle valeur. Actuellement, la valeur minimale est de 172 Ko pour les imprimantes de niveau 1 et de 249 Ko pour les imprimantes de niveau 2+. Persistant à l’imprimante. |
%TextTrueGray | « True » (vrai) « False » (faux) |
Oui | Convertir le texte en niveaux de gris PostScript. Persistant à l’imprimante. |
%TTDownloadFormat | « Automatique », « Contour », « Bitmap », « NativeTrueType » | Oui | Spécifiez le format de téléchargement des polices TrueType. « NativeTrueType » n’est pris en charge que lorsque l’attribut global « TTRasterizer » indique une prise en charge du « Type42 ». Persistent au document |
%WaitTimeout | Une chaîne ANSI terminée par un caractère NULL contenant des chiffres décimaux représentant un nombre entier non signé de secondes pour le délai d’attente, dans la plage de 0 à 2 147 483 647. Pour SetOptions, les caractères de tabulation ou d’espace supplémentaires avant ou après les chiffres décimaux sont autorisés, mais un symbole de signe n’est pas autorisé. |
Non | Spécifiez la valeur du délai d’attente. Persistant à l’imprimante. |
Notes sur les mots-clés des fonctionnalités du pilote
La fonctionnalité %CustomPageSize a cinq valeurs d’option : x, y, WidthOffset, HeightOffset et FeedDirection. Veuillez vous référer à la section 5.16 de la Spécification du format de fichier de description d’imprimante PostScript, Version 4.3, pour une explication détaillée de ces paramètres.
Une entrée %CustomPageSize contient le mot-clé %CustomPageSize, accompagné des valeurs pour les options x, y, WidthOffset, HeightOffset et FeedDirection. Le premier élément est le mot-clé %CustomPageSize, suivi d’un caractère NULL. Les valeurs pour x, y, WidthOffset et HeightOffset suivent ce mot-clé et apparaissent sous forme de sous-chaînes de chiffres décimaux non signés, chacun représentant le nombre de points PostScript pour la valeur de l’option correspondante. Chacune de ces valeurs numériques est suivie d’un ou plusieurs caractères de tabulation ou d’espace. Le dernier élément de la chaîne est la valeur pour FeedDirection, qui se termine par un caractère NULL. Les options pour FeedDirection sont « LongEdge », « ShortEdge » (correspondant aux orientations 0 et 1), et « LongEdgeFlip », « ShortEdgeFlip » (correspondant aux orientations 2 et 3). Vérifiez le mot-clé de fonctionnalité *LeadingEdge pour les directions d’alimentation prises en charge.
Pour GetOptions, le tampon de sortie pointé par pmszFeatureOptionBuf est comme décrit dans le paragraphe précédent. Dans l’exemple suivant, la valeur de x est 612, la valeur de y est 792, les valeurs de WidthOffset et HeightOffset sont toutes deux 0, et la valeur de FeedDirection est « ShortEdge ».
"%CustomPageSize\0612 792 0 0 ShortEdge\0"
Pour SetOptions, les caractères de tabulation ou d’espace supplémentaires avant ou après les chiffres décimaux sont autorisés, mais un symbole de signe n’est pas autorisé. Sinon, le tampon d’entrée pointé par pmszFeatureOptionBuf doit être construit comme décrit ci-dessus.
La fonctionnalité %CustomPageSize est prise en charge uniquement si les trois conditions suivantes sont remplies :
Le fichier PPD contient la fonctionnalité *CustomPageSize.
Le mot-clé *PPD-Adobe a une valeur supérieure ou égale à 4.3, ou *UseHWMargin : False est spécifié pour indiquer un appareil à alimentation par rouleau.
L’option actuellement sélectionnée pour la fonctionnalité PPD *PageSize est CustomPageSize.
Cette fonctionnalité est prise en charge uniquement lorsque le spouleur EMF est activé.
Lorsqu’elle est prise en charge, le fait de définir cette option sur « False » entraîne des modifications des fonctionnalités EMF suivantes :
Si %PagePerSheet est « Livret », elle est changée en « 1 ».
Si Collate est défini sur « True » (ce qui peut être défini soit directement dans la partie publique de la structure DEVMODEW soit en appelant SetOptions sur la fonctionnalité PPD *Collate), mais que la fonctionnalité Collate n’est actuellement pas disponible, Collate sera défini sur « False ».
Si %PageOrder est l’opposé du paramètre d’ordre de sortie actuel de l’imprimante, %PageOrder est inversé à la valeur de l’imprimante.
Cette fonctionnalité est prise en charge uniquement lorsque le spouleur EMF est activé.
Lorsqu’elle est prise en charge, la définition de cette option peut entraîner les événements suivants :
Si le fichier PPD de l’imprimante inclut le mot-clé de fonctionnalité *OutputOrder, alors sa sélection d’option est modifiée pour correspondre à l’ordre de sortie du nouveau paramètre pour la fonctionnalité %PageOrder. Ceci est fait pour empêcher le spooler d’effectuer une simulation inutile de l’ordre des pages.
Si le fichier PPD de l’imprimante n’inclut pas la fonctionnalité *OutputOrder, et que le nouveau paramètre pour la fonctionnalité %PageOrder du pilote est l’opposé du paramètre d’ordre de sortie actuel de l’imprimante, et que la fonctionnalité %MetafileSpooling du pilote est « False », alors %MetafileSpooling est réinitialisé à « True ».
L’option « Livret » est prise en charge uniquement lorsque le spooler EMF est activé et que la fonctionnalité Duplex est disponible.
Lorsque l’option « Livret » est prise en charge, définir la fonctionnalité %PagePerSheet du pilote sur « Livret » peut entraîner les changements suivants :
Si la fonctionnalité %MetafileSpooling du pilote est « False », elle est réinitialisée à « True ».
Si la fonctionnalité PPD *Duplex est définie sur None, la fonctionnalité *Duplex est réinitialisée à la première option non-Simplex définie dans le fichier PPD.
À l’exception de « EPS » (Encapsulated PostScript), les formats spécifiés dans la fonctionnalité %OutputFormat du pilote sont classés selon les deux caractéristiques suivantes :
Le code PostScript de sortie est-il indépendant de l’ordre des pages ?
Le code PostScript de sortie contient-il des commandes de contrôle de l’appareil (qui utilisent généralement l’opérateur setpagedevice) ?
Catégorie Indépendant de l’ordre des pages setpagedevice Archive Oui Non Portabilité Oui Oui Vitesse Non Oui
Lorsque GetOptions est appelé sur les mots-clés de fonctionnalités du pilote, si un mot-clé de fonctionnalité demandé n’est pas reconnu, ou si le mot-clé de fonctionnalité est reconnu mais non pris en charge dans le mode document-sticky (persistent au document) ou printer-sticky (persistent à l’imprimante) actuel (veuillez consulter Remplacement des pages de propriétés fournies par le pilote), la fonctionnalité sera simplement ignorée et le tampon de sortie ne contiendra pas sa paire mot-clé/option.
Par exemple, supposons que la méthode GetOptions soit appelée et que le tampon d’entrée pmszFeaturesRequested contienne la chaîne suivante (au format MULTI_SZ) :
"Resolution\0%CustomPageSize\0Unknown_Name\0%Orientation\0\0"
Après que GetOption a renvoyé, le tampon de sortie pmszFeatureOptionBuf pourrait contenir cette chaîne (également au format MULTI_SZ) :
"Resolution\0300dpi\0%CustomPageSize\0612 792 0 0 ShortEdge\0%Orientation\0RotatedLandscape\0\0"
Remarquez que la fonctionnalité Unknown_Name (qui n’existe pas) listée dans la première chaîne n’apparaît pas dans la deuxième chaîne, car elle n’a pas été reconnue par le pilote Pscript. Les autres fonctionnalités, Résolution, %CustomPageSize et %Orientation, apparaissent dans la chaîne de sortie, avec leurs options actuelles, qui sont respectivement « 300dpi », « 612 792 0 0 ShortEdge » et « Paysage pivoté ». Veuillez consulter la section Fonctionnalités du pilote pour une explication des options %CustomPageSize.
Lorsque SetOptions est appelé sur les mots-clés de fonctionnalités du pilote, si un mot-clé de fonctionnalité demandé ou son mot-clé d’option dans le tampon d’entrée pointé par pmszFeatureOptionBuf n’est pas reconnu, ou si la fonctionnalité est reconnue mais non prise en charge dans le mode collé au document ou collé à l’imprimante actuel (veuillez consulter Remplacement des pages de propriétés fournies par le pilote), ou si à la fois le mot-clé de fonctionnalité et son mot-clé d’option sont reconnus mais que le mot-clé d’option est invalide pour cette fonctionnalité (par exemple, essayer de définir %TTDownloadFormat sur « NativeTrueType » sur une imprimante qui ne prend pas en charge Type42 TTRasterizer), alors cette paire fonctionnalité/option sera ignorée et l’option actuelle pour cette fonctionnalité restera en vigueur.
L’ordre des paires mot-clé/option dans le tampon pointé par pmszFeatureOptionBuf peut affecter le résultat de l’appel SetOptions. Par exemple, les deux ordres suivants donnent des résultats différents.
pmszFeatureOptionBuf | %PagePerSheet | %MetafileSpooling |
---|---|---|
« %MetafileSpooling\0False\0%PagePerSheet\0Booklet\0\0 » | « Livret » | « True » (vrai) |
« %MetafileSpooling\0False\0%PagePerSheet\0Booklet\0\0 » | "1" | « False » (faux) |
Pour une explication des raisons pour lesquelles ces résultats se produisent, veuillez consulter la Note 3 sur %MetafileSpooling ci-dessus.