【问题标题】:The printed PDF file is different form the original PDF file打印的 PDF 文件与原始 PDF 文件不同
【发布时间】: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 的页面渲染应用于不同样式的文本,并且惊讶地发现人工样式的文本被绘制为纯文本,即没有预期的效果。

标签: java pdfbox


【解决方案1】:

这有时也与打印机有关。请在不同的打印机上试用,以便检查。

【讨论】:

    【解决方案2】:

    您可以在 StackOverflow 上查看以下问题的答案,并可以使用解释中的摘录。

    How to determine artificial bold style ,artificial italic style and artificial outline style of a text using PDFBOX

    另外,验证提供给原始 PDF 的字体是否也存在于运行应用程序的容器中。

    希希尔

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-29
      • 2018-08-15
      • 2016-05-21
      • 1970-01-01
      • 2012-01-23
      相关资源
      最近更新 更多