JPS organisiert Druckaufträge auf allen Java-Plattformen

Weitere Attribute zum Dokumentausdruck legen etwa die Anzahl der Kopien, den Seitenbereich und die Seitenausrichtung (Hoch- oder Querformat) fest. Um diese Attribute zu bestimmen, stehen zwei Klassen zur Verfügung:

  • DocAttributeSet gibt die Merkmale eines einzelnen Dokuments an.
  • PrintRequestAttributeSet nennt die Merkmale eines einzelnen Druckauftrags.

Hier ein Beispiel für den Ausdruck von zwei Kopien eines Objekts:


PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
pras.add(new Copies(2));

Eine vollständige Liste der verfügbaren Attribute findet sich im Paket javax.print.attribute.

Die Doc-Schnittstelle liefert schließlich die Daten für den Druckauftrag. Ihre Implementierung erfolgt mithilfe der SimpleDoc-Klasse. Mit einem einzelnen Konstruktor wird der Inhalt als erster Parameter bereitgestellt, der Typ als zweiter Parameter und die Attribute als dritter Parameter. Der Inhalt muss ein Objekt sein. Daher muss auch für die eigentlichen Daten ein Objekttyp ausgewählt werden. Bei einer Auswahl von DocFlavor.INPUT_STREAM, werden die Daten durch ihren Inputstream identifiziert. Lautet der Typ DocFlavor.BYTE_ARRAY, dann sind die Daten ein Bytearray (byte []).

Um ein PNG-Bild aus einer Datei zu drucken, kommt folgender Code zum Einsatz:


Der Druckvorgang wird schließlich durch die print()-Methode des DocPrintJob-Objekts eingeleitet, das ja der Print-Service bereits ausgegeben hat:


job. print(doc, pras);

Der Aufruf von print() veranlasst den Mechanismus, den Inhalt in einem separaten Thread an den Print-Service zu schicken. Weitere Informationen über das Drucken mit der J2SE-Plattform finden sich im Sun Developer Network.

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 *