根据现有PDF模板填充信息(SpringBoot)

Posted Mr.DongYang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据现有PDF模板填充信息(SpringBoot)相关的知识,希望对你有一定的参考价值。

根据现有PDF模板填充信息(SpringBoot+maven)

首先得有一个pdf模板,建立pdf模板需要下载工具
红色框为文本框,filename为域名。java需要根据域名赋值

 

 

pom 文件配置

<!-- always needed -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>layout</artifactId>
            <version>7.0.3</version>
        </dependency>

        <!-- only needed for forms -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>forms</artifactId>
            <version>7.0.3</version>
        </dependency>

        <!-- only needed for Asian fonts -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>font-asian</artifactId>
            <version>7.0.3</version>
        </dependency>

 

java 代码

 // pdf文件
    private Boolean tranPdf(CopyRightsVo copyRightsVo) {
    // 模板地址
        String filePath = UlegalZCUtil.rootPath() + File.separator + "pdf" + File.separator + "templateC.pdf";
        // 填完信息后生成新的模板地址
        String toPath = UlegalZCUtil.rootPath() + File.separator + "pdf" + File.separator + "templateOL" + ".pdf";
        try {
            System.out.println(filePath);
            PdfDocument pdfDoc = new PdfDocument(new PdfReader(filePath), new PdfWriter(toPath));
            PdfAcroForm pdfAcroForm = PdfAcroForm.getAcroForm(pdfDoc, true);
            pdfAcroForm.getField("fileName").setValue("小编");
            pdfAcroForm.getField("applicant").setValue("ol");
            Date date = new Date();
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
            String cmmitTime = simpleDateFormat.format(date);
            pdfAcroForm.getField("time").setValue(cmmitTime);
//            pdfAcroForm.getField("hashValue").setValue(copyRightsVo.getHashValue());
            pdfAcroForm.flattenFields();
            pdfDoc.close();
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        return true;
    }

 

 

 搞定收工。。。。

 

以上是关于根据现有PDF模板填充信息(SpringBoot)的主要内容,如果未能解决你的问题,请参考以下文章

java中将表单转换为PDF

java生成PDF(图片,模板,表格)

Itextpdf + Adobe Acrobat DC填充模板生成pdf快速入门

使用命令行中的值填充现有 LibreOffice 文档

iTextSharp生成pdf含模板---制作pdf模板

【第13期】springboot: springboot操作pdf