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;

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Meta meldet Gewinnsprung im ersten Quartal

Der Nettoprofi wächst um 117 Prozent. Auch beim Umsatz erzielt die Facebook-Mutter ein deutliches Plus.…

5 Tagen ago

Maximieren Sie Kundenzufriedenheit mit strategischem, kundenorientiertem Marketing

Vom Standpunkt eines Verbrauchers aus betrachtet, stellt sich die Frage: Wie relevant und persönlich sind…

5 Tagen ago

Chatbot-Dienst checkt Nachrichteninhalte aus WhatsApp-Quellen

Scamio analysiert und bewertet die Gefahren und gibt Anwendern Ratschläge für den Umgang mit einer…

5 Tagen ago

Microsoft stellt kleines KI-Modell Phi-3 Mini vor

Seine Trainingsdaten umfassen 3,8 Milliarden Parameter. Laut Microsoft bietet es eine ähnliche Leistung wie OpenAIs…

5 Tagen ago

Google schließt kritische Sicherheitslücke in Chrome

Sie erlaubt eine Remotecodeausführung außerhalb der Sandbox. Betroffen sind Chrome für Windows, macOS und Linux.

5 Tagen ago

Microsoft beseitigt Fehler im März-Sicherheitsupdate für Exchange Server

Probleme treten vor allem bei Nutzern von Outlook Web Access auf. Das optionale Hotfix-Update für…

6 Tagen ago