【发布时间】:2013-12-13 11:02:04
【问题描述】:
我使用 PDFBox 1.8.3 jar 在打印机(HW)中打印 PDF 文件。我以正常和程序两种方式打印了 PDF 文件。当我使用正常方式打印 PDF 时,我得到了原始 pdf 文件作为打印文档。但是当我使用我的代码时,我无法将原始 pdf 文件作为打印输出。我可以在打印的文件中看到一些变化;例如对齐方式、字体和墨水与原始文档不同。
ReadPDF readPDF = new ReadPDF();
PDDocument document = readPDF.loadPdf(path);
document.addPage(new PDPage());
printerJob.setPageable(document);
printRequestAttributeSet.add(new PageRanges(1,3));
printerJob.print(printRequestAttributeSet);
我还尝试将 PDFBox jar 1.8.3 升级到即将推出的 jar 2.0.0。我遇到了一些困难(例如:在 PDFBox 2.0.0 中我无法使用printerJob.setPageable(document);)。你能帮我解决这个问题吗?
【问题讨论】:
-
这个问题是特定的 pdf 文件还是你用不同的 pdf 测试过?如果可能,您能否发布一个指向未按预期打印的示例 pdf 的链接?
-
所有 PDF 文件,特别是 2.0.0
-
您是否从同一台计算机预览和打印文件?如果字体没有嵌入到 PDF 文件中并且没有安装在您的计算机上,您将在渲染中得到一些更改。
-
请务必使用 PDF 文件说明此类更改的示例。否则,您的问题太不确定,无法提供任何帮助。话虽如此,在回答here 的过程中,我还将PDFBox 的页面渲染应用于不同样式的文本,并且惊讶地发现人工样式的文本被绘制为纯文本,即没有预期的效果。