[ 
https://issues.apache.org/jira/browse/PDFBOX-6179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18067189#comment-18067189
 ] 

Stefan Ziegler commented on PDFBOX-6179:
----------------------------------------

PDDocument doc = Loader.loadPDF("simple_form.pdf");
PDAcroForm form = doc.getDocumentCatalog().getAcroForm();
PDField field = form.getField("XXXX");
form.getFields().remove(field);
doc.save("simple_form_out.pdf");

The remove call returns false, because internally PDField.equals is used and 
the field is not found and not removed from the list.

If PDField would have an equals method like PDAnnotation, then the field would 
be found and would be deleted as expected.

> Removing fields not possible
> ----------------------------
>
>                 Key: PDFBOX-6179
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-6179
>             Project: PDFBox
>          Issue Type: Bug
>          Components: AcroForm
>    Affects Versions: 3.0.7 PDFBox
>            Reporter: Stefan Ziegler
>            Priority: Major
>         Attachments: simple_form.pdf
>
>
> Seems that fields can no longer be removed like this:
> PDField field = acroForm.getField("XXXXX");
> List<PDField> fields = acroForm.getFields();
> fields.remove(field);
> Internally, the field is never found. PDField has no equals method. getField 
> and getFields create new PDField instances and so equals fails in this case.
> Shouldn't there be an equals method in PDField, that compares the underlying 
> COSObject?



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

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

Reply via email to