Druckertreiber-Architektur
Wichtig
Die moderne Druckplattform ist das bevorzugte Mittel von Windows, um mit Druckern zu kommunizieren. Wir empfehlen die Verwendung des Microsoft IPP-Treibers für die Posteingangsklasse zusammen mit Print Support Apps (PSA), um das Druckverhalten in Windows 10 und 11 für die Entwicklung von Druckergeräten anzupassen.
Weitere Informationen finden Sie unter Moderne Druckplattform und im Entwurfsleitfaden für die Druckunterstützungs-App.
Druckaufträge werden von Anwendungen durch Aufrufe von Microsoft Win32 GDI oder, in Windows Vista, Windows Presentation Foundation (WPF) Funktionen erstellt. Die Win32-Funktionen spoolen Anwendungsdaten als EMF -Datensätze für die spätere Wiedergabe durch den EMF Druckprozessor, oder sie können sofort ein druckbares Bild für jede Dokumentseite rendern. Die WPF-Funktionen spoolen Anwendungsdaten als XPS-Spooldatei.
Vor Windows Vista haben Anwendungen die Druckereinstellungen mit Hilfe einer DEVMODEW -Struktur an den Drucker übermittelt. In Windows Vista kommunizieren die Technologien „Druckerticket“ und „Druckeigenschaften“ die Druckereinstellungen, sodass die Druckereinstellungen zwischen verschiedenen Druckern und Anwendungen besser kompatibel sind.
Die Bildwiedergabe erfolgt im Druckertreiber, unabhängig davon, ob sie sofort oder während der Druckverarbeitung erfolgt:
Ein GDI-basierter Druckertreiber führt das Bildrendering während der Wiedergabe von EMF-Datensätzen aus der Spooldatei durch und wird von der GDI-Rendering-Engine gesteuert. Während des Rendering-Vorgangs ruft die GDI-Rendering-Engine den entsprechenden Druckertreiber von Windows 2000 und höher zur Unterstützung auf.
XPSDrv-Druckertreiber verwenden eine Reihe von Verarbeitungsfiltern, um den Inhalt der XPS-Spooldatei für die Ausgabe auf dem Drucker zu verarbeiten.
Windows 2000 und spätere GDI-basierte Druckertreiber müssen:
Helfen Sie GDI beim Rendern von Druckaufträgen, indem Sie druckerspezifische Zeichenfunktionen bereitstellen, die GDI nicht unterstützen kann.
Senden Sie den Datenstrom des gerenderten Bildes an den Druckspooler.
Bieten Sie eine Benutzeroberfläche für die veränderbaren Konfigurationsparameter, die mit Druckern und Druckdokumenten verbunden sind, wie z.B. die Auswahl der Ein- und Ausgabefächer, die Anzahl der Kopien, die Bildauflösung und -ausrichtung und so weiter.
XPSDrv-Druckertreiber haben die gleiche Verantwortung für die Benutzeroberfläche wie die GDI-basierten Treiber und sind auch für die Verarbeitung der Druckauftragsdaten und das Senden der Daten an den Drucker zuständig. XPSDrv-Druckertreiber müssen jedoch keine GDI verwenden, um die Seitenbilder für den Drucker zu rendern.
Windows 2000 und spätere Druckertreiber bestehen aus einer Reihe von Druckertreiberkomponenten , die die Zeichen- und Benutzeroberflächenoperationen eines Treibers in separate DLLs aufteilen. XPSDrv-Druckertreiber bestehen ebenfalls aus Komponenten, die die Konfiguration sowie die Zeichen- und Rendering-Funktionen in separate Objekte aufteilen.
Dieser Abschnitt soll Ihnen helfen, die verschiedenen Arten von Druckertreibern zu verstehen, die von den Betriebssystemen Windows 2000 und höher unterstützt werden. Sie sollten aber auch bedenken, dass die folgenden drei Druckertreiber mit dem Betriebssystem ausgeliefert werden:
Microsoft Universal-Druckertreiber
Microsoft PostScript-Druckertreiber
Diese drei Treiber unterstützen die meisten Druckgeräte, die Endbenutzer heute kaufen können. Sie müssen nur dann einen Druckertreiber schreiben, wenn Ihr Druckgerät nicht mit dem entsprechenden, von Microsoft bereitgestellten Treiber kompatibel ist. Sie können die meisten neuen Drucker unterstützen, indem Sie einfach eine Druckerdatendatei zu einem der von Microsoft bereitgestellten Treiber hinzufügen. Zu den Geräten, die möglicherweise einen neuen Treiber benötigen, gehören solche, die Hardware-Zeichenbeschleuniger enthalten, die durch proprietäre Befehlssequenzen gesteuert werden.
Dieser Abschnitt enthält die folgenden Themen, die die Windows-Druckarchitektur beschreiben.
Technologien für das Drucken von Tickets und Druckfähigkeiten