java使用Abobe Acrobat DC生成模板

网友投稿 618 2023-01-27

java使用Abobe Acrobat DC生成模板

java使用Abobe Acrobat DC生成模板

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

说明:转换成pdf格式

二、Abobe Acrobat DC图解

利用Abobe Acrobat DC打开pdf

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

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

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

三、java后台代码

环境maven

com.itextpdf

itext7-core

7.1.13

pom

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

所需要生成新的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");

InputStrehttp://am 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());

}

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java实现轻轻松松控制台斗地主的示例代码
下一篇:跨端开发框架深度评测(跨端开发方案)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~