2011-01-12 32 views
2

我对面的一个问题运行尝试打印,所有的文字被用小方块字符替换Java中的水晶报表的PDF文件。报告blob存储在Oracle数据库中,我可以使用adobe reader进行预览,并查看它是否使用实际文本正确形成。这个blob被传递给一个使用PDFRenderer打印它的java applet。问题与印刷用java PDFRenderer

我的理论是,问题在于这样一个事实:水晶报表,我们生成PDF的使用1.2版本。还有一些jasper报告生成为1.4版本,并且这些打印是正确的 - 只有1.2版本的pdf才有这个问题。

不PDFRenderer不支持打印这个版本还是有我需要成功打印的一些额外的步骤?

任何帮助,非常感谢。

回答

1

您很可能不会遇到由于PDF版本而导致的问题。

特别是随着文本内容的PDF规范获取的非常复杂的可能性是高的水晶报表产生,要么

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

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

你可以试试关于

  • 编码
  • 字体(类型1/TrueType9)玩弄在报告上侧设置
  • 字体嵌入

,也许你发现了选项更适合。

+0

似乎PDFRenderer不喜欢嵌入字体。我无法找到让Crystal Reports不嵌入它们的方法,因此我将报告转换为jasper。谢谢您的帮助。 – JDS

0

不PDFRenderer显示PDF文件,如果你使用它作为一个观众? PDFRenderer不支持以后的PDF版本(即压缩对象),但1.2相当简单。

+0

查看pdf时,文本也不正确。我认为mtraut是正确的,因为水晶报告正在做PDFRenderer发现可怕的事情。 – JDS