java - 使用java在POS热敏打印机中打印PDF或PNG
问题描述
我大家。我在使用 java 打印票证时遇到问题。我用 jasper 生成了票,然后我需要在 POS 热敏打印机中打印它。我尝试打印 PDF,结果 格式错误 然后我使用 pdfbox 将 pdf 转换为 png,但图像打印太小。如何正确打印?有什么方法可以正确打印 POS Thremal 打印机的 PDF 或填充和增加 PNG 图像?
从 Adobe 阅读器直接打印到我的 POS 热敏打印机,我得到了正确的票。 正确来自 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();
解决方案
推荐阅读
- c - 如何将输出中显示的内容写入文件?
- php - 未找到 DomPDF 图像或类型未知
- html - 如何有效地为 HTML 或 CSS 中的按钮添加声音?
- xcode - 在 SwiftUI 中刷新 RandomElement()
- php - 为什么 PHP $_SESSION 变量在 header() 方法中使用时不起作用?
- c# - ItemTemplateSelector 和 ListView.ItemTemplate 的区别
- python - 是否可以在 VPS 上将 SQLite 用于 Discord 机器人?
- r - 计算每个唯一元素在列表中出现的次数
- javascript - graphQL 订阅返回 null
- .net - IIS 在 HttpContent.LoadIntoBufferAsync 中处理 85%+ CPU 时间