[
https://issues.apache.org/jira/browse/PDFBOX-4003?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tilman Hausherr updated PDFBOX-4003:
------------------------------------
Description:
{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.
was:
{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.
> 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
> 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
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]