我在尝试用 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/