Hallo, ich verwende den folgenden Code zum Drucken von PNGs (weiß leider nicht mehr genau, wo ich ihn her habe):
Das klappt im Prinzip. Allerdings sehen die Ausdrucke verpixelt aus, so als würde eine Grafik ohne Antialiasing gezeichnet werden. Gibt es eine Möglichkeit, die Qualität zu verbessern. Die Qualität der PNGs ist tadellos.
Viele Grüße,
Wolfgang
Code:
public static void printPNG(File filename) {
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
DocFlavor flavor = DocFlavor.INPUT_STREAM.PNG;
PrintService printService[] = PrintServiceLookup.lookupPrintServices(
flavor, pras);
PrintService defaultService = PrintServiceLookup
.lookupDefaultPrintService();
PrintService service = ServiceUI.printDialog(null, 200, 200,
printService, defaultService, flavor, pras);
if (service != null) {
DocPrintJob job = service.createPrintJob();
FileInputStream fis;
try {
fis = new FileInputStream(filename);
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(fis, flavor, das);
job.print(doc, pras);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Das klappt im Prinzip. Allerdings sehen die Ausdrucke verpixelt aus, so als würde eine Grafik ohne Antialiasing gezeichnet werden. Gibt es eine Möglichkeit, die Qualität zu verbessern. Die Qualität der PNGs ist tadellos.
Viele Grüße,
Wolfgang