发布于 2026-01-06 0 阅读
0

如何创建和填写您自己的 PDF 表单,参加由 Mux 呈现的 Java DEV 全球展示与讲述挑战赛:展示您的项目!

如何使用 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>
Enter fullscreen mode Exit fullscreen mode

创建一个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();
        }
    }
Enter fullscreen mode Exit fullscreen mode

运行程序并查看结果:

请记住,最终文件保存在:“/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