我遇到了一个问题,试图在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是相当直接的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top