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/05 20:49:42 UTC

svn commit: r1874854 - /pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java

Author: tilman
Date: Thu Mar  5 20:49:42 2020
New Revision: 1874854

URL: http://svn.apache.org/viewvc?rev=1874854&view=rev
Log:
PDFBOX-4794: avoid NPE

Modified:
    pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java

Modified: pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java?rev=1874854&r1=1874853&r2=1874854&view=diff
==============================================================================
--- pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java (original)
+++ pdfbox/branches/2.0/tools/src/main/java/org/apache/pdfbox/tools/ExtractImages.java Thu Mar  5 20:49:42 2020
@@ -45,6 +45,7 @@ import org.apache.pdfbox.pdmodel.graphic
 import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
 import org.apache.pdfbox.pdmodel.graphics.pattern.PDAbstractPattern;
 import org.apache.pdfbox.pdmodel.graphics.pattern.PDTilingPattern;
+import org.apache.pdfbox.pdmodel.graphics.state.PDExtendedGraphicsState;
 import org.apache.pdfbox.pdmodel.graphics.state.PDSoftMask;
 import org.apache.pdfbox.pdmodel.graphics.state.RenderingMode;
 import org.apache.pdfbox.tools.imageio.ImageIOUtil;
@@ -213,7 +214,13 @@ public final class ExtractImages
             }
             for (COSName name : res.getExtGStateNames())
             {
-                PDSoftMask softMask = res.getExtGState(name).getSoftMask();
+                PDExtendedGraphicsState extGState = res.getExtGState(name);
+                if (extGState == null)
+                {
+                    // can happen if key exists but no value 
+                    continue;
+                }
+                PDSoftMask softMask = extGState.getSoftMask();
                 if (softMask != null)
                 {
                     PDTransparencyGroup group = softMask.getGroup();