我每个人。我在用Java打印票证时遇到问题。我用碧玉生成了票,然后需要在POS热敏打印机中打印票。我尝试打印PDF,结果得到了 Wrong Format 然后我用pdfbox将pdf转换为png,但是图像打印得太小。 如何正确打印?有什么方法可以正确打印POS Thremal Printer PDF或填充并增加PNG图像吗?
从Adobe Reader直接打印到POS热敏打印机,我有正确的票证。 Correct from Adobe Reader
这是我的代码的一部分:
PDDocument document = PDDocument.load(new File(pathFile+".pdf"));
PDPage pd;
PDFRenderer pdfRenderer = new PDFRenderer(document);
for (int page = 0; page < document.getNumberOfPages(); ++page)
{
pd = document.getPage(page);
BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
ImageIOUtil.writeImage(bim, pathFile +".png", 300);
}
document.close();
FileInputStream is = new FileInputStream(pathFile+".png");
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
DocPrintJob job = mPrinter.createPrintJob();
Doc doc = new SimpleDoc(is, flavor, null);
job.print(doc, null);
is.close();