Hallo zusammen,
ich habe mir einigen Tagen einen Terminal Drucker /Bon Drucker (Modell: Epson TM-T20 II) gekauft. Vermutlich gibt es zu einem "normalen" Printer hier Unterschiede beim Drucken?
Was ich vor habe ist, dass ich in meiner WebApp ein Design definiere und dies dann anschließend in HTML Code abspeichere.
Anschließend möchte ich diesen HTML Code ausdrucken können. Damit das geht, wandele ich den HTML Code erst mal in ein PDF um.
Das erzeugte PDF möchte ich dann über meinen Terminal Printer drucken.
Nun zu meinen Problem / Fragen:
Ist bei folgendem Code etwas falsch:
DocFlavor formatSTREAM = DocFlavor.INPUT_STREAM.PDF;
Kann mir bitte jemand helfen
ich habe mir einigen Tagen einen Terminal Drucker /Bon Drucker (Modell: Epson TM-T20 II) gekauft. Vermutlich gibt es zu einem "normalen" Printer hier Unterschiede beim Drucken?
Was ich vor habe ist, dass ich in meiner WebApp ein Design definiere und dies dann anschließend in HTML Code abspeichere.
Anschließend möchte ich diesen HTML Code ausdrucken können. Damit das geht, wandele ich den HTML Code erst mal in ein PDF um.
Das erzeugte PDF möchte ich dann über meinen Terminal Printer drucken.
Nun zu meinen Problem / Fragen:
- Das Drucken funktionert zwar auch, aber ich bekomme den Binär Code.
- Also z.B. bei einem Bild: Druckt der Printer mir einen ewiglangen Code aus, mit dem natürlich keiner etwas anfangen kann.
- Drucke ich nur das PDF File aus, dann ist der Text viel zu klein und entspricht nicht der Größe. Das Standard Papier ist 8cm x 27cm. Das PDF sollte vermutlich in dieses Format gebracht werden???
Code:
public void startBonPrintDiscountCode(Job job, DiscountCode discountCode)
throws PrinterNotFoundException, DocumentException, IOException,
PrintException, DiscountCodeNotFoundException {
String htmlCode = null;
File file = null;
String PDF = null;
if (job.getDiscountCodeText() != null)
htmlCode = job.getDiscountCodeText().replace(
Constants.TEXTMODULE_DISCOUNT_CODE,
discountCode.getDiscountCode());
else
htmlCode = discountCode.getDiscountCode();
file = new File(folderOtherBon + File.separatorChar
+ "bon_discount.html");
PDF = folderOtherBon + File.separatorChar + "bon_discount.pdf";
FileWriter fileWriter = new FileWriter(file);
fileWriter.write(htmlCode);
fileWriter.flush();
fileWriter.close();
String HTML = file.getAbsolutePath();
String url = new File(HTML).toURI().toURL().toString();
OutputStream os = new FileOutputStream(PDF);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.close();
// Get My Printer
PrintService pss = miscService.findPrintService("myPrinter");
// To Avoid "JAVA print as JobName"
DocAttributeSet das = new HashDocAttributeSet();
das.add(new DocumentName("My Print", Locale.getDefault()));
DocFlavor formatSTREAM = DocFlavor.INPUT_STREAM.PDF;
DocPrintJob docJob = pss.createPrintJob();
Doc document = new SimpleDoc(new FileInputStream(new File(PDF)),
formatSTREAM, das);
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
docJob.print(document, pras);
Ist bei folgendem Code etwas falsch:
DocFlavor formatSTREAM = DocFlavor.INPUT_STREAM.PDF;
Kann mir bitte jemand helfen