解决JasperReport在Linux系统下中文字体无法显示的问题


1.异常信息
以JasperReport4.6为例:

Java代码   
  1. net.sf.jasperreports.engine.util.JRFontNotFoundException:   

2.解决方法 
2.1.导入字体 

IReport中先导入设计报表作需要的字体:【Tools->Options->IReport->Fonts】,选择 【Install Font】,然后选择你的字体文件,如果是中文字体,则选择【PDF Encoding】为【Identity-H (Unicode with horizontal writing)】并勾选【Embed this font in PDF Document】 , 注意将中文名字改为拼音或者英文。
2.2.报表设计 
把PdfFontName, PdfEncoding, PdfEmbedded三个设置都去掉。报表设计中使用的字体只能选择上面导入的字体列表中的字体。 
2.3.导出字体 
在【Tools->Options->IReport->Fonts】中选择所有手动导入的字体(不包括内置的),然后选择【Export as extension】,把字体导出为一个Jar包。 
2.4.添加字体JAR包 

把字体JAR包添加在运行环境classpath中,或随项目发布。


柱状图需要设置的地方:

饼状图需要设置的地方: 

你可能感兴趣的:(JAVA,JASPERREPORT)