Partager via


Nouveaux attributs PPD réservés à la racine pour Windows Vista

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.

La liste suivante décrit les attributs PPD qui sont nouveaux à partir de Windows Vista. Pour maintenir la compatibilité avec les versions de Windows antérieures à Windows Vista, vous devez entourer ces attributs avec le code suivant.

*Ifdef: WINNT_60 ... *Endif: WINNT_60 blocks

MSPrintSchemaKeywordMap

L’attribut MSPrintSchemaKeywordMap définit la correspondance entre un mot-clé de fonctionnalité PPD et un mot-clé de fonctionnalité du schéma d’impression public, ou une correspondance entre un mot-clé d’option d’une fonctionnalité PPD et un mot-clé d’option du schéma d’impression d’une fonctionnalité de schéma d’impression.

MSPrintSchemaKeywordMap a deux formats acceptables :

Format 1

*MSPrintSchemaKeywordMap: PrintSchema_feature_keyword *<PPD_feature_keyword>

Format 2

*MSPrintSchemaKeywordMap: PrintSchema_feature_keyword PrintSchema_option_keyword *<PPD_feature_keyword> <PPD_option_keyword>

Le préfixe de mot-clé de fonctionnalité PPD (qui est un astérisque [*]) est requis dans les deux formats.

Pour le format 1 :

  • Le mot-clé de fonctionnalité PPD doit se référer à une fonctionnalité PPD qui a déjà été définie dans le contenu du fichier PPD précédent.

  • Les définitions multiples de *MSPrintSchemaKeywordMap pour la même fonctionnalité PPD ne sont pas autorisées. Si plusieurs définitions sont trouvées, seule la première définition sera acceptée, et les autres définitions seront ignorées.

Pour le format 2 :

  • La définition *MSPrintSchemaKeywordMap pour une fonctionnalité PPD (en utilisant le format 1) doit être présente avant que des définitions *MSPrintSchemaKeywordMap pour les options de la fonctionnalité PPD puissent apparaître.

  • Dans la définition *MSPrintSchemaKeywordMap pour une option PPD, la correspondance du mot-clé de fonctionnalité PPD avec le mot-clé de fonctionnalité du schéma d’impression doit être identique à ce qui est défini dans la définition précédente *MSPrintSchemaKeywordMap pour la fonctionnalité PPD (en utilisant le format 1).

  • Le mot-clé d’option PPD doit se référer à une option de la fonctionnalité PPD qui a déjà été définie dans le contenu du fichier PPD précédent.

  • Les définitions multiples de *MSPrintSchemaKeywordMap pour la même option PPD d’une fonctionnalité PPD ne sont pas autorisées. Si plusieurs définitions sont trouvées, seule la première définition sera acceptée, et les autres définitions seront ignorées.

Si une entrée *MSPrintSchemaKeywordMap enfreint l’une des règles de format précédentes, cette entrée sera ignorée, et vous recevrez un avertissement de ppdchecker avec des informations détaillées.

*MSPrintSchemaKeywordMap n’est pas pris en charge pour une utilisation avec les fonctionnalités PPD standard suivantes :

*Collate *Duplex *InputSlot *OutputBin *PageSize *Resolution *MediaType Il est également important de savoir que si vous mappez une fonctionnalité à un mot-clé de schéma d’impression déjà utilisé dans le fichier PPD, le document PrintCapabilities correspondant pourrait lister cette fonctionnalité plus d’une fois. Les occurrences multiples peuvent prêter à confusion, il est donc déconseillé de mapper des fonctionnalités à des mots-clés de schéma d’impression utilisés dans le fichier PPD.

Le parseur PPD génère automatiquement l’option FORMSOURCE pour la fonctionnalité InputBin et la mappe au mot-clé AutoSelect dans le schéma d’impression. Si votre fichier PPD contient une option InputBin qui utilise l’attribut MSPrintSchemaKeywordMap pour mapper l’option à un mot-clé de schéma d’impression, la fonctionnalité dans le schéma d’impression contiendra une option FORMSOURCE dans l’espace de noms de l’appareil. AutoSelect apparaîtra dans le document PrintCapabilities et se réfèrera à l’option spécifiée dans l’attribut MSPrintSchemaKeywordMap du fichier PPD.

L’exemple de code suivant montre un exemple de l’attribut MSPrintSchemaKeywordMap dans un fichier PPD partiel.

*OpenUI *IHVStapling:PickOne
*DefaultIHVStapling:Disabled
*IHVStapling Enabled:"..."
*IHVStapling Disabled:"..."
*CloseUI: *IHVStapling

*MSPrintSchemaKeywordMap: Staple*IHVStapling
*MSPrintSchemaKeywordMap: StapleOn*IHVStaplingEnabled
*MSPrintSchemaKeywordMap: StapleOff*IHVStaplingDisabled

MSPrintSchemaPrivateNamespaceURI

L’attribut MsPrintSchemaPrivateNamespaceURI définit l’URI de l’espace de noms privé que le pilote principal doit utiliser pour exposer les fonctionnalités ou options PPD privées dans PrintTicket ou PrintCapabilities. Cet URI sera appliqué à toutes les fonctionnalités ou options qui n’ont pas de correspondance explicite (en utilisant la définition *MSPrintSchemaKeywordMap) dans le schéma d’impression public.

MSPrintSchemaPrivateNamespaceURI utilise le format suivant.

*MSPPrintSchemaPrivateNamespaceURI: "<URI>"

<URI> représente une QuotedValue PPD. Comme défini par la spécification PPD, QuotedValue permet à la fois des sous-chaînes ASCII littérales et des sous-chaînes hexadécimales.

Le fichier PPD d’un seul modèle d’imprimante (ou fichiers) ne devrait avoir qu’une seule définition de *MSPrintSchemaPrivateNamespaceURI. Si plusieurs définitions sont trouvées, seule la première définition sera acceptée, et les autres seront ignorées.

L’exemple de code suivant montre un exemple de l’attribut MsPrintSchemaPrivateNamespaceURI dans un fichier PPD partiel.

*MSPrivateNamespaceURI:  "https://www.ihv.com/schema/2004"

MSIsXPSDriver

L’attribut MSIsXPSDriver utilise le format suivant.

*MSIsXPSDriver:  True | False

Vous pouvez utiliser le module de configuration du pilote PScript5 de Windows Vista (Ps5ui.dll) pour les pilotes Microsoft Win32 GDI et les nouveaux pilotes XPSDrv. Pour utiliser le module de configuration du pilote PScript5 pour les pilotes XPSDrv, le fichier de données PPD du pilote XPSDrv doit spécifier MSIsXPSDriver et définir sa valeur sur True.

L’exemple de code suivant montre un exemple de cet attribut dans un fichier PPD partiel :

*MSIsXPSDriver: True

Pour utiliser le module de configuration du pilote PScript5 pour les pilotes Win32 GDI, vous n’avez pas besoin de spécifier cet attribut PPD.

MSPrintProcDuplexOptions

L’attribut MSPrintProcDuplexOptions utilise le format suivant.

*MSPrintProcDuplexOptions:  "int"

Cet attribut peut avoir l’une des valeurs suivantes :

1 : Inverser les pages pour le recto verso inversé

2 : Supprimer la génération de pages blanches supplémentaires si possible

3 : Les deux ci-dessus

0 : Aucun des éléments ci-dessus

L’exemple de code suivant montre un exemple de MSPrintProcDuplexOptions dans un fichier PPD partiel.

*MSPrintProcDuplexOptions:  "2" 

Cet attribut contrôle diverses options de duplexage dans le processeur d’impression.

Si MSPrintProcDuplexOptions est égal à 1, il contrôle si le processeur d’impression doit inverser les pages sur le recto verso inversé.

Supposons que vous deviez imprimer un document de quatre pages avec n-up = 1, et que vous souhaitiez utiliser l’impression inversée et l’impression recto verso. Comme vous voulez l’impression inversée, vous souhaitez imprimer la dernière page avant la première page. Comme vous souhaitez l’impression recto verso, vous souhaitez imprimer deux pages sur une seule feuille de papier. Le processeur d’impression peut lire les pages dans l’un des deux formats suivants (où chaque paire de chiffres indique les deux pages qui seraient imprimées sur les deux côtés d’une seule feuille de papier) :

  • Format 1 : (4,3),(2,1)

  • Format 2 : (3,4),(1,2)

Avant Windows Vista, un processeur d’impression imprimait les pages dans le format 2 [(3,4),(1,2)]. Mais dans Windows Vista et versions ultérieures, le format par défaut est le format 1 [(4,3),(2,1)]. Ce changement a eu lieu car de nombreuses imprimantes ont une sortie incorrecte avec le format 2 ; c’est-à-dire que les pages imprimées ne sont pas ordonnées correctement.

Si votre imprimante fonctionne correctement avec le format 1, vous n’aurez rien à changer pour Windows Vista et les versions ultérieures. Cependant, si votre imprimante fonctionne incorrectement avec le format 1 et que vous souhaitez revenir au format 2, ajoutez l’attribut MSPrintProcDuplexOptions avec la valeur 1.

*MSPrintProcDuplexOptions: "1"

Pour le pilote PScript pré-Windows Vista, si vous avez un processeur d’impression pré-Windows Vista, le format 2 est le format par défaut, et vous ne pouvez pas changer le comportement ; sinon, si vous avez un processeur d’impression Windows Vista, le format 1 est le format par défaut, et vous ne pouvez pas changer le comportement.

Pour le pilote PScript de Windows Vista. si vous avez un processeur d’impression pré-Windows Vista, le format 2 est le format par défaut, et l’attribut PPD sera ignoré ; sinon, si vous avez un processeur d’impression Windows Vista, le format 1 est le format par défaut, mais vous pouvez changer le format en utilisant l’attribut MSPrintProcDuplexOptions.

Si MSPrintProcDuplexOptions est égal à 2, le processeur d’impression supprimera la génération de pages blanches dans certains scénarios de duplex.

Par exemple, si le travail est un travail d’une page et que le duplex est activé (supposons n-up = 1), seule une face de la feuille doit être imprimée. Actuellement, les imprimantes imprimeront une face puis généreront une page blanche vide sur le côté opposé. (Comme le travail d’impression a été lancé avec duplex=activé, l’imprimante s’attend à deux pages avant d’éjecter la feuille. Si la seconde page ne s’imprime pas, certaines imprimantes continuent d’attendre.) Les inconvénients de la solution actuelle sont :

  • La page générée provoque un comptage de pages inexact dans les logiciels de comptabilité et le compteur de pages des imprimantes.

  • Lorsque la page sort à moitié de l’imprimante (dans certaines imprimantes de style Hewlett Packard DeskJet), l’utilisateur pourrait essayer de la tirer alors que l’imprimante essaie de la rétracter. Cette situation peut causer des problèmes matériels.

Vous pouvez éviter les problèmes précédents en spécifiant *MSPrintProcDuplexOptions: "2" dans le fichier PPD.

Notez que même si cet attribut est défini, l’optimisation des pages blanches n’est effectuée que dans les cas limités suivants :

  1. Pour l’impression inversée, l’optimisation des pages blanches n’est effectuée que lorsque l’intégralité du travail peut tenir sur une seule face du papier (par exemple, un travail d’une page avec n-up=1 ou un travail de quatre pages avec n-up=4). Si le travail nécessite plus d’une feuille, l’optimisation n’est pas effectuée (car les pages de l’imprimante seront imprimées dans un ordre inexact). Par exemple, pour un travail de trois pages, les pages peuvent être imprimées dans l’ordre 3,2,1,<blanche> au lieu de 4,3,2,<blanche>.

  2. L’optimisation des pages blanches n’est pas effectuée si le processeur d’impression doit simuler des copies. Le processeur d’impression simule les copies si le nombre de copies nécessaire dépasse le nombre de copies que le processeur d’impression peut produire.

    La situation suivante est un exemple de moment où la simulation se produit et où des pages blanches sont générées (si nécessaire) :

    • Deux copies pour une imprimante qui ne peut pas faire de copies

    Les situations suivantes sont des exemples où la simulation ne se produit pas et où vous pouvez supprimer la génération de pages supplémentaires :

    • Travail à copie unique pour une imprimante qui ne peut pas faire de copies
    • Travail de cinq copies pour une imprimante qui peut faire plus de copies

Pour le pilote PScript pré-Windows Vista, si vous avez un processeur d’impression pré-Windows Vista, une imprimante imprimera une page blanche supplémentaire, si jugé nécessaire, et vous ne pouvez pas changer le comportement ; sinon, si vous avez un processeur d’impression Windows Vista, une imprimante imprimera une page blanche supplémentaire, si jugé nécessaire, et vous ne pouvez pas changer le comportement.

Pour le pilote PScript de Windows Vista. si vous avez un processeur d’impression pré-Windows Vista, une imprimante imprimera une page blanche supplémentaire, si jugé nécessaire, et l’attribut PPD sera ignoré ; sinon, si vous avez un processeur d’impression Windows Vista, et si un attribut PPD approprié et les conditions appropriées sont présents (c’est-à-dire, les conditions décrites précédemment concernant la prévention de l’impression de pages blanches), une imprimante n’imprimera pas de pages blanches.

MSBidiQueryFile

L’attribut MSBiDiQueryFile utilise le format suivant.

*MSBidiQueryFile: "filename"

Utilisez MSBiDiQueryFile pour spécifier le nom du fichier GPD ou GDL qui contient les données de BidiQuery et BidiResponse de l’auto-configuration du pilote d’imprimante. Le nom du fichier GPD ou GDL ne doit pas spécifier de chemin d’accès.

L’exemple de code suivant montre un exemple de MSBiDiQueryFile dans un fichier PPD partiel.

*MSBidiQueryFile: "ACnfgPS.GDL"

MSXPSMaxCopies

L’attribut MSXPSMaxCopies utilise le format suivant.

*MSXPSMaxCopies: "int"

Utilisez MSXPSMaxCopies pour spécifier le nombre maximal de copies qu’un pilote d’imprimante XPSDrv peut prendre en charge.

L’exemple de code suivant montre un exemple de MSXPSMaxCopies dans un fichier PPD partiel.

*MSXPSMaxCopies: "99"