Partager via


Nouveaux attributs PPD de niveau racine uniquement pour Windows Vista

Important

Nous vous recommandons d’utiliser le pilote de classe de boîte de réception IPP 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 d’appareils d’imprimante.

Pour plus d’informations, consultez le guide de conception d’application de prise en charge de l’impression.

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

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

MSPrintSchemaKeywordMap

L’attribut MSPrintSchemaKeywordMap définit le mappage d’un mot clé de fonctionnalité PPD à un mot clé de fonctionnalité Print Schema public, ou un mappage d’un mot clé d’option PPD d’une fonctionnalité PPD à un mot clé d’option Print Schema public d’une fonctionnalité Print Schema.

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 [*]) dans les deux formats est requis.

Pour le format 1 :

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

  • Plusieurs définitions 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 est acceptée et les autres définitions sont ignorées.

Pour le format 2 :

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

  • Dans la définition *MSPrintSchemaKeywordMap pour une option PPD, le mappage du mot clé de fonctionnalité PPD au mot clé de fonctionnalité Print Schema doit être identique à ce qui est défini dans la définition *MSPrintSchemaKeywordMap précédente pour la fonctionnalité PPD (au format 1).

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

  • Plusieurs définitions 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 est acceptée et les autres définitions sont 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 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é Print Schema qui est déjà utilisé dans le fichier PPD, le document PrintCapabilities correspondant peut répertorier cette fonctionnalité plusieurs fois. Plusieurs occurrences pouvant prêter à confusion, vous ne devez pas mapper les fonctionnalités aux mots clés Print Schema qui sont utilisés dans le fichier PPD.

L’analyseur PPD génère automatiquement l’option FORMSOURCE pour la fonctionnalité InputBin et la mappe au mot clé AutoSelect dans Print Schema. Si votre fichier PPD contient une option InputBin qui utilise l’attribut MSPrintSchemaKeywordMap pour mapper l’option à un mot clé Print Schema, la fonctionnalité du schéma d’impression contiendra une option FORMSOURCE dans l’espace de noms de l’appareil. La sélection automatique s’affiche dans le document PrintCapabilities et fait référence à 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 d’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 mappage explicite (à l’aide de la définition *MSPrintSchemaKeywordMap ) dans le schéma d’impression public.

MSPrintSchemaPrivateNamespaceURI utilise le format suivant.

*MSPPrintSchemaPrivateNamespaceURI: "<URI>"

<URI> représente un PPD QuotedValue. Comme défini par la spécification PPD, QuotedValue autorise les sous-chaînes ASCII littérales et les sous-chaînes hexadécimales.

Le fichier PPD d’un modèle d’imprimante unique (ou les fichiers) ne doit avoir qu’une seule définition de *MSPrintSchemaPrivateNamespaceURI . Si plusieurs définitions sont trouvées, seule la première définition est acceptée et d’autres sont 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 Windows Vista PScript5 (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 : Pages inversées pour le duplex inverse

2 : Supprimer la génération d’une page vide supplémentaire si possible

3 : Les deux éléments ci-dessus

0 : Aucun des points ci-dessus

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

*MSPrintProcDuplexOptions:  "2" 

Cet attribut contrôle différentes options de duplexing dans le processeur d’impression.

Si MSPrintProcDuplexOptions a la valeur 1, il détermine si le processeur d’impression doit inverser les pages en duplex inverse.

Supposons que vous devez imprimer un document de quatre pages avec n-up = 1 et que vous souhaitez utiliser l’impression inversée et l’impression recto verso. Comme vous souhaitez l’impression inversée, vous souhaitez imprimer la dernière page avant la première page. Comme vous souhaitez imprimer en duplex, 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 nombres indique les deux pages qui s’imprimeraient 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 imprime les pages au format 2 [(3,4),(1,2)]. Toutefois, dans Windows Vista et versions ultérieures, le format par défaut est le format 1 [(4,3),(2,1)]. Ce changement s’est produit parce que de nombreuses imprimantes ont une sortie incorrecte au format 2 ; autrement dit, les pages imprimées ne sont pas triées dans l’ordre approprié.

Si votre imprimante fonctionne correctement avec le format 1, vous n’aurez pas besoin de modifier quoi que ce soit pour Windows Vista et versions ultérieures. Toutefois, 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 antérieur à Windows Vista, si vous avez un processeur d’impression antérieur à Windows Vista, le format 2 est la valeur par défaut et vous ne pouvez pas modifier le comportement ; sinon, si vous disposez d’un processeur d’impression Windows Vista, le format 1 est la valeur par défaut et vous ne pouvez pas modifier le comportement.

Pour le pilote PScript Windows Vista. si vous avez un processeur d’impression antérieur à Windows Vista, le format 2 est la valeur par défaut et l’attribut PPD est ignoré ; sinon, si vous disposez d’un processeur d’impression Windows Vista, le format 1 est la valeur par défaut, mais vous pouvez modifier le format à l’aide de l’attribut MSPrintProcDuplexOptions .

Si MSPrintProcDuplexOptions a la valeur 2, le processeur d’impression supprime la génération de pages vides dans certains scénarios duplex.

Par exemple, si le travail est un travail d’une page et que le duplex est activé (supposons que n-up = 1), un seul côté de la feuille doit être imprimé. Actuellement, les imprimantes impriment un côté, puis génèrent une page vide sur le côté inverse. (Comme le travail d’impression a été démarré avec duplex=on, l’imprimante attend deux pages avant d’éjecter la feuille. Si la deuxième page ne s’imprime pas, certaines imprimantes continuent d’attendre.) Les inconvénients de la solution actuelle sont les suivants :

  • La page générée entraîne un nombre de pages incorrect dans le logiciel de comptabilité et le compteur de pages dans les imprimantes.

  • Lorsque la page sort à mi-chemin de l’imprimante (dans certaines imprimantes de style Hewlett Packard DeskJet), l’utilisateur peut essayer de la extraire pendant que l’imprimante tente de la récupérer. Cette situation peut entraîner 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 vides n’est effectuée que dans les cas limités suivants :

  1. Pour l’impression inversée, l’optimisation des pages vides n’est effectuée que lorsque l’ensemble du travail peut tenir sur un seul côté du papier (par exemple, un travail monopage avec n-up=1 ou un travail de quatre pages avec n-up =4). Si le travail a besoin de plusieurs feuilles, l’optimisation n’est pas effectuée (car les pages d’imprimante seront imprimées dans un ordre incorrect). Par exemple, pour un travail de trois pages, les pages peuvent être imprimées dans l’ordre 3,2,1,blank<> au lieu de 4,3,2,blank<>.

  2. L’optimisation des pages vides n’est pas effectuée si le processeur d’impression doit simuler des copies. Le processeur d’impression simule des copies si le nombre de copies nécessaires est supérieur au nombre de copies que le processeur d’impression peut effectuer.

    La situation suivante est un exemple de lorsque des simulations se produisent et que des pages vides sont générées (si nécessaire) :

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

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

    • Tâche de copie unique pour une imprimante qui ne peut pas effectuer de copies
    • Travail de cinq copies pour une imprimante qui peut faire plus que des copies

Pour le pilote PScript antérieur à Windows Vista, si vous disposez d’un processeur d’impression antérieur à Windows Vista, une imprimante imprime une page vide supplémentaire, si nécessaire, et vous ne pouvez pas modifier le comportement ; sinon, si vous disposez d’un processeur d’impression Windows Vista, une imprimante imprime une page vide supplémentaire, si nécessaire, et vous ne pouvez pas modifier le comportement.

Pour le pilote PScript Windows Vista. si vous disposez d’un processeur d’impression antérieur à Windows Vista, une imprimante imprimera une page vide supplémentaire, si nécessaire, et l’attribut PPD sera ignoré ; sinon, si vous disposez d’un processeur d’impression Windows Vista, si un attribut PPD approprié et les conditions appropriées sont présentes (c’est-à-dire, les conditions décrites précédemment pour empêcher l’impression de pages vides), une imprimante n’imprimera pas de pages vides.

MSBidiQueryFile

L’attribut MSBiDiQueryFile utilise le format suivant.

*MSBidiQueryFile: "filename"

Utilisez MSBiDiQueryFile pour spécifier le nom de fichier GPD ou GDL qui contient les données BidiQuery et BidiResponse de configuration automatique du pilote d’imprimante. Le nom de fichier GPD ou GDL ne doit spécifier aucun 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"