java使用Abobe Acrobat DC生成模板

 更新时间:2021年04月21日 15:47:52   作者:小码66  
这篇文章主要介绍了java使用Abobe Acrobat DC生成模板,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下

一、利用word生成一个文档转成pdf

word模板

说明:转换成pdf格式

二、Abobe Acrobat DC图解

利用Abobe Acrobat DC打开pdf

步骤:文件 ---->创建------>创建表单----->选择文件(你转换成pdf文件)

这里是所要增加的文本域、图片域等功能按钮

在这里插入图片描述

在你需要的位置增加你说要的功能完成之后进行保存

在这里插入图片描述

三、java后台代码

环境maven

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

生成的模板文件放到适当的位置

在这里插入图片描述

所需要生成新的pdf代码

public @ResponseBody Object getFaceVerificationPdf(GzFaceVerification gzFaceVerification, HttpServletRequest request) throws IOException {
        try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
            try (PdfDocument document = new PdfDocument(new PdfReader(
                    new ClassPathResource("static/moban.pdf").getInputStream()), new PdfWriter(outputStream))) {

                    PdfAcroForm pdfAcroForm = PdfAcroForm.getAcroForm(document, true);
                    //对图片进行处理(如果不处理在模板中显示不出图片)
                    PdfFormField pdfFormField = pdfAcroForm.getField("frontIdCardUrl");
                    InputStream is = new FileInputStream(new File(gzFaceVerification.getFrontIdCardUrl()));
                    String str = Base64.encodeBytes(StreamUtil.inputStreamToArray(is));
                    pdfFormField.setValue(str);
                    pdfAcroForm.addField(pdfFormField);

                    PdfFormField pdfFormField1 = pdfAcroForm.getField("reverseIdCardUrl");
                    InputStream is1 = new FileInputStream(new File(gzFaceVerification.getReverseIdCardUrl()));
                    String str1 = Base64.encodeBytes(StreamUtil.inputStreamToArray(is1));
                    pdfFormField1.setValue(str1);
                    pdfAcroForm.addField(pdfFormField1);

                    PdfFormField pdfFormField2 = pdfAcroForm.getField("photo");
                    InputStream is2 = new FileInputStream(new File(gzFaceVerification.getPhoto()));
                    String str2 = Base64.encodeBytes(StreamUtil.inputStreamToArray(is2));
                    pdfFormField2.setValue(str2);
                    pdfAcroForm.addField(pdfFormField2);

                    pdfAcroForm.getField("frontIdCardUrl").setValue(gzFaceVerification.getFrontIdCardUrl());
                    pdfAcroForm.getField("reverseIdCardUrl").setValue(gzFaceVerification.getReverseIdCardUrl());
                    pdfAcroForm.getField("photo").setValue(gzFaceVerification.getPhoto());
                    pdfAcroForm.getField("comparisonResults").setValue(gzFaceVerification.getComparisonResults());
                    pdfAcroForm.getField("createTime").setValue(gzFaceVerification.getCreateTime());
                    pdfAcroForm.flattenFields();

            }
            HttpHeaders httpHeaders = new HttpHeaders();
            httpHeaders.setContentType(MediaType.APPLICATION_PDF);
            httpHeaders.setContentDispositionFormData("attachment", "test.pdf", Charset.forName("UTF-8"));

            return ResponseEntity.ok().headers(httpHeaders).body(outputStream.toByteArray());
        }
    }

到此这篇关于java使用Abobe Acrobat DC生成模板的文章就介绍到这了,更多相关Abobe Acrobat DC生成模板内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java 多线程实例讲解(一)

    Java 多线程实例讲解(一)

    本文主要介绍Java 多线程的知识,这里整理了详细的资料及简单示例代码有需要的小伙伴可以参考下
    2016-09-09
  • Java工程编码格式由GBK转化成utf-8的具体实现

    Java工程编码格式由GBK转化成utf-8的具体实现

    在写项目的过程中我发现有的地方编码格式被设置成了 gbk 如果用eclipse等工具直接改回utf-8编码格式则会出现乱码,所以本文给大家介绍了Java工程编码格式由GBK转化成utf-8的具体实现,感兴趣的朋友可以参考下
    2024-05-05
  • JVM内存结构相关知识解析

    JVM内存结构相关知识解析

    这篇文章主要介绍了JVM内存结构相关知识解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Java中反射机制的使用详解

    Java中反射机制的使用详解

    这篇文章主要介绍了Java中反射机制的使用详解,Java的发射机制允许程序在运行时检查和操作任意一个类、方法、属性等的信息,包括了类名、方法名、属性名、参数列表以及访问修饰符等,需要的朋友可以参考下
    2023-09-09
  • JAVA操作HDFS案例的简单实现

    JAVA操作HDFS案例的简单实现

    本篇文章主要介绍了JAVA操作HDFS案例的简单实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 详解RocketMQ 消费端如何监听消息

    详解RocketMQ 消费端如何监听消息

    这篇文章主要为大家介绍了RocketMQ 消费端如何监听消息示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • java swing 实现加载自定义的字体

    java swing 实现加载自定义的字体

    这篇文章主要介绍了java swing 实现加载自定义的字体,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • spring cloud如何修复zuul跨域配置异常的问题

    spring cloud如何修复zuul跨域配置异常的问题

    最近的开发过程中,使用spring集成了spring-cloud-zuul,在配置zuul跨域的时候遇到了问题,下面这篇文章主要给大家介绍了关于spring cloud如何修复zuul跨域配置异常的问题,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • 深入了解java-jwt生成与校验

    深入了解java-jwt生成与校验

    这篇文章主要介绍了深入了解java-jwt生成与校验,Json web token(JWT)是为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC 7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登陆(SSO)场景。,需要的朋友可以参考下
    2019-06-06
  • 关于SpringBoot创建存储令牌的媒介类和过滤器的问题

    关于SpringBoot创建存储令牌的媒介类和过滤器的问题

    这篇文章主要介绍了SpringBoot创建存储令牌的媒介类和过滤器的问题,需要在配置文件中,添加JWT需要的密匙,过期时间和缓存过期时间,具体实例代码参考下本文
    2021-09-09

最新评论