Печать PDF или PNG в POS Термопринтер с Java - PullRequest
0 голосов
/ 10 ноября 2018

Я каждый. У меня проблема с печатью билета с Java. Я сгенерировал билет с помощью яшмы, а затем мне нужно распечатать его в POS Thermal printer. Я пытаюсь напечатать PDF, и результат получил Неправильный формат Затем я конвертирую pdf в png с помощью pdfbox, но изображение слишком маленькое. Как правильно распечатать? Есть ли способ правильно распечатать PDF для POS Thremal Printer или заполнить и увеличить изображение PNG?

Печать PNG слишком мала

При печати из Adobe Reader непосредственно на мой POS Thermal Printer у меня был правильный билет. Исправлено из 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();
...