仅以此文,记录jasperreport报表生成pdf的相关问题与解决方案 中文无法显示,中文显示框框
目录
导入依赖
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>cn.lesper</groupId>
<artifactId>iTextAsian</artifactId>
<version>${iTextAsian.version}</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.2</version> <!-- 或者你所使用的版本号 -->
</dependency>
<dependency>
<groupId>itext</groupId>
<artifactId>itext</artifactId>
<version>${itext.version}</version>
</dependency>
检查jasperreport报表(jrxml文件)
工具-》选项-》Fonts 是否使用了未安装的字体
如有生成pdf需求,建议修改相关字体属性
2.中文全部显示框框
本案例与案例1不同的是,案例一什么都无,而本案例所有中文都会显示框框。无法正常显示内容。这种情况是:jrxml模板文件所使用的字体无法被工程识别
解决方案1:报表工具:工具-》选项-》fonts-》install font
选择所需的字体ttf文件
一路下一步最终完成即可,然后使用设置后的字体生成报表模板
解决方案2:
在工程(以springboot工程为例)的静态资源resources下添加相关jar包
如图所示
然后在pom下添加一下依赖,将jar包加入maven管理
如需打成jar包或war包,需要查看是否将本jar包打入。
在pom中可参考如下打包方式
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
<include>**/*.ini</include>
<include>**/*.yml</include>
<include>**/*.ttf</include>
<include>lib/*</include>
</includes>
</resource>
</resources>
如有其他问题,可在评论区提出,欢迎交流!