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) |