[ https://issues.apache.org/jira/browse/PDFBOX-5962?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17929312#comment-17929312 ]
Tilman Hausherr commented on PDFBOX-5962: ----------------------------------------- Thanks for submitting this and with a complete test, wow. What really happens is that for some reasons, the annotations aren't deleted. The fields are removed. They reappear when loading because of a repair behavior when calling getAcroform() without parameter. This behavior doesn't happen with PDFDebugger so that one shows how the file really is. So what we need to find out is why the annotations aren't processed. This will be tricky... additional TODOs: 1) rename flattenTestPDFBOX5254 to flattenTestPDFBOX5255 2) find out why acroform fixup doesn't add the page / should it do so? > 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 > Priority: Major > > 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