Author: tilman
Date: Tue Oct  8 09:40:34 2024
New Revision: 1921186

URL: http://svn.apache.org/viewvc?rev=1921186&view=rev
Log:
PDFBOX-5882: add warning if component count doesn't match colorspace

Modified:
    
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColor.java

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColor.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColor.java?rev=1921186&r1=1921185&r2=1921186&view=diff
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColor.java
 (original)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDColor.java
 Tue Oct  8 09:40:34 2024
@@ -104,6 +104,13 @@ public final class PDColor
         this.components = components.clone();
         this.patternName = null;
         this.colorSpace = colorSpace;
+        if (colorSpace != null && colorSpace.getNumberOfComponents() != 
components.length)
+        {
+            // PDFBOX-5882
+            LOG.warn("Colorspace component count {} doesn't match components 
length {}",
+                    colorSpace.getNumberOfComponents(),
+                    components.length);
+        }
     }
 
     /**
@@ -129,6 +136,16 @@ public final class PDColor
         this.components = components.clone();
         this.patternName = patternName;
         this.colorSpace = colorSpace;
+        if (colorSpace instanceof PDPattern)
+        {
+            PDColorSpace ucs = ((PDPattern) 
colorSpace).getUnderlyingColorSpace();
+            if (ucs != null && ucs.getNumberOfComponents() != 
components.length)
+            {
+                // PDFBOX-5882
+                LOG.warn("Pattern colorspace component count {} doesn't match 
components length {}",
+                        ucs.getNumberOfComponents(), components.length);
+            }
+        }
     }
 
     /**


Reply via email to