多语言展示
当前在线:1607今日阅读:23今日分享:25

Linux下JasperReport报表找不到字体的解决方法

jasperreport报表在windows下运行中正常,但是部署到Linux下会报找不到字体的错误:net.sf.jasperreports.engine.util.JRFontNotFoundException: Font '黑体' is not available to the JVM. See the Javadoc for more details.
工具/原料
1

JasperReport报表

2

jasperreports-fonts6.0.0 jar

方法/步骤
1

将 jasperreports-fonts-6.0.0.jar解压,出现目录结构:net\sf\jasperreports\fonts\degavu,此目录下是目前JVM內所支持的字体类型。

2

网上下载ttf字体,选择simhei.ttf放入该目录下

3

打开目录net\sf\jasperreports\fonts下的font.xml进行JasperReport与字体的关联配置,将如下的配置信息键入font.xml中,将黑体关联到simhei.ttf文件,将文件保存。 net/sf/jasperreports/fonts/dejavu/simhei.ttf net/sf/jasperreports/fonts/dejavu/simhei.ttf net/sf/jasperreports/fonts/dejavu/simhei.ttf net/sf/jasperreports/fonts/dejavu/simhei.ttf Identity-H true  '黑体', Arial, Helvetica, sans-serif '黑体', Arial, Helvetica, sans-serif 

4

修改完成文件后用ue打开xml文件,将文件重新另保存为’UTF-8 无BOM’的格式(因为微软会在utf-8格式的文件前面加上EF BB BF三个字节,解析的时候无法识别,项目会报错)

5

将修改好的文件重新打包成jar,放在项目中引用即可

注意事项

编辑后的xml文件最好不要用微软打开,需要将其保存为UTF-8无BOM格式,否则项目编译报错

推荐信息