通过 Java 在 PDF 中发布表单

Aspose.PDF for Java 支持 facade-based 和 DOM-based 提交按钮创建。

使用 FormEditor 添加提交按钮

  1. 为源 PDF 文档创建一个 FormEditor 对象。
  2. 通过 FormEditor 对象添加已配置的提交按钮。
  3. 保存更新后的 PDF 文档。
public static void addSubmitButton(Path inputFile, Path outputFile) {
    FormEditor editor = new FormEditor();
    editor.bindPdf(inputFile.toString());
    try {
        editor.addSubmitBtn("submitbutton", 1, "Submit", "http://localhost/testing/show",
                100, 450, 150, 475);
        editor.save(outputFile.toString());
    } finally {
        editor.close();
    }
}

手动添加提交操作

  1. 打开源 PDF Document。
  2. 创建 SubmitFormAction 和 URL FileSpecification。
  3. 创建 ButtonField 在目标上 Page 并分配提交操作。
  4. 保存已更新的 PDF Document。
public static void addSubmitAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        SubmitFormAction submitAction = new SubmitFormAction();
        submitAction.setUrl(new FileSpecification("http://localhost:3000/submit"));
        submitAction.setFlags(SubmitFormAction.EXPORT_FORMAT | SubmitFormAction.SUBMIT_COORDINATES);

        ButtonField submitButton = new ButtonField(document.getPages().get_Item(1), new Rectangle(10, 10, 100, 40));
        submitButton.setPartialName("SubmitButton");
        submitButton.setValue("Submit");
        submitButton.getPdfActions().add(submitAction);

        document.getForm().add(submitButton, 1);
        document.save(outputFile.toString());
    }
}