here's some code that fixes your PDF until we manage to fix the bug:


for (PDField field : acroForm.getFieldTree())
{
    if (!(field instanceof PDTerminalField))
    {
        continue;
    }
    PDTerminalField terminalField = (PDTerminalField) field;
    List<PDAnnotationWidget> widgets = terminalField.getWidgets();

    boolean replaceWidgets = false;
    List<PDAnnotationWidget> newWidgets = new ArrayList<>();
    for (PDAnnotationWidget widget : widgets)
    {
        if (widget.getPage() == null)
        {
            replaceWidgets = true;
            System.out.println("field " + terminalField.getFullyQualifiedName() + " has widget without page");
        }
        else
        {
            newWidgets.add(widget);
        }
    }
    if (replaceWidgets)
    {
        terminalField.setWidgets(newWidgets);
    }
}


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to