Hallo Leute,
Im Rahmen eines Projektes, muss ich Quittungen drucken können.
Das heißt ich lese eine Bilddatei ein und will auf diese mittels eines Strings einen Namen an einer ausgewählten Stelle schreiben. Das Problem ist nur, dass ich auf das Bild anscheinend nicht schreiben kann. Wenn ich dies versuche, dann wird die Grafik nicht mit gedruckt. Vielleicht könnt ihr mir ja helfen.
import java.awt.*;
import java.awt.print.*;
import javax.print.attribute.*;
import javax.swing.UIManager;
public class PrintDialogExample implements Printable {
public int print(Graphics g, PageFormat pf, int page) throws
PrinterException {
if (page > 0) {
return NO_SUCH_PAGE;
}
Image image = Toolkit.getDefaultToolkit().getImage("e:\\test.jpg");
Graphics2D g2d = (Graphics2D)g;
g2d.translate(pf.getImageableX(), pf.getImageableY());
g2d.drawImage(image, 0, 0, null);
g.drawString("hkjhk", 300, 100);
return PAGE_EXISTS;
}
public static void main(String args[]) {
try {
String cn = UIManager.getSystemLookAndFeelClassName();
UIManager.setLookAndFeel(cn);
} catch (Exception cnf) {}
PrinterJob job = PrinterJob.getPrinterJob();
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
PageFormat pf = job.pageDialog(aset);
job.setPrintable(new PrintDialogExample(), pf);
boolean ok = job.printDialog(aset);
if (ok) {
try {
job.print(aset);
} catch (PrinterException ex) {}
}
System.exit(0);
}
}
Michaela1991