如何使用 Java 创建和填写自己的 PDF 表单
由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!
介绍
在本教程中,您将学习如何使用PDFBox库通过 Java 填充 PDF 文档。此外,您还将了解如何创建自定义表单或向现有 PDF 文档添加可编辑字段。
创建一个简单的表单
为了创建一个表单,我们使用LibreOffice Draw。
显示表单工具栏。“视图”菜单 > “工具栏” > “表单控件”。
在空白文档中,输入两个文本字段:
显示文本字段的属性:
将字段分别重命名为“txt_1”和“txt_2”。同时,将“只读”属性保留为“是”。
将文档导出为 PDF 文件。我的文件路径类似于“/tmp/pdf-java.pdf”。
我的模板如下所示:
通过 Java 填充 PDF
创建一个新的 Maven Java 项目,并添加以下依赖项:
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.16</version>
</dependency>
创建一个Java类,并编写以下代码:
public static void main(String[] args) {
try {
PDDocument pDDocument = PDDocument.load(new File("/tmp/pdf-java.pdf"));
PDAcroForm pDAcroForm = pDDocument.getDocumentCatalog().getAcroForm();
PDField field = pDAcroForm.getField("txt_1");
field.setValue("This is a first field printed by Java");
field = pDAcroForm.getField("txt_2");
field.setValue("This is a second field printed by Java");
pDDocument.save("/tmp/pdf-java-output.pdf");
pDDocument.close();
} catch (IOException e) {
e.printStackTrace();
}
}
运行程序并查看结果:
请记住,最终文件保存在:“/tmp/pdf-java-output.pdf”。
完整的源代码在 GitHub 上:
https://github.com/sandrogiacom/pdf-java
结论
在本简短教程中,我们学习了如何使用 LibreOffice Draw 创建的 PDF 模板填充 PDF 文件。发挥您的创造力,创建精美的模板、实现自动化、创建批处理文件等等。
请在评论区留言,说说您的使用场景。
再见!
文章来源:https://dev.to/sandrogiacom/how-to-create-and-fill-out-your-own-pdf-form-with-java-87b





