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 2014/09/19 16:41:38 UTC

[jira] [Closed] (PDFBOX-2267) IOException and partial rendering and colorspace creation error

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

Andreas Lehmkühler closed PDFBOX-2267.
--------------------------------------

> IOException and partial rendering and colorspace creation error
> ---------------------------------------------------------------
>
>                 Key: PDFBOX-2267
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2267
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Parsing, Rendering
>    Affects Versions: 1.8.6, 1.8.7, 2.0.0
>            Reporter: Tilman Hausherr
>            Assignee: Tilman Hausherr
>             Fix For: 1.8.7, 2.0.0
>
>         Attachments: PDFBOX-2265-igalia.pdf
>
>
> I get this exception with the attached PDF, and the upper arc of the image is not rendered:
> {code}
> java.io.IOException: Unknown colorspace type:COSDictionary{(COSName{BlackPoint}:COSArray{[COSFloat{0.0}, COSFloat{0.0}, COSFloat{0.0}]}) (COSName{Range}:COSArray{[COSFloat{-128.0}, COSFloat{127.0}, COSFloat{-128.0}, COSFloat{127.0}]}) (COSName{WhitePoint}:COSArray{[COSFloat{0.964203}, COSFloat{1.0}, COSFloat{0.824905}]}) }
> 	at org.apache.pdfbox.pdmodel.graphics.color.PDColorSpaceFactory.createColorSpace(PDColorSpaceFactory.java:159)
> 	at org.apache.pdfbox.pdmodel.graphics.color.PDColorSpaceFactory.createColorSpace(PDColorSpaceFactory.java:78)
> 	at org.apache.pdfbox.pdmodel.graphics.color.PDColorSpaceFactory.createColorSpace(PDColorSpaceFactory.java:62)
> 	at org.apache.pdfbox.pdmodel.graphics.color.PDICCBased.getAlternateColorSpaces(PDICCBased.java:291)
> 	at org.apache.pdfbox.pdmodel.graphics.color.PDICCBased.createColorSpace(PDICCBased.java:154)
> 	at org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace.getJavaColorSpace(PDColorSpace.java:85)
> 	at org.apache.pdfbox.pdmodel.graphics.color.PDDeviceN.createColorSpace(PDDeviceN.java:124)
> 	at org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace.getJavaColorSpace(PDColorSpace.java:85)
> {code}
> There are several causes: (1) in PDICCBased.createColorSpace() the variable numberOfComponents is -1; (2) the exception is not caught correctly. Both are fixed in the 2.0 version but not in the 1.8 version. Because the exception isn't caught correctly, the alternate color space is to be used. (3) The implementation of getAlternateColorSpaces() (that part existed before it became an apache project) thinks that this is an array of colorspaces.This
> {code}
> [/Lab<</BlackPoint[0.0 0.0 0.0]/Range[-128.0 127.0 -128.0 127.0]/WhitePoint[0.964203 1.0 0.824905]>>]
> {code}
> is considered an array of two colorspaces. This is contrary to the spec, which mentions "An alternate colour space". I will fix the bug without changing the API in 1.8, but will change the API in 2.0, which will be
> {code}
> public PDColorSpace getAlternateColorSpace() throws IOException
> {code}
> instead of
> {code}
> public List<PDColorSpace> getAlternateColorSpaces() throws IOException
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)