使用Java PDFrenderer打印PDF的问题
-
10-10-2019 - |
题
我遇到了一个问题,试图在Java上打印一个Crystal Report,其中所有文本都被小盒子字符替换。报告BLOB存储在Oracle数据库中,我可以使用Adobe Reader预览它,并看到它与实际文本正确形成。该斑点传递给使用PDFrenderer打印的Java小程序。
我的理论是问题在于,Crystal报告了我们生成PDF版本1.2版本的事实。还有许多JASPER报告以1.4版生成,并且正确打印了 - 只有1.2 PDF才有此问题。
PDFrenderer不支持打印此版本,还是我需要采取一些其他步骤来成功打印这些版本?
任何帮助是极大的赞赏。
解决方案
您不太可能遇到由于PDF版本引起的问题。
尤其是文本内容,PDF Spec Get非常复杂,概率很高,Crystal Reports创建的内容都可以
- 依靠一些奇怪的编码
- 使用CID(多键)字体技术
PDF渲染器在那里有一个盲点。
您可以尝试在报告方面进行有关
- 编码
- 字体(type1 / truetype9)
- 字体嵌入
也许您发现一个更适合的选项。
其他提示
如果您将PDFS用作查看器,PDFrenderer是否会显示PDFS? PDFrenderer不支持以后的PDF版本(即压缩对象),但1.2是相当直接的。
不隶属于 StackOverflow