Partager via


structure ATTRIBUTE_INFO_4 (winsplp.h)

La structure ATTRIBUTE_INFO_4 est utilisée comme paramètre pour la fonction DrvQueryJobAttributes d’une DLL d’interface d’imprimante. Toutes les valeurs de membre sont fournies par la fonction. Cette structure est similaire à ATTRIBUTE_INFO_3, mais elle inclut des membres supplémentaires pour contrôler l’impression N-up, duplex et livret, et la mise à l’échelle.

Syntaxe

typedef struct _ATTRIBUTE_INFO_4 {
  DWORD dwJobNumberOfPagesPerSide;
  DWORD dwDrvNumberOfPagesPerSide;
  DWORD dwNupBorderFlags;
  DWORD dwJobPageOrderFlags;
  DWORD dwDrvPageOrderFlags;
  DWORD dwJobNumberOfCopies;
  DWORD dwDrvNumberOfCopies;
  DWORD dwColorOptimization;
  short dmPrintQuality;
  short dmYResolution;
  DWORD dwDuplexFlags;
  DWORD dwNupDirection;
  DWORD dwBookletFlags;
  DWORD dwScalingPercentX;
  DWORD dwScalingPercentY;
} ATTRIBUTE_INFO_4, *PATTRIBUTE_INFO_4;

Membres

dwJobNumberOfPagesPerSide

Nombre de pages de document à placer d’un côté d’une page physique, comme demandé par l’utilisateur. Les valeurs autorisées sont 1, 2, 4, 6, 9 ou 16.

dwDrvNumberOfPagesPerSide

Nombre de pages de document que l’imprimante et le pilote peuvent placer sur un côté d’une page physique. Cette valeur doit être 1 ou la valeur spécifiée pour dwJobNumberOfPagesPerSide.

dwNupBorderFlags

Une des valeurs d’indicateur de bits suivantes :

Drapeau Définition
BORDER_PRINT Le processeur d’impression doit dessiner une bordure autour de la page.
NO_BORDER_PRINT Le processeur d’impression ne doit pas dessiner une bordure autour de la page.

dwJobPageOrderFlags

Une des valeurs d’indicateur de bits suivantes :

Drapeau Définition
BOOKLET_PRINT Les pages doivent être imprimées sous forme de livret, avec deux pages de document imprimées d’un côté d’une page physique. En mode paysage, les deux pages de document sont imprimées côte à côte sur le papier. En mode Portrait, les deux pages de document sont imprimées en haut et en bas.
NORMAL_PRINT Les pages doivent être imprimées dans l’ordre normal : page 1, page 2, et ainsi de suite.
REVERSE_PRINT Les pages doivent être imprimées dans l’ordre inverse : dernière page, dernière page, dernière page, et ainsi de suite.

dwDrvPageOrderFlags

Indicateurs de bits indiquant les options de classement des pages prises en charge par l’imprimante et le pilote. Utilise les mêmes indicateurs que dwJobPageOrderFlags.

dwJobNumberOfCopies

Nombre de copies du travail d’impression, comme demandé par l’utilisateur.

dwDrvNumberOfCopies

Le nombre maximal de copies que l’imprimante et le pilote peuvent gérer à la fois, en tenant compte de tels attributs de travail comme le regroupement et l’agrafage.

dwColorOptimization

Une des valeurs d’indicateur de bits suivantes :

Drapeau Définition
COLOR_OPTIMIZATION Le processeur d’impression doit utiliser l’optimisation des couleurs monochromes.
NO_COLOR_OPTIMIZATION Le processeur d’impression ne doit pas utiliser l’optimisation des couleurs monochromes.

dmPrintQuality

Valeur à utiliser au lieu de la structure dmPrintQuality du DEVMODEW du travail d’impression, si l’indicateur COLOR_OPTIMIZATION est défini dans dwColorOptimization.

dmYResolution

Valeur à utiliser au lieu de la structure dmYResolution membre de la structure DEVMODEW du travail d’impression, si l’indicateur COLOR_OPTIMIZATION est défini dans dwColorOptimization.

dwDuplexFlags

Une des valeurs d’indicateur de bits suivantes utilisées dans l’impression duplex :

Drapeau Définition
DONT_SEND_EXTRA_PAGES_FOR_DUPLEX Le processeur d’impression ne doit pas envoyer de pages vides supplémentaires lors de l’impression duplex. Par exemple, si vous envoyez un travail à trois pages pour l’impression duplex, certaines imprimantes s’attendent à recevoir quatre pages. Si vous imprimez ce travail avec cet indicateur défini, le processeur d’impression envoie uniquement les trois pages du travail d’impression et n’envoie pas la page vide supplémentaire.
REVERSE_PAGES_FOR_REVERSE_DUPLEX Le processeur d’impression doit inverser l’ordre des paires de pages lors de l’impression en mode duplex inverse. Par exemple, lorsque cet indicateur est défini, le processeur d’impression doit imprimer des pages dans l’ordre 7, 8, 5, 6, 3, 4, 1, 2 au lieu de 8, 7, 6, 5, 4, 3, 2, 1.

Défini sur 0 si votre pilote ne nécessite aucune de ces options.

dwNupDirection

Une des valeurs d’indicateur de bits suivantes utilisées dans l’impression N-up :

Drapeau Définition
RIGHT_THEN_DOWN Le processeur d’impression doit fournir des images de page en séquence de gauche à droite, puis vers le bas de la page imprimée finale. Définissez également cette valeur si l’impression N-up n’est pas nécessaire.
DOWN_THEN_RIGHT Le processeur d’impression doit fournir des images de page en séquence de haut en bas, puis de gauche à droite sur la page imprimée finale.
LEFT_THEN_DOWN Le processeur d’impression doit fournir des images de page en séquence de droite à gauche, puis vers le bas de la page imprimée finale.
DOWN_THEN_LEFT Le processeur d’impression doit fournir des images de page en séquence de haut en bas, puis de droite à gauche sur la page imprimée finale.

Cet indicateur est considéré uniquement si dwJobNumberOfPagesPerSide et/ou dwDrvNumberOfPagesPerSide indiquent que l’impression N-up est active. Pour plus d’informations, consultez les descriptions ci-dessus pour dwJobNumberOfPagesPerSide et dwDrvNumberOfPagesPerSide.

dwBookletFlags

Si dwJobPageOrderFlags est défini sur BOOKLET_PRINT, l’une des valeurs suivantes :

Drapeau Définition
BOOKLET_EDGE_LEFT Le processeur d’impression doit imprimer des pages dans une disposition de livret de gauche à droite, où le bord englobant du livret plié final se trouve sur le bord gauche de la page 1.
BOOKLET_EDGE_RIGHT Le processeur d’impression doit imprimer des pages dans une disposition de livret de droite à gauche, où le bord englobant du livret plié final se trouve sur le bord droit de la page 1.

Si dwJobPageOrderFlags n’est pas défini sur BOOKLET_PRINT, dwBookletFlags a la valeur 0.

Cet indicateur est considéré uniquement si le membre dwJobPageOrderFlags est défini sur BOOKLET_PRINT.

dwScalingPercentX

Pourcentage de mise à l’échelle dans la direction horizontale (x) par rapport à la taille normale du papier. Doit être comprise entre 1 et 1 000. Définissez la valeur 100 si la mise à l’échelle n’est pas effectuée.

Pour garantir des résultats d’impression prévisibles, dwScalingPercentX et dwScalingPercentY doivent avoir la même valeur.

dwScalingPercentY

Pourcentage de mise à l’échelle dans la direction verticale (y) par rapport au format de papier normal. Doit être comprise entre 1 et 1 000. Définissez la valeur 100 si la mise à l’échelle n’est pas effectuée.

Pour garantir des résultats d’impression prévisibles, dwScalingPercentX et dwScalingPercentY doivent avoir la même valeur.

Remarques

Si la dmPrintQuality membre de la structure DEVMODEW d’un travail d’impression est une valeur négative, telle que DMRES_HIGH, et si l’optimisation des couleurs monochromes est activée, le basculement entre la couleur et le monochrome peut entraîner l’utilisation de différentes résolutions. Cela est dû au fait que DMRES_HIGH peut être affecté à différentes valeurs DPI pour le rendu de couleur et de monochrome. (Pour les appareils non pris en charge par unidrv, cette affectation se produit dans le fichier de gpD de l’imprimante.) Pour garantir une résolution cohérente tout au long du travail d’impression, le pilote peut spécifier des dmPrintQuality positifs et valeurs dmYResolution (représentant une résolution DPI spécifique) pour remplacer les valeurs DEVMODEW équivalentes.

Le processeur d’impression EMF utilise l’indicateur spécifié pour dwColorOptimization pour déterminer s’il faut demander gDI pour effectuer l’optimisation des couleurs monochromes. Si l’optimisation des couleurs monochromes est activée, le travail d’impression peut être basculé entre le rendu monochrome et le rendu de couleur approprié.

Si vous créez un plug-in de rendu Unidrv pour générer des filigranes de couleur, notez que lorsque le membre dwColorOptimization est défini sur COLOR_OPTIMIZATION, les filigranes de couleur sont imprimés en noir et blanc lorsqu’ils sont imprimés sur des documents noirs et blancs. Pour vous assurer que les filigranes de couleur s’impriment correctement avec des documents de couleur et noir et blanc, désactivez l’optimisation des couleurs. L’optimisation des couleurs peut également être contrôlée par l’unidrv *ChangeColorModeOnDoc ? attribut de couleur (voir Attributs de couleur) et par la fonction GdiEndPageEMF.

Pour obtenir la liste des valeurs par défaut pour ATTRIBUTE_INFO_4 membres, consultez GetJobAttributesEx.

Cette structure est disponible dans Windows Vista.

Exigences

Exigence Valeur
d’en-tête winsplp.h (include Winddiui.h, Winsplp.h)

Voir aussi

ATTRIBUTE_INFO_2

ATTRIBUTE_INFO_3

DrvQueryJobAttributes

GdiEndPageEMF

GetJobAttributesEx