itextpdf根据模板生成pdf导出pdf遇到的问题

发布于:2025-05-27 ⋅ 阅读:(25) ⋅ 点赞:(0)

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);

最后就解决了