2

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

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

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

任何帮助是极大的赞赏。

4

2 回答 2

1

您不太可能遇到由于 PDF 版本引起的问题。

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

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

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

您可以尝试使用报告方面的设置来解决

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

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

于 2011-01-12T20:12:36.370 回答
0

如果您将 PDFRenderer 用作查看器,它是否会显示 PDF?PDFRenderer 不支持更高的 PDF 版本(即压缩对象),但 1.2 相当简单。

于 2011-01-12T21:15:43.220 回答