Partager via


Module de rendu XPSDrv

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.

Le module de rendu d'un pilote d'imprimante XPSDrv contient les filtres qui assurent le rendu du contenu du fichier spool XPS en vue de sa sortie sur l'imprimante. L'ensemble des filtres de rendu d'un pilote est instancié et exécuté dans un pipeline de filtres. Le gestionnaire de pipeline de filtres (FPM) gère les filtres et le communicateur inter-filtres (IFC) contrôle l'interaction entre les filtres.

Le diagramme suivant illustre un pipeline de filtres.

diagramme illustrant un pipeline de filtres.

Microsoft fournit les composants suivants du pilote XPS :

  • Filter Pipeline Manager

  • Communicateur inter-filtres

  • Jeu de propriétés

Le gestionnaire de pipeline de filtres doit :

  1. charger et initialiser les filtres

  2. Gérer les données entre les filtres.

  3. Décharger les filtres lorsqu'un travail d'impression est terminé.

Les communicateurs inter-filtres gèrent le transfert des données entre les filtres, et le Filter Pipeline Manager gère les communicateurs inter-filtres.

Le processus suivant décrit ce qui arrive à un ensemble de filtres dans un pipeline :

  1. Le gestionnaire de pipeline de filtres lit le fichier de configuration du pipeline de filtres (FPC).

  2. Les filtres spécifiés par le CPE sont chargés.

  3. Le pipeline de filtres est initialisé et le gestionnaire de pipeline de filtres démarre le pipeline de filtres.

  4. Le premier filtre du pipeline lit les données XPS par l'intermédiaire des interfaces XPS ou de flux que le gestionnaire de pipeline de filtres propose, puis le filtre traite le contenu.

  5. Le premier filtre envoie les données XPS traitées au second filtre en utilisant l'interface fournie par le communicateur inter-filtres.

  6. Le communicateur inter-filtres conserve les résultats du traitement intermédiaire jusqu'à ce que le deuxième filtre soit prêt.

  7. Les étapes 1 à 6 sont répétées d'un filtre à l'autre jusqu'à ce que les résultats du dernier filtre soient envoyés au port que le pilote a défini pour la sortie.

Si une imprimante utilise XPS comme langage de description de page (PDL) et qu'aucun autre traitement n'est souhaité, vous pouvez utiliser un pipeline vide (« pass-through »). Si XPS n'est pas le PDL de votre imprimante, vous devrez écrire un filtre qui convertit XPS en PDL de votre imprimante, ainsi que tout autre traitement souhaité.

Pour développer un pilote XPS, vous devez créer les composants suivants :

Vous pouvez également ajouter la prise en charge des tickets d'impression au module XPSDrv Render.