Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 3.0
-
Fix Version/s: 3.1
-
Component/s: Core/Parsing
-
Labels:None
-
Environment:-
Description
When using the customer's custom HTML 2 PDF converter on the PDF in question, page 2 does not display and the following exception is thrown:
FINE: Error initializing Page.
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.StringBuffer
at org.icepdf.core.pobjects.fonts.nfont.CMap.<init>(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.CMap.<init>(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.Font.init(Unknown Source)
at org.icepdf.core.pobjects.Resources.getFont(Resources.java:186)
at
org.icepdf.core.util.ContentParser.consume_Tf(ContentParser.java:1994)
at
org.icepdf.core.util.ContentParser.parseText(ContentParser.java:1114)
at org.icepdf.core.util.ContentParser.parse(ContentParser.java:276)
at org.icepdf.core.pobjects.Page.init(Page.java:353)
at
org.icepdf.core.views.swing.PageViewComponentImpl$PageInitilizer.run(PageVie
wComponentImpl.java:1111)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)
1-Sep-2009 10:38:50 PM org.icepdf.core.util.Library printObjectDebug
FINE: Error initializing Page.
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.StringBuffer
at org.icepdf.core.pobjects.fonts.nfont.CMap.<init>(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.CMap.<init>(Unknown Source)
at org.icepdf.core.pobjects.fonts.nfont.Font.init(Unknown Source)
at org.icepdf.core.pobjects.Resources.getFont(Resources.java:186)
at
org.icepdf.core.util.ContentParser.consume_Tf(ContentParser.java:1994)
at
org.icepdf.core.util.ContentParser.parseText(ContentParser.java:1114)
at org.icepdf.core.util.ContentParser.parse(ContentParser.java:276)
at org.icepdf.core.pobjects.Page.init(Page.java:353)
at
org.icepdf.core.views.swing.PageViewComponentImpl$PageInitilizer.run(PageVie
wComponentImpl.java:1111)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)
1-Sep-2009 10:38:50 PM org.icepdf.core.util.Library printObjectDebug
Updated the PostScropt tokenizer so that it doesn't cast the StringBuffer to String. As far as the CMap parser is concerned it's expected a StringBuffer. Its interesting that this is the first time this code path has been executed.