itextpdf根据模板生成pdf导出pdf遇到的问题
itextpdf根据模板生成pdf导出pdf遇到的问题
概述
在Java项目中使用iText库来处理PDF文件是一种常见的方式,尤其是当你需要处理包含亚洲语言(如中文)的PDF表单时。本文将详细介绍如何通过iText库解决在填充PDF表单时遇到的字体问题,确保静态内容与动态输入的表单字段能够和谐共存。
由于本地是生成没有问题,导致部署到linux服务器中出现空白,模板固定内容没有展示
增加打包排除过滤依赖
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><nonFilteredFileExtensions><nonFilteredFileExtension>ttf</nonFilteredFileExtension><nonFilteredFileExtension>TTC</nonFilteredFileExtension><nonFilteredFileExtension>ttc</nonFilteredFileExtension><nonFilteredFileExtension>TTF</nonFilteredFileExtension><nonFilteredFileExtension>woff</nonFilteredFileExtension><nonFilteredFileExtension>woff2</nonFilteredFileExtension><nonFilteredFileExtension>pdf</nonFilteredFileExtension></nonFilteredFileExtensions></configuration></plugin></plugins></build>
这样模板内容就会找到,重新打包,看本地classes的路径生成的模板有没有内容
设置字体库
在资源目录下增加字体
给表单设置字体
BaseFont bfChinese2 = BaseFont.createFont("Font/Dengl.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
form.addSubstitutionFont(bfChinese2);
最后就解决了