Rune Flobakk created PDFBOX-5962:
------------------------------------

             Summary: Saving PDDocument with flattened form retains fields
                 Key: PDFBOX-5962
                 URL: https://issues.apache.org/jira/browse/PDFBOX-5962
             Project: PDFBox
          Issue Type: Bug
          Components: AcroForm
    Affects Versions: 3.0.4 PDFBox
         Environment: Java 21
            Reporter: Rune Flobakk


I believe I may have found a bug or at least a certain change in behavior 
introduced in v3.0.4.

For some PDAcroForms, after flattening the form, they seem to somehow retain 
their fields when saving the PDDocument. {{PDAcroForm.getFields()}} is an empty 
list after flattening (as I believe is expected), but when saving the 
{{{}PDDocument{}}}, and re-reading the saved file {{PDAcroForm.getFields()}} 
contains the fields of the form before it was flattened. Opening the saved file 
in a PDF viewer also shows the form as editable.

The flattening works as expected in v3.0.3, and the form becomes non-editable 
with the values displayed as expected.

I notice for this particular PDF I am testing with, there are a lot of logging 
like this in v3.0.4 when invoking {{{}.flatten(){}}}:
{code:java}
WARN missing /P entry (page reference) in a widget for field: ... {code}
So there are apparently some issues with the particular PDF, though it worked 
as expected in v3.0.3. I see this logging was introduced here: 
[https://github.com/apache/pdfbox/commit/e49649ae89c913058c1be79bec6b4f561fc1f0b6]
 which is part of PDFBOX-5225. The {{.flatten()}} invocation succeeds in both 
versions, but the flattening operation seem to not be effective in the saved 
PDF file when using v3.0.4.

I have made a small project demonstrating the problem here:
[https://github.com/runeflobakk/pdfbox-flatten-form-save-issue]
There is a {{FlattenFormTest}} JUnit test demonstrating the process for both a 
problematic PDF and one which works as expected. Changing the pdfbox dependency 
version to 3.0.3 makes both tests pass. The saved files appears in the target 
directory for inspection.

Thank you, and please let me know if there are any details I may have left out!



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to