1.PDF 模板设计神器
软件名称:Adobe Acrobat DC
下载地址:可以自己下载,需要的私聊站长。
使用方式:
1.使用 Adobe Acrobat DC 打开需要设计的 PDF 模板文件(可编辑)
2.打开【工具】选项,如下图所示:
3.点击【准备表单】进入表单设计页面
4.进入表单设计页面,可以看到相关表单元素
5.设计相关表单
注意:此处的表单的 key 为类似 fill_3 这样的名称,这个 key 是程序设计
需要使用的。因此,建议自行按照相关程序定义进行编写,方便下一步的处理。
2.Java 操作 PDF 文件神器
1.引入依赖
<dependencies>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.1.1</version>
<type>pom</type>
</dependency>
</dependencies>
2.实现模板文件的标准化输出示例
public static void main(String[] args) throws Exception {
//模板文件路径
String filePath = "c:/template.pdf";
//标准化输出文件路径
String toPath = "c:/template-output.pdf";
PdfDocument pdfDoc = new PdfDocument(new PdfReader(filePath), new PdfWriter(toPath));
PdfAcroForm pdfAcroForm = PdfAcroForm.getAcroForm(pdfDoc, true);
//原始数据(待填充到PDF文件中的数据)
Map<String, String> formDatas = new HashMap<>();
//获取模板文件中的全量字段
Map<String, PdfFormField> formFields = pdfAcroForm.getFormFields();
formFields.forEach((key, value) -> {
try {
//处理中文乱码
PdfFont font = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
//获取到模板中的某个字段
PdfFormField agreementId = formFields.get(key);
agreementId.setFont(font);
//为模板中的某个字段设置值
agreementId.setValue(formDatas.get(key));
} catch (Exception e) {
e.printStackTrace();
}
});
//设置生成表单不可编辑,注意itext的版本,在7.0.0版本报错
pdfAcroForm.flattenFields();
pdfDoc.close();
}
新年第一篇文章,
祝各位小伙伴新年快乐。
保持求知欲,让我们一起来征服技术的星辰大海。。
2020,加油!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于