XPSDrv-Rendermodul

Wichtig

Die Modern Print-Plattform ist die von Windows bevorzugte Methode zur Kommunikation mit Druckern. 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 Modern Print-Plattform und der Anleitung zum Design der Print-Support-App.

Das Rendermodul eines XPSDrv-Druckertreibers enthält die Filter, die den Inhalt der XPS-Spooldatei für die Ausgabe auf dem Drucker rendern. Der Satz von Render-Filtern für einen Treiber wird instanziiert und in einer Filter-Pipeline ausgeführt. Der Filter-Pipeline-Manager (FPM) verwaltet die Filter, und der Inter-Filter Communicator (IFC) steuert die Interaktion zwischen den Filtern.

Das folgende Diagramm zeigt eine Filter-Pipeline.

Diagramm zur Veranschaulichung einer Filter-Pipeline.

Microsoft stellt die folgenden XPS-Treiberkomponenten zur Verfügung:

  • Filter-Pipeline-Manager

  • Filterübergreifender Kommunikator

  • Eigenschaftstasche

Der Filter-Pipeline-Manager muss:

  1. Filtern laden und initialisieren.

  2. Daten zwischen Filtern verwalten.

  3. Den Filter entladen, wenn ein Druckauftrag abgeschlossen ist.

Filterübergreifende Kommunikatoren verwalten die Datenübertragung zwischen Filtern, und der Filter-Pipeline-Manager verwaltet die filterübergreifenden Kommunikatoren.

Im folgenden Prozess wird beschrieben, was mit einer Reihe von Filtern in einer Pipeline geschieht:

  1. Der Filter Pipeline Manager liest die Konfigurationsdatei der Filterpipeline (FPC).

  2. Die Filter, die vom FPC angegeben werden, werden geladen.

  3. Die Filter-Pipeline wird initialisiert, und der Filter-Pipeline-Manager startet die Filter-Pipeline.

  4. Der erste Filter in der Pipeline liest die XPS-Daten über die XPS- oder Stream-Schnittstellen, die der Filter-Pipeline-Manager anbietet, und verarbeitet dann den Inhalt des Filters.

  5. Der erste Filter sendet die verarbeiteten XPS-Daten über die Schnittstelle, die der filterübergreifende Kommunikator bietet, an den zweiten Filter.

  6. Der filterübergreifenden Kommunikator behält die Zwischenergebnisse der Verarbeitung bei, bis der zweite Filter bereit ist.

  7. Die Schritte 1 bis 6 werden von Filter zu Filter wiederholt, bis die Ergebnisse des letzten Filters an den Port gesendet werden, den der Treiber für die Ausgabe definiert hat.

Wenn ein Drucker XPS als Seitenbeschreibungssprache (PDL) verwendet und keine andere Verarbeitung gewünscht ist, können Sie eine leere Pipeline („pass through“) verwenden. Wenn XPS nicht die PDL für Ihren Drucker ist, müssen Sie einen Filter schreiben, der XPS in die PDL Ihres Druckers konvertiert, sowie jede andere gewünschte Verarbeitung.

Um einen XPS-Treiber zu entwickeln, müssen Sie die folgenden Komponenten erstellen:

Sie können dem XPSDrv Rendermodul auch die Unterstützung für Drucktickets hinzufügen