JPS organisiert Druckaufträge auf allen Java-Plattformen

Der Druckvorgang mit der JPS-API umfasst drei Schritte: Suche, Spezifikation und Drucken. Die Benachrichtigung über den Druckfortschritt stellt einen optionalen vierten Schritt dar. Alle Klassen und Schnittstellen, die in diesem Artikel besprochen werden, sind Bestandteil des javax.print-Pakets oder eines seiner Unterpakete.

Der erste Schritt zur Ausführung eines Druckauftrags besteht darin, einen oder mehrere passende Drucker zu identifizieren. Druckerobjekte werden Print Service genannt, und der Identifizierungsprozess wird als Lookup bezeichnet. Die Unterstützungsklasse für die Lookup-Aufgabe heißt PrintServiceLookup. Dafür lässt sich jede der folgenden drei Methoden verwenden:

  • lookupDefaultPrintService() gibt den standardmäßigen Drucker aus.
  • lookupPrintServices() gibt alle Drucker aus, die für einen bestimmten Dokumententyp, etwa PNG oder HTML, mit gewissen Attributen, beispielsweise „doppelseitig“, in Frage kommen.
  • lookupMultiDocPrintServices() bietet Unterstützung für das gleichzeitige Drucken mehrerer Dokumente.

Nachdem der Drucker gefunden ist, wird ein Druckauftrag erstellt. Erst später erhält dieser Auftrag dann Output. Wird der vom Lookup ausgegebene Print-Service verwendet, lässt sich der Auftrag mit dessen createPrintJob()-Methode erstellen:


PrintService printService =
PrintServiceLookup.lookupDefaultPrintService();
DocPrintJob job = printService.createPrintJob();

Sobald der Dienst bestimmt ist, muss das Format für die auszudruckenden Dokumente festgelegt werden. Die Angabe des MIME-Typs (Multipurpose Internet Mail Extensions) des zu druckenden Objekts geschieht über die DocFlavor-Klasse. Der MIME-Typ beschreibt, wie elektronische Daten interpretiert werden sollen. MIME-Typen dürften aus der Arbeit mit E-Mail und Dateianhängen bekannt sein. Doch die MIME-Spezifikation beschreibt einen ganz allgemeinen Mechanismus zur Identifizierung von Datenformaten.

Es gibt einige Unterklassen von DocFlavor, die sich in drei Untermengen von MIME-Typen aufteilen lassen: bytebasierte, zeichenbasierte und servicebasierte. Jeder Flavor-Typ unterstützt seine eigene Untermenge von MIME-Typen. Diese Typen wiederum sind definiert als innere Klassen der DocFlavor-Unterklassen.

  • Zu den bytebasierten Typen zählen unter anderem GIF, JPEG, PDF, PNG, POSTSCRIPT und TEXT_HTML_UTF_8.
  • Zeichenbasierte Streams können nur eines von zwei Formaten aufweisen: TEXT_HTML oder TEXT_PLAIN.
  • Servicebasierte Streams können PAGEABLE, PRINTABLE oder RENDERABLE_IMAGE sein.

Folgender Code dient beispielsweise zum Drucken eines PNG-Bildes:


DocFlavor flavor = DocFlavor.INPUT_STREAM.PNG;

Themenseiten: Anwendungsentwicklung, Java, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu JPS organisiert Druckaufträge auf allen Java-Plattformen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *