jasperreports studio 6.x报表设计在springboot项目里的中文显示

工作中使用springboot结合jasperreports studio 6.x 进行报表设计,在整合中发现中文在前端无法正常显示,导出的报表里中文也是一片空白,通过查找资料和研究,最终将此问题解决,现将解决步骤列出如下:

jasperreports studio 6.x中的操作

  1. 首先建立一个模板文件,如user.jrxml
    jasperreports studio 6.x报表设计在springboot项目里的中文显示
  2. 报表中的文字全选后,选取一个中文字体,此处选择为华文宋体.
    jasperreports studio 6.x报表设计在springboot项目里的中文显示
  3. 生成user.jasper文件准备供springboo框架使用.
    jasperreports studio 6.x报表设计在springboot项目里的中文显示
  4. 导出将在springboot中使用的中文字体ja包,如在此我将jar包取名为stsong.jar.
    jasperreports studio 6.x报表设计在springboot项目里的中文显示jasperreports studio 6.x报表设计在springboot项目里的中文显示jasperreports studio 6.x报表设计在springboot项目里的中文显示

springboot中的操作

  1. springboot工程项目的pom文件中引入jasperreports的依赖.
    jasperreports studio 6.x报表设计在springboot项目里的中文显示
  2. 在springboot工程resources资源目录下建立一个字体目录.如我的目录建为stsong,此目录下用来存放字体文件和字体的xml文件,目录名自己设定,但要与后面的配置文件中的配置保持一致.
    jasperreports studio 6.x报表设计在springboot项目里的中文显示
  3. 将前面生成的user.jasper放到templates目录下.
  4. 用7zip解压包含中文字体的jar包.
  5. 将解压后的文件拷贝到springboot工程相应的位置.
    jasperreports studio 6.x报表设计在springboot项目里的中文显示
  6. 打开jasperreports_extension.properties文件进行相应的修改
    jasperreports studio 6.x报表设计在springboot项目里的中文显示
  7. 打开fonts.xml进行中文字体配置的修改
    jasperreports studio 6.x报表设计在springboot项目里的中文显示
至此jasperreports studio 6.x在springboot中的中文字体配置完成,写一个Controller类进行测试,测试预览效果如下.

jasperreports studio 6.x报表设计在springboot项目里的中文显示