Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0.3, 2.0.4, 2.0.5, 2.0.6
-
java 1.8.0_112
Description
Annotations containing "&" in their text are displayed incorrectly when parsed unmodified from XFDF (the ampersands are encoded as "&" there) and added to a PDF document.
This occurs for both "text comment" and "text box" type annotations.
However, if the XFDF is modified by replacing "&" with "&" prior to parsing, the imported annotations are then displayed correctly.
The attached code produces two pdf files. One is the PDF with the unmodified XFDF imported, two the PDF with the modifed XFDF.
A XFDF containing both a text box and text comment annotation is embedded in the source and attached as a separated file.
Update 23.03.2017 : This problem persists in 2.0.5 and we noticed the same corruption of merged annotations occur, if the annotation text contains a "<" (encoded as "lt" entity)
Update 17.10.2018 : This corruption is caused by FDFAnnotation.richContentsToString. This method reads "<" and "&" from the parsed values in the document and puts them as such into the markup, but these characters must be replaced with their entities.
I'll add this substitution to my proposed bugfix of 4345, please refer to https://issues.apache.org/jira/projects/PDFBOX/issues/PDFBOX-4345
Attachments
Issue Links
- relates to
-
PDFBOX-4345 FDFAnnotation.richContentsToString does not evaluate text nodes which have siblings in the XML
- Closed