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

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包,解压后目录如下

Jasper报表导出pdf中文不显示——Font

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

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

Jasper报表导出pdf中文不显示——Font

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


        net/sf/jasperreports/fonts/chinese/simsun.ttf
        net/sf/jasperreports/fonts/chinese/simsun.ttf
        net/sf/jasperreports/fonts/chinese/simsun.ttf
        net/sf/jasperreports/fonts/chinese/simsun.ttf
        Identity-H
        true
 

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

Jasper报表导出pdf中文不显示——Font

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

 

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

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

font.xml





	
		
			fonts/simsun.ttf
			fonts/simsun.ttf
			fonts/simsun.ttf
			fonts/simsun.ttf
		
		Identity-H
		true
	


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

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

最终项目截图: 

 Jasper报表导出pdf中文不显示——Font

 

 

 

 

 

 

 

 

你可能感兴趣的:(ERR)