0


springboot项目使用itext7-core生成pdf表单文件(文字以及图片)- 小白式教程

一、添加maven依赖包

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itext7-core</artifactId>
    <version>7.1.1</version>
    <type>pom</type>
</dependency>

二 、安装与使用pdf工具

  • 下载免费pdf工具,如有其他pdf工具可跳过安装步骤
链接:https://pan.baidu.com/s/1JrIHDKmDOn7zqr13TaqqXg 
提取码:fkx1
  • 简单安装

桌面出现这个图标就可以使用了,点击进入软件

三、制作pdf模板

    1.跟着图片操作就好

这里大家可以根据自己的需求进行操作,本文章是用于测试所以创建一个空的出来先

可以通过上面菜单完成模板创作

接着创建要给图片的图片域,其实图片域和文本域都是一样的在代码中,这里可以先不纠结

创建好模板保存好,接下来就要使用了模板编辑我们想要的效果了。

四、编写后端生成pdf代码

  • 具体请看代码,代码中有注释
import com.itextpdf.forms.PdfAcroForm;
import com.itextpdf.forms.fields.PdfFormField;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;

import java.io.IOException;
import java.util.Map;

public class TestPdf {

    public static void main(String[] args) throws IOException {
        String modelPath = "E:\\works\\testDome\\images\\dome.pdf";
        String targetPath = "E:\\works\\testDome\\images\\dome-ok.pdf";
        // 注意base64不需要”data:image/jpeg;base64,“这段东西
        String base64Image = "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";
        createPdf(modelPath, targetPath, base64Image);
    }

    /**
     * 根据模板生成pdf
     *
     * @param modelPath 模板路径
     * @param targetPath 生成pdf的路径
     * @param base64Image base64图片数据,可以将图片在这个网站https://www.lddgo.net/convert/imagebasesix生成base64字符串了
     */
    public static void createPdf(String modelPath, String targetPath, String base64Image) {

        try (
                // 创建一个pdf模板对象,我们可一个给他pdf输出流和pdf写入流
                PdfDocument pdfDocument = new PdfDocument(new PdfReader(modelPath), new PdfWriter(targetPath))
        ) {
            // 接着获取pdf模板信息,存入pdf模板信息使用PdfAcroForm
            PdfAcroForm acroForm = PdfAcroForm.getAcroForm(pdfDocument, true);
            // 获取模板中设置文本域信息,并修改模板内容
            Map<String, PdfFormField> formFields = acroForm.getFormFields();

            // 处理名字为name的文本域
            PdfFormField name = formFields.get("name");
            name.setValue("这个是我们测试用的pdf文本域拥立");
            // 同时也可以设置字体
            PdfFont font = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
            name.setFont(font);

            // 处理名字为image的图片域
            PdfFormField image = formFields.get("image");
            image.setValue(base64Image, true);
            acroForm.flattenFields();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

    }
}
  • 代码执行生成文件展示

以上内容如有错误,请各位大佬指正,ok,完结撒花。

标签: spring boot pdf 后端

本文转载自: https://blog.csdn.net/qq_46349437/article/details/140319408
版权归原作者 温醉酒一壶 所有, 如有侵权,请联系我们删除。

“springboot项目使用itext7-core生成pdf表单文件(文字以及图片)- 小白式教程”的评论:

还没有评论