Drucken gif mit Java auf einem 4x6" Papier
-
18-09-2019 - |
Frage
Was ist der beste Weg in Java ein gif als byte[]
oder ByteArrayInputStream
auf einem Papier mit einer Größe von 4x6 Zoll gegeben drucken?
Dieses:
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new MediaSize(4, 6, Size2DSyntax.INCH));
aset.add(new Copies(1));
PrintService[] pservices =
PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.GIF, aset);
DocPrintJob printJob = pservices[0].createPrintJob();
Doc doc = new SimpleDoc(sap.getGraphicImageBytes(), DocFlavor.INPUT_STREAM.GIF, null);
printJob.print(doc, aset);
funktioniert nicht, weil die Mediengröße kein PrintRequestAttribute ist. Dies sollte fast die gleiche wie in Paket javax sein .print Beschreibung
Lösung
fand ich einen Weg, um mein Problem zu lösen
PageFormat format = new PageFormat();
format.setOrientation(PageFormat.REVERSE_LANDSCAPE);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(OrientationRequested.REVERSE_LANDSCAPE);
aset.add(MediaSizeName.JAPANESE_POSTCARD);
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintable(new ImagePrintable(sap.getGraphicImage()));
printerJob.defaultPage(format);
printerJob.print(aset);
Der Trick wurde mit japanischen Postkarten als Medienformat.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow