使用jasperreport生成的PDF在Linux上不能很好地显示但在Mac上是的,是否可能与os相关?

时间:2010-05-05 15:51:37

标签: java jasper-reports

我用jasper报告生成的PDF在我的MAC中呈现Ok,但有些标签在Linux上显示错误。例如,我有一个静态标签,不能完全显示在linux上(只是整个单词的一部分),但在Mac上是的。操作系统可以以某种方式相关吗?这类问题的常见原因是什么?

4 个答案:

答案 0 :(得分:3)

Linux机器上缺少字体可能会导致此类问题。在使用iText创建pdf时我也一样。

答案 1 :(得分:1)

始终在生成的PDF中嵌入字体!它可以为您节省很多麻烦......

并通知以下细微差别:如果您创建一个带有Arial字体的PDF,它在Windows中显示良好,并且很可能在Linux上使用Helvetica(几乎是相同的字体),但由于它具有一些其他度量属性你的边界框不合适。

再次:始终在生成的PDF中嵌入字体!

答案 2 :(得分:0)

如果您有时间可以查看Docmosis,它会生成嵌入了字体的PDF,因此跨平台渲染不是问题。请注意,如果跨平台生成doc或odf文件,那么字体在分页或布局更改中可能会有所不同。如上所述,您需要注意目标将使用字体显示用于生成文档的字体(或者如果可能,嵌入字体)。

答案 3 :(得分:0)

PDF Helvetica(SansSerif)的关闭是MS Arial.ttf。问题是默认情况下它在Linux机器上不可用。将其复制到/ usr / share / fonts(并更新fonts.dir)或将其安装到Linux JRE安装到fonts /目录(并更新fonts.dir)。如果您不想使用MS Arial,请尝试使用GNU FreeFont http://ftp.gnu.org/gnu/freefont/

您可以像Daniel建议的那样在PDF中嵌入字体,但它会使PDF更大。