Trabalhar com formulários XFA

Formulários XFA podem ser convertidos para AcroForms padrão para que possam ser processados com as APIs regulares de formulários PDF.

Converter um formulário XFA dinâmico para um AcroForm

  1. Abra o PDF de origem em um objeto Document.
  2. Acesse o documento Form e defina o necessário FormType propriedades.
  3. Salve o PDF atualizado 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());
    }
}

Converter um formulário XFA com ignoreNeedsRendering

  1. Abra o PDF de origem em um objeto Document.
  2. Acesse o documento Form e defina o necessário ignoreNeedsRendering e FormType propriedades.
  3. Salve o PDF atualizado 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());
    }
}