1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Jasper报表导出pdf中文不显示——Font simsun is not available to the JVM.

Jasper报表导出pdf中文不显示——Font simsun is not available to the JVM.

时间:2021-08-07 21:28:27

相关推荐

Jasper报表导出pdf中文不显示——Font simsun is not available to the JVM.

Exception in thread "main" net.sf.jasperreports.engine.util.JRFontNotFoundException: Font "simsun" is not available to the JVM. See the Javadoc for more details.

JasperReports报表打印pdf中文不显示,以及出现字体找不到,是因为japserreports.jar中的fonts并没有中文设置;用以下两种方法都可以解决:

第一种方法:修改jar包:

1.下载中文字体,我这里下载的是simsun.ttf宋体

2.下载jasperreports-6.2.2.jar(版本随意)

3.解压jar包,解压后目录如下

4.找到net\sf\jasperreports\fonts目录,新建chinese文件夹,如下

5.把下载的中文字体拖拽到chinese文件夹下

6.返回fonts目录,修改jasperreports-fonts.xml文件,在Familes节点添加:

<fontFamily name="simsun"><normal>net/sf/jasperreports/fonts/chinese/simsun.ttf</normal><bold>net/sf/jasperreports/fonts/chinese/simsun.ttf</bold><italic>net/sf/jasperreports/fonts/chinese/simsun.ttf</italic><boldItalic>net/sf/jasperreports/fonts/chinese/simsun.ttf</boldItalic><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded></fontFamily>

7.打开cmd,切到jasperreports-6.2.2目录,进行打包:”jar cvf jasperreports-6.2.2.jar * “,打包后的目录如下

8.替换之前的jar包,重新运行项目,ok啦

第二种方法:不修改jar包:

1.在resource目录下,添加fonts文件夹,在该目录下添加font.xml以及下载的中文字体:

font.xml

<?xml version="1.0" encoding="UTF-8"?><fontFamilies><fontFamily name="simsun"><normal><ttf>fonts/simsun.ttf</ttf><svg>fonts/simsun.ttf</svg><eot>fonts/simsun.ttf</eot><woff>fonts/simsun.ttf</woff></normal><pdfEncoding>Identity-H</pdfEncoding><pdfEmbedded>true</pdfEmbedded></fontFamily></fontFamilies>

2.在resurce目录下添加jasperreports_extension.properties文件,就ok啦

net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactorynet.sf.jasperreports.extension.simple.font.families.default=fonts/fonts.xml

最终项目截图:

Jasper报表导出pdf中文不显示——Font simsun is not available to the JVM. See the Javadoc for more det 已解决

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。