[
https://issues.apache.org/jira/browse/PDFBOX-4478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16815999#comment-16815999
]
Kai Keggenhoff commented on PDFBOX-4478:
----------------------------------------
Unfortunately, some stamps still cause issues in 2.0.15. I attached
"bad_stamp-2.0.15.xfdf", which produces this error when I merge it :
Apr 12, 2019 7:46:34 AM org.apache.pdfbox.util.Hex decodeHex
SCHWERWIEGEND: Can't parse
0, aborting decode
java.lang.NumberFormatException: For input string: "
0"
at
java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:569)
at org.apache.pdfbox.util.Hex.decodeHex(Hex.java:279)
at
org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp.parseStreamElement(FDFAnnotationStamp.java:253)
at
org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp.parseStampAnnotationAppearanceXML(FDFAnnotationStamp.java:175)
at
org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp.<init>(FDFAnnotationStamp.java:134)
at org.apache.pdfbox.pdmodel.fdf.FDFDictionary.<init>(FDFDictionary.java:211)
at org.apache.pdfbox.pdmodel.fdf.FDFCatalog.<init>(FDFCatalog.java:63)
at org.apache.pdfbox.pdmodel.fdf.FDFDocument.<init>(FDFDocument.java:90)
it looks like the attribute value contains a LF/CR. When this error occurs, the
appearance is missing and only the outline of the stamp is shown when the user
selects the element.
I found two of the default stamps in Adobe Reader (german version) to cause
this :
- SBPreliminaryResults ("Vorläufige Ergebnisse")
- SBNotForPublicRelease ("Nicht zur Veröffentlichung")
> Import XFDF stamp annotation has malformed appearance
> -----------------------------------------------------
>
> Key: PDFBOX-4478
> URL: https://issues.apache.org/jira/browse/PDFBOX-4478
> Project: PDFBox
> Issue Type: Bug
> Components: PDModel
> Affects Versions: 2.0.14
> Reporter: Tilman Hausherr
> Assignee: Tilman Hausherr
> Priority: Major
> Labels: Annotations, xfdf, xml
> Fix For: 2.0.15, 3.0.0 PDFBox
>
> Attachments: AP.xml, bad_stamp-2.0.15.xfdf, lorem.xfdf, lorem_1.pdf,
> lorem_3_merged.pdf, lorem_stamp_markup-NEW.pdf
>
>
> As reported by [~k.keggenhoff] in the [user mailing
> list|https://mail-archives.apache.org/mod_mbox/pdfbox-users/201903.mbox/%3C1ab6958a898b406f8a0446e9e1d8e524%40conclude.com%3E],
> when using code like below one gets warnings and the result file
> {color:#333333}doesn't open properly on Adobe Reader.{color}
> {noformat}
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: Group => NOT handling child element: BOOL
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: Group => NOT handling child element: BOOL
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: GS0 => NOT handling child element: BOOL
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: GS0 => NOT handling child element: FIXED
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: GS0 => NOT handling child element: FIXED
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: GS1 => NOT handling child element: BOOL
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: GS1 => NOT handling child element: INT
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: GS1 => NOT handling child element: INT
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: P0 => NOT handling child element: ARRAY
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: P0 => NOT handling child element: INT
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: Shading => NOT handling child element: ARRAY
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: Shading => NOT handling child element: ARRAY
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: Function => NOT handling child element: ARRAY
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: Function => NOT handling child element: ARRAY
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: Function => NOT handling child element: ARRAY
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: Function => NOT handling child element: INT
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: Function => NOT handling child element: ARRAY
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseDictElement
> WARNUNG: Shading => NOT handling child element: INT
> Mär 01, 2019 9:35:12 AM org.apache.pdfbox.pdmodel.fdf.FDFAnnotationStamp
> parseStreamElement
> WARNUNG: N => Not handling element DATA encoding: ASCII{noformat}
> {code:java}
> File pdfFile = new File("lorem_1.pdf");
> System.out.println("Load pdf into PDDocument: " + pdfFile);
> doc = PDDocument.load(pdfFile);
> System.out.println("Loaded pdf\n");
> File xfdfFile = new File("lorem.xfdf");
> System.out.println("\tLoad xfdf into FDFDocument: " + xfdfFile);
> fdf = FDFDocument.loadXFDF(xfdfFile);
> // Lookup with annotations exists
> List<FDFAnnotation> fdfAnnots =
> fdf.getCatalog().getFDF().getAnnotations();
> // add each annotation in the xfdf into the document
> for (FDFAnnotation fdfAnnot : fdfAnnots)
> {
> PDPage page = doc.getPage(fdfAnnot.getPage());
> List<PDAnnotation> pageAnnots = page.getAnnotations();
> annot =
> PDAnnotation.createAnnotation(fdfAnnot.getCOSObject());
> annot.setLocked(true);
> pageAnnots.add(annot);
> }
> System.out.println("\tAdded into PDF");
> fdf.close();
> doc.save("lorem_stamp_markup.pdf");
> {code}
> My first impression: The shading dictionary in the annotation is incomplete.
> The code in FDFAnnotationStamp.parseDictElement() is incomplete, possibly
> also the code in parseArrayElement.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]