You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2020/03/20 10:47:27 UTC
svn commit: r1875462 -
/pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
Author: tilman
Date: Fri Mar 20 10:47:27 2020
New Revision: 1875462
URL: http://svn.apache.org/viewvc?rev=1875462&view=rev
Log:
PDFBOX-4801: correct numberOfComponents if /N is incorrect
Modified:
pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
Modified: pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java?rev=1875462&r1=1875461&r2=1875462&view=diff
==============================================================================
--- pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java (original)
+++ pdfbox/branches/issue45/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/color/PDICCBased.java Fri Mar 20 10:47:27 2020
@@ -385,6 +385,18 @@ public final class PDICCBased extends PD
if (numberOfComponents < 0)
{
numberOfComponents = stream.getCOSObject().getInt(COSName.N);
+
+ // PDFBOX-4801 correct wrong /N values
+ if (iccProfile != null)
+ {
+ int numIccComponents = iccProfile.getNumComponents();
+ if (numIccComponents != numberOfComponents)
+ {
+ LOG.warn("Using " + numIccComponents + " components from ICC profile info instead of " +
+ numberOfComponents + " components from /N entry");
+ numberOfComponents = numIccComponents;
+ }
+ }
}
return numberOfComponents;
}