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;
+            }
+        }
     }
 
     /**


Reply via email to