我正在评估JasperReports的报告生成。我在Windows和Linux之间的报表可移植性方面遇到一些问题。我找到了一个(骇客的)解决方案,使其能够跨平台工作。但是我想知道它的jasperreports-fonts
用途是什么:
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
<version>5.6.1</version>
</dependency>
我看到它包含DejaVu Sans字体,但是我不知道如何使用此jar(我在网上找不到任何东西),以及是否可以用一种优雅,简单的方式解决我的跨平台软件问题。
您能告诉我更多关于这个罐子的信息吗?
在jasper报表(.jrxml文件)中,可以使用几种字体来显示标签/文本。这些字体可能并不总是在不同的平台/操作系统上可用。(例如,除非手动安装,否则某些Linux字体在Linux机器上不可用)。因此,我们将jasper report中使用的字体捆绑到jar中,使它们不管底层平台如何都能工作。另外,您可以在字体扩展jar中包含自己的(自定义创建的)字体,并将其与jasper报告一起发送。更多信息在这里。
还有几种配置和使用此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"/>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句