You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Tilman Hausherr (JIRA)" <ji...@apache.org> on 2019/01/01 07:50:00 UTC
[jira] [Resolved] (PDFBOX-4003) Can't retrieve number tree from
structure tree
[ https://issues.apache.org/jira/browse/PDFBOX-4003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tilman Hausherr resolved PDFBOX-4003.
-------------------------------------
Resolution: Fixed
Assignee: Tilman Hausherr
In PDFBOX-4418 I'll change the merge code to use the convenience method so that merge can handle parent trees with several levels.
> Can't retrieve number tree from structure tree
> ----------------------------------------------
>
> Key: PDFBOX-4003
> URL: https://issues.apache.org/jira/browse/PDFBOX-4003
> Project: PDFBox
> Issue Type: Bug
> Components: PDModel
> Affects Versions: 2.0.8
> Reporter: Tilman Hausherr
> Assignee: Tilman Hausherr
> Priority: Major
> Labels: StructureTree
> Fix For: 2.0.14, 3.0.0 PDFBox
>
> Attachments: GeneralForbearance.pdf
>
>
> {code}
> PDDocument doc = PDDocument.load(new File("GeneralForbearance.pdf"));
> Object value = doc.getDocumentCatalog().getStructureTreeRoot().getParentTree().getValue(0);
> {code}
> The code above always fails when used on a PDF with a structure tree:
> {code}
> Exception in thread "main" java.io.IOException: Error while trying to create value in number tree:org.apache.pdfbox.cos.COSBase.<init>(org.apache.pdfbox.cos.COSArray)
> at org.apache.pdfbox.pdmodel.common.PDNumberTreeNode.convertCOSToPD(PDNumberTreeNode.java:212)
> at org.apache.pdfbox.pdmodel.common.PDNumberTreeNode.getNumbers(PDNumberTreeNode.java:185)
> at org.apache.pdfbox.pdmodel.common.PDNumberTreeNode.getValue(PDNumberTreeNode.java:139)
> at pdfboxpageimageextraction.MergeTest.main(MergeTest.java:29)
> Caused by: java.lang.NoSuchMethodException: org.apache.pdfbox.cos.COSBase.<init>(org.apache.pdfbox.cos.COSArray)
> at java.lang.Classj.getConstructor0(Class.java:3082)
> at java.lang.Class.getDeclaredConstructor(Class.java:2178)
> at org.apache.pdfbox.pdmodel.common.PDNumberTreeNode.convertCOSToPD(PDNumberTreeNode.java:206)
> ... 3 more
> {code}
> I suspect that it is related to the PDNumberTreeNode having been called with a {{COSBase}} class parameter in {{getParentTree()}}.
> That one doesn't have a constructor with a parameter.
> The structure tree numbers tree has mixed contents, these can be arrays or dictionaries.
> What we need is some PD wrapper that can have both inside.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pdfbox.apache.org
For additional commands, e-mail: dev-help@pdfbox.apache.org