java - 使用 java PDFRenderer 打印 pdf 的问题

标签 java pdf printing pdfrenderer

我在尝试用 java 打印 Crystal 报表时遇到了一个问题,其中所有文本都被小方框字符替换了。报告 blob 存储在 Oracle 数据库中,我可以使用 adobe reader 预览它,并查看它是否与实际文本形成正确的格式。此 blob 被传递到使用 PDFRenderer 打印它的 java applet。

我的理论是,问题在于我们生成的 Crystal 报表使用的是 1.2 版的 PDF。还有许多生成为版本 1.4 的 jasper 报告,这些报告可以正确打印 - 只有 1.2 pdf 有这个问题。

PDFRenderer 是否不支持打印此版本,或者我需要采取一些额外的步骤才能成功打印这些版本吗?

非常感谢任何帮助。

最佳答案

您遇到 PDF 版本问题的可能性很小。

特别是对于文本内容,PDF 规范变得非常复杂,并且 Crystal 报表创建的内容的可能性很高

  • 依赖于一些奇怪的编码
  • 使用 CID(多字节)字体技术

pdf 渲染器在那里有一个盲点。

您可以尝试在报告方面尝试设置

  • 编码
  • 字体(Type1/TrueType9)
  • 字体嵌入

也许您会找到更适合的选项。

关于java - 使用 java PDFRenderer 打印 pdf 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4673242/

相关文章:

java - JFrame Java 上的移动按钮

javascript - 打印具有不同 div 大小的网页

python - 打印包含两列的字符串

java - 以特定大小打印 Bufferedimage 对象

java - 如何使用 @WebMvcTest 从上下文中排除包

java - 无法在 Android 中使用更新的 Dagger 2.11 API

java - JavaFX 中的 KeyCode 组合 Control + LEFT 或 Ctrl + RIGHT 键

python - 为什么字符 ID 160 在 PDFMiner 中不被识别为 Unicode?

.net - 使用 ITextSharp 和 PDFSharp 渲染 PDF 表的性能 Not Acceptable

java - 将文档转换为 pdf 时如何将 pTab 元素添加到 docx4j