使用 XFA Forms

XFA forms 可转换为标准 AcroForms,以便使用常规 PDF form API 进行处理。

将动态 XFA 表单转换为 AcroForm

  1. 打开源 PDF Document。
  2. 访问文档 Form 并设置所需的 FormType 属性。
  3. 保存更新后的 PDF Document。
public static void convertDynamicXfaToAcroform(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        document.getForm().setType(FormType.Standard);
        document.save(outputFile.toString());
    }
}

将 XFA 表单转换为 ignoreNeedsRendering

  1. 打开源 PDF Document。
  2. 访问文档 Form 并设置所需的 ignoreNeedsRendering 和 FormType 属性。
  3. 保存更新后的 PDF Document。
public static void convertXfaFormWithIgnoreNeedsRendering(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        if (!document.getForm().getNeedsRendering() && document.getForm().hasXfa()) {
            document.getForm().setIgnoreNeedsRendering(true);
        }
        document.getForm().setType(FormType.Standard);
        document.save(outputFile.toString());
    }
}