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