Author: jahewson Date: Tue Nov 4 17:24:30 2014 New Revision: 1636655 URL: http://svn.apache.org/r1636655 Log: PDFBOX-2479: Fallback to getting the ICC color space type from the alternate
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java?rev=1636655&r1=1636654&r2=1636655&view=diff ============================================================================== --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java Tue Nov 4 17:24:30 2014 @@ -293,7 +293,31 @@ public final class PDICCBased extends PD */ public int getColorSpaceType() { - return iccProfile.getColorSpaceType(); + if (iccProfile != null) + { + return iccProfile.getColorSpaceType(); + } + else + { + // if the ICC Profile could not be read + if (alternateColorSpace.getNumberOfComponents() == 1) + { + return ICC_ColorSpace.TYPE_GRAY; + } + else if (alternateColorSpace.getNumberOfComponents() == 3) + { + return ICC_ColorSpace.TYPE_RGB; + } + else if (alternateColorSpace.getNumberOfComponents() == 4) + { + return ICC_ColorSpace.TYPE_CMYK; + } + else + { + // should not happen as all ICC color spaces in PDF must have 1,3, or 4 components + return -1; + } + } } /**