中文不显示是一个常见问题。解决方法在网上也是五花八门。试过几次,亲测有效为介绍的这种:
中文不显示问题主要是jasperreports提供的font包不能为中文格式提供支持,所以我们需要自定义一个font包,用于支持。
3.1 在studio中添加中文字体
3.1.1 以微软雅黑为例,首先在网上下载ttf文件。这是已打包好的fonts包 和ttf文件 点击打开链接
3.1.2 在Studio中设置Font,步骤: Window -> Preferences -> Jaspersoft Studio -> Fonts
3.1.3 添加ttf文件
添加完成后,可以在选择字体栏发现添加的字体
然后把所有的parameter字体都换成“微软雅黑”。保存从新生成DemoReport2.jasper文件。替换项目中WebRoot下的以前asper文件。
3.2 自定义font.jar包
3.2.1 找到Jasperreports-6.4.1 的/demo/fonts/net/sf/jasperreports/fonts/dejavu目录,将下载的微软雅黑的字体tff文件拷贝进去。
3.2.2 然后返回上一级目录,打开fonts.xml文件增加一个fontFamily,修改如下:
3.3.3 生成fonts.jar包
返回到最外面的fonts文件夹中,因为我们的Jar包需要一个完整的路径包。
Cmd调出命令行执行命令:jar cvf fonts.jar * 。生成fonts.jar包导入到项目中。
启动tomcat,访问servlet解决中文不显示问题。