You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Andreas Lehmkühler (JIRA)" <ji...@apache.org> on 2009/07/03 16:50:47 UTC

[jira] Resolved: (PDFBOX-455) java.lang.ClassCastException: org.pdfbox.cos.COSString cannot be cast to org.pdfbox.cos.COSName

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

Andreas Lehmkühler resolved PDFBOX-455.
---------------------------------------

       Resolution: Fixed
    Fix Version/s: 0.8.0-incubator

With version 790931 I've added some type checks. As an enhancement to Seans suggestion I've added the code to all getter of simple datatypes like int, long, string, float and boolean.

>  java.lang.ClassCastException: org.pdfbox.cos.COSString cannot be cast to org.pdfbox.cos.COSName
> ------------------------------------------------------------------------------------------------
>
>                 Key: PDFBOX-455
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-455
>             Project: PDFBox
>          Issue Type: Bug
>    Affects Versions: 0.7.3
>            Reporter: Sean Bridges
>             Fix For: 0.8.0-incubator
>
>
> I'm getting this error parsing a pdf file,
> java.lang.ClassCastException: org.pdfbox.cos.COSString cannot be cast to org.pdfbox.cos.COSName
> 	at org.pdfbox.pdmodel.font.PDFont.getAFM(PDFont.java:330)
> 	at org.pdfbox.pdmodel.font.PDSimpleFont.getFontHeight(PDSimpleFont.java:104)
> 	at org.pdfbox.util.PDFStreamEngine.showString(PDFStreamEngine.java:336)
> 	at org.pdfbox.util.operator.ShowText.process(ShowText.java:64)
> 	at org.pdfbox.util.PDFStreamEngine.processOperator(PDFStreamEngine.java:452)
> 	at org.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:215)
> 	at org.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:174)
> 	at org.pdfbox.util.PDFTextStripper.processPage(PDFTextStripper.java:336)
> 	at org.pdfbox.util.PDFTextStripper.processPages(PDFTextStripper.java:259)
> 	at org.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:216)
> 	at org.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:149)
> Unfortunately, I can't give you the pdf file, but the PDFFont->font->items map for the instance in question is,
> {COSName{FontDescriptor}=org.pdfbox.cos.COSDictionary@1041876, COSName{Subtype}=COSName{TrueType}, COSName{Widths}=COSArray{[COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}, COSInt{600}]}, COSName{Encoding}=COSObject{4, 0}, COSName{FirstChar}=COSInt{0}, COSName{Type}=COSName{Font}, COSName{BaseFont}=COSString{Courier New,Bold}, COSName{LastChar}=COSInt{255}}

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