zoukankan      html  css  js  c++  java
  • 根据现有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;
        }

     搞定收工。。。。

  • 相关阅读:
    mysql 双主高可用配置
    lsyncd实时同步搭建指南
    tomcat优化
    nginx + tomcat + https配置
    supervisor安装文档
    移动设备的分辨率
    Python零基础入门(13)-------语句与流程控制
    Python零基础入门(12)-------文件读写
    Python零基础入门(11)-------dict 字典表
    Python零基础入门(10)------- str 字符串
  • 原文地址:https://www.cnblogs.com/memoryXudy/p/7805277.html
Copyright © 2011-2022 走看看