Architecture des drivers d’imprimante
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.
Les jobs d’impression sont créés par des applications via des appels aux fonctions Microsoft Win32 GDI ou, dans Windows Vista, aux fonctions de Windows Presentation Foundation (WPF). Les fonctions Win32 mettent en file d’attente les données de l’application sous forme de enregistrements EMF pour une lecture ultérieure par le processeur d’impression EMF, ou elles peuvent immédiatement rendre une image imprimable pour chaque page de document. Les fonctions WPF mettent en file d’attente les données de l’application sous forme d’un fichier de spool XPS.
Avant Windows Vista, les applications communiquaient les paramètres de l’imprimante à l’imprimante en utilisant une structure DEVMODEW. Dans Windows Vista, les technologies Print Ticket et Print Capabilities communiquent les paramètres de l’imprimante pour rendre ces paramètres plus compatibles entre les imprimantes et les applications.
Le rendu des images, qu’il soit effectué immédiatement ou pendant le traitement de l’impression, est réalisé dans le driver d’impression :
Un driver d’imprimante basé sur GDI effectue le rendu des images lors de la lecture des enregistrements EMF à partir du fichier de spool et est contrôlé par le moteur de rendu GDI. Pendant l’opération de rendu, le moteur de rendu GDI appelle le driver d’imprimante approprié pour Windows 2000 et les versions ultérieures pour obtenir de l’aide.
Les drivers d’impression XPSDrv utilisent une série de filtres de traitement pour traiter le contenu du fichier de spool XPS en vue de sa sortie vers l’imprimante.
Les drivers d’imprimante basés sur GDI pour Windows 2000 et les versions ultérieures doivent :
Aider GDI à rendre les jobs d’impression en fournissant des capacités de dessin spécifiques à l’imprimante que GDI ne peut pas prendre en charge.
Envoyer le flux de données de l’image rendue au spooler d’impression.
Fournir une interface utilisateur pour les paramètres de configuration modifiables associés aux imprimantes et aux documents d’impression, tels que les bacs d’entrée et de sortie sélectionnés, le nombre de copies, la résolution de l’image et son orientation, etc.
Les drivers d’imprimante XPSDrv ont la même responsabilité d’interface utilisateur que les drivers basés sur GDI et sont également responsables du traitement des données du job d’impression et de l’envoi des données à l’imprimante. Les drivers d’imprimante XPSDrv, cependant, n’ont pas besoin d’utiliser GDI pour rendre les images des pages pour l’imprimante.
Les drivers d’imprimante pour Windows 2000 et versions ultérieures sont constitués d’un ensemble de composants de driver d’imprimante qui divisent les opérations de dessin et d’interface utilisateur d’un driver en DLL distinctes. Les drivers d’imprimante XPSDrv sont également constitués de composants qui séparent les fonctions de configuration et de dessin et de rendu en objets distincts.
Cette section vise à vous aider à comprendre les différents types de drivers d’imprimante pris en charge par les systèmes d’exploitation Windows 2000 et versions ultérieures, mais il est également important de se rappeler que les trois drivers d’imprimante suivants sont fournis avec le système d’exploitation :
Pilote d’imprimante universel Microsoft
Pilote d’imprimante Microsoft PostScript
Ces trois drivers prennent en charge la plupart des dispositifs d’impression que les utilisateurs finaux peuvent acheter aujourd’hui. Vous devez développer un driver d’imprimante uniquement si votre dispositif d’impression n’est pas compatible avec le driver fourni par Microsoft. Vous pouvez prendre en charge la plupart des nouvelles imprimantes simplement en ajoutant un fichier de données d’imprimante à l’un des drivers fournis par Microsoft. Les dispositifs qui pourraient nécessiter un nouveau driver incluent ceux contenant des accélérateurs matériels de dessin contrôlés par des séquences de commandes propriétaires.
Cette section contient les sujets suivants, qui décrivent l’architecture d’impression de Windows :