Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 4.2.1
-
Fix Version/s: None
-
Component/s: Core/Parsing
-
Labels:None
-
Environment:-
-
Workaround Exists:Yes
-
Workaround Description:JDK 1.5 can be used to void the colour space issue.
Description
The image at the top of the PDF is showing as blue instead of the correct color yellow. I also see the following exception but unsure whether it is relevant:
FINE: Could not create instance oof font file 1
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.icepdf.core.pobjects.fonts.FontFactory.createFontFile(FontFactory.java:166)
at org.icepdf.core.pobjects.fonts.FontDescriptor.init(FontDescriptor.java:322)
at org.icepdf.core.pobjects.fonts.nfont.Font.init(Unknown Source)
at org.icepdf.core.pobjects.Resources.getFont(Resources.java:240)
at org.icepdf.core.util.ContentParser.consume_Tf(ContentParser.java:2056)
at org.icepdf.core.util.ContentParser.parseText(ContentParser.java:1175)
........
........
Caused by: java.lang.IllegalStateException
at org.icepdf.core.pobjects.fonts.nfont.NFontType1.readDICT(Unknown Source)
Screenshots and PDF attached.
FINE: Could not create instance oof font file 1
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.icepdf.core.pobjects.fonts.FontFactory.createFontFile(FontFactory.java:166)
at org.icepdf.core.pobjects.fonts.FontDescriptor.init(FontDescriptor.java:322)
at org.icepdf.core.pobjects.fonts.nfont.Font.init(Unknown Source)
at org.icepdf.core.pobjects.Resources.getFont(Resources.java:240)
at org.icepdf.core.util.ContentParser.consume_Tf(ContentParser.java:2056)
at org.icepdf.core.util.ContentParser.parseText(ContentParser.java:1175)
........
........
Caused by: java.lang.IllegalStateException
at org.icepdf.core.pobjects.fonts.nfont.NFontType1.readDICT(Unknown Source)
Screenshots and PDF attached.
Issue Links
- depends on
-
PDF-276 JPEGDecoder class behaviour has changed in JDK 1.6
- Closed
Activity
Tyler Johnson
created issue -
Tyler Johnson
made changes -
Field | Original Value | New Value |
---|---|---|
Attachment | PDF-308_screen.jpg [ 13315 ] |
Tyler Johnson
made changes -
Attachment | 10231.pdf [ 13316 ] |
Tyler Johnson
made changes -
Salesforce Case | [5007000000GwknK] |
Patrick Corless
made changes -
Patrick Corless
made changes -
Workaround Description | JDK 1.5 can be used to void the colour space issue. | |
Workaround Exists | [Yes] |
Patrick Corless
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Patrick Corless
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Note from the customer:
I believe the issue is related to the fact that the images in the PDF are in the DeviceCMYK colorspace. I converted the document to sRGB, and this fixes the incorrect colors in the IcePDF rendered output, but has the negative side effect of degrading the quality of the images/colors. So although this hints at the problem, I don't think that converting the documents to RGB is a suitable workaround for us.
Are there any options in the IcePDF API that might allow for working around this issue? I am calling document.getPageImage(...) to render the page, and then using ImageIO.write(image, "png", outStream), to write the image as a png.