java使用Abobe Acrobat DC生成模板
更新时间:2021年04月21日 15:47:52 作者:小码66
这篇文章主要介绍了java使用Abobe Acrobat DC生成模板,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
一、利用word生成一个文档转成pdf
说明:转换成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生成模板内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
详解SpringBoot 使用Spring Initializr 快速构建工程(官方推荐)
本篇文章主要介绍了SpringBoot 使用Spring Initializr 快速构建工程(官方推荐),非常具有实用价值,需要的朋友可以参考下2017-10-10如何解决EasyExcel导出文件LocalDateTime报错问题
这篇文章主要介绍了如何解决EasyExcel导出文件LocalDateTime报错问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-06-06详解SpringBoot修改启动端口server.port的四种方式
这篇文章主要介绍了详解SpringBoot修改启动端口server.port的四种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-07-07
最新评论