Java Standard: Drucken
Drucken mit Java
BearbeitenSeit Java1.2 ist es relativ einfach mit Java einen angeschlossenen Drucker anzusprechen. Dazu benutzt man, ähnlich wie bei der Verarbeitung von Bildern, die Klasse Toolkit. Zuerst wäre es ja einmal interessant die aktuellen Parameter des angeschlossenen Druckers zu ermitteln. Dazu holt man das Default-Toolkit, erzeugt einen dummy-Frame und ermittelt die Werte des Druckers. Dies könnte so geschehen:
import java.awt.*; import javax.swing.UIManager; public class PrinterInfo1 { public static void main( String[] args ) { try { // Natives Look&Feel verwenden UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() ); } catch ( Exception e ) {} Toolkit tk = Toolkit.getDefaultToolkit(); // Dialog mit Druckeroptionen erstellen PrintJob pj = tk.getPrintJob( new Frame(), "", null ); if ( pj != null ) { // Aufloesung holen int aufloesung = pj.getPageResolution(); Dimension dim = pj.getPageDimension(); System.out.println( "Druckerauflösung (DPI): " + aufloesung + "\n" + "breite : " + dim.width + "\n" + "hoehe : " + dim.height + "\n" + "Pixel pro Seite: " + (aufloesung * dim.width * dim.height) ); } else { System.out.println( "Ich kann leider keinen angeschlosssenen Drucker finden ..." ); } } }
Text auf dem Drucker ausgeben
BearbeitenNachdem wir nun gesehen haben wie man ermittelt ob ein Drucker angeschlossen ist und welche physikalischen Parameter er besitzt möchten wir als nächstes ein paar Zeilen auf dem Drucker selbst ausgeben:
import java.awt.Toolkit; class PrinterInfo2 { public static void main( String args[] ) { Toolkit tk = Toolkit.getDefaultToolkit(); PrintJob pj = tk.getPrintJob( new Frame(), "", null ); //dummy-Frame erzeugen if ( pj != null ) { // FileOutputStream in PrintWriter packen PrintWriter pw = new PrintWriter( new FileOutputStream( "PRN:" )); pw.println( "Hallo lieber Drucker" ); pw.println( "... und das ist Zeile2 ..." ); pw.close(); // resource freigeben } } }