[ https://issues.apache.org/jira/browse/PDFBOX-2267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14093008#comment-14093008 ]
ASF subversion and git services commented on PDFBOX-2267: --------------------------------------------------------- Commit 1617331 from [~tilman] in branch 'pdfbox/trunk' [ https://svn.apache.org/r1617331 ] PDFBOX-2267: treat /Alternate as ONE colorspace > 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.2#6252)