我正在评估JasperReports的报告生成。 Windows和Linux之间的报告可移植性存在一些问题。 我发现一个(哈克)解决scheme,使其跨平台工作。 不过,我不知道什么是jasperreports-fonts :
<dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports-fonts</artifactId> <version>5.6.1</version> </dependency>
我看到它包含DejaVu Sans字体,但我不知道如何使用这个jar(我在网上没有find任何东西),如果这将解决我的跨平台软,以优雅,简单的方式。

你能告诉我更多关于这个jar子吗?
在jasper报告(.jrxml文件)中,您可以使用多种字体来显示标签/文本。 这些字体可能并不总是在不同的平台/操作系统上可用。 (例如,有一些MS字体在Linux机器上不可用,除非您手动安装)。 因此,我们将碧玉报告中使用的字体捆绑到一个jar文件中,并使其工作,而不管底层平台如何。 另外,您可以在字体扩展jar中包含自己的(自定义创建的)字体,并将它们与碧玉报告一起发送。 更多信息在这里 。
也有几个方法来配置和使用这个罐子。 看看这个知道最简单的方法之一。
请注意,如果jrxml中使用的字体在JVM中不可用,则在导出报告时将会引发错误,如下所示:
net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'Arial' is not available to the JVM.
这可以通过两种方式来解决:
1.使用jasperreport-extension.jar或者
2.将属性net.sf.jasperreports.awt.ignore.missing.font设置为true以忽略缺少的字体。 例如,在jrxml中,可以将其设置如下:
<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>