Hallo,
ich möchte gerne mittels JAVA einen Druckauftrag anstoßen:
Aktuell mache ich das so:
Ich habe folgende Probleme:
1) Es wird zwar ein Druckauftrag erstellt, aber das Bild ist viel zu groß! Was mache ich falsch?
2) Ich möchte in meinem Programm vorher die Druckeinstellungen (welcher Drucker wurde ausgewählt, Querformat/Hochformat etc.) speichern und diese Einstellung später verwenden, sodass man dies nicht immer bei jedem Druckauftrag erneut ändern muss.
Wie kann ich das machen? a) wie komme ich an die Infos um dies zu speichern?
ich möchte gerne mittels JAVA einen Druckauftrag anstoßen:
Aktuell mache ich das so:
Java:
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.io.File;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.WatchEvent;
import java.nio.file.WatchKey;
import javax.imageio.ImageIO;
File file = new File(fullPath.toString());
BufferedImage image = ImageIO.read(file);
PrinterJob printJob = PrinterJob.getPrinterJob();
printJob.setPrintable(new Printable() {
public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
if (pageIndex != 0) {
return NO_SUCH_PAGE;
}
graphics.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), null);
return PAGE_EXISTS;
}
});
// Drucken
printJob.print();
Ich habe folgende Probleme:
1) Es wird zwar ein Druckauftrag erstellt, aber das Bild ist viel zu groß! Was mache ich falsch?
2) Ich möchte in meinem Programm vorher die Druckeinstellungen (welcher Drucker wurde ausgewählt, Querformat/Hochformat etc.) speichern und diese Einstellung später verwenden, sodass man dies nicht immer bei jedem Druckauftrag erneut ändern muss.
Wie kann ich das machen? a) wie komme ich an die Infos um dies zu speichern?