You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Jukka Zitting (JIRA)" <ji...@apache.org> on 2010/10/14 12:02:02 UTC

[jira] Resolved: (PDFBOX-813) ClassCastException: COSInteger cannot be cast to COSDictionary

     [ https://issues.apache.org/jira/browse/PDFBOX-813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting resolved PDFBOX-813.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.3.0
         Assignee: Jukka Zitting

Fixed in revision 1022444 by explicitly checking the type of the Root object.

I think this is a better solution than dropping (or deprecating) the forceParsing option, as there are quite a few malformed PDFs out there that can still be processed reasonably well even with relaxed parsing rules. Sometimes this results in PDDocuments with unexpected internal structures, but it's IMHO better to try degrading gracefully in such cases.

> ClassCastException: COSInteger cannot be cast to COSDictionary
> --------------------------------------------------------------
>
>                 Key: PDFBOX-813
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-813
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Parsing
>    Affects Versions: 1.2.1, 1.3.0
>         Environment: Windows XP
> java version "1.6.0_12"
> Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
> Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing)
>            Reporter: CP
>            Assignee: Jukka Zitting
>            Priority: Critical
>             Fix For: 1.3.0
>
>         Attachments: CancerSummReport_34914.pdf, PDFBoxBug.java
>
>
> I get the below exceptions when calling pdfDoc.getDocumentCatalog().getAllPages(). The code continues after the first exception because I've called PDDocument.load("C:/CancerSummReport_34914.pdf", true)  setting the load "force" param to true. The second exception causes the code to abort.
> (I will try uploading the PDF that causes this problem)
> 2010-09-02 16:47:47,521 [main] WARN  (PDFParser.java:189) - Parsing Error, Skipping Object
> java.io.IOException: Error: Expected an integer type, actual='bj'
> 	at org.apache.pdfbox.pdfparser.BaseParser.readInt(BaseParser.java:1310)
> 	at org.apache.pdfbox.pdfparser.PDFParser.parseObject(PDFParser.java:497)
> 	at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:179)
> 	at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:878)
> 	at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:843)
> 	at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:768)
> 	at com.xyz.framework.functionalTests.PDFBoxBug.main(PDFBoxBug.java:16)
> 2010-09-02 16:47:47,552 [main] WARN  (BaseParser.java:215) - Invalid dictionary, found:? but expected:''
> Exception in thread "main" java.lang.ClassCastException: org.apache.pdfbox.cos.COSInteger cannot be cast to org.apache.pdfbox.cos.COSDictionary
> 	at org.apache.pdfbox.pdmodel.PDDocument.getDocumentCatalog(PDDocument.java:414)
> 	at com.xyz.framework.functionalTests.PDFBoxBug.main(PDFBoxBug.java:18)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.