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 2015/02/02 09:23:56 UTC

svn commit: r1656405 - /pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java

Author: tilman
Date: Mon Feb  2 08:23:55 2015
New Revision: 1656405

URL: http://svn.apache.org/r1656405
Log:
PDFBOX-2653: fix bug related to missing DECODE_PARMS

Modified:
    pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java

Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java?rev=1656405&r1=1656404&r2=1656405&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java Mon Feb  2 08:23:55 2015
@@ -70,8 +70,12 @@ public class CCITTFaxDecodeFilter implem
         {
             decodeParms =  (COSDictionary)((COSArray)decodeP).getObject(filterIndex);
         }
-        int cols = decodeParms.getInt(COSName.COLUMNS, 1728);
-        int rows = decodeParms.getInt(COSName.ROWS, 0);
+        int cols = 1728, rows = 0;
+        if (decodeParms != null)
+        {
+            cols = decodeParms.getInt(COSName.COLUMNS, 1728);
+            rows = decodeParms.getInt(COSName.ROWS, 0);
+        }
         int height = options.getInt(COSName.HEIGHT, COSName.H, 0);
         if (rows > 0 && height > 0)
         {
@@ -83,8 +87,15 @@ public class CCITTFaxDecodeFilter implem
             // at least one of the values has to have a valid value
             rows = Math.max(rows, height);
         }
-        int k = decodeParms.getInt(COSName.K, 0);
-        boolean encodedByteAlign = decodeParms.getBoolean(COSName.ENCODED_BYTE_ALIGN, false);        
+        int k = 0;
+        boolean encodedByteAlign = false;
+        boolean blackIsOne = false;
+        if (decodeParms != null)
+        {
+            k = decodeParms.getInt(COSName.K, 0);
+            encodedByteAlign = decodeParms.getBoolean(COSName.ENCODED_BYTE_ALIGN, false);        
+            blackIsOne = decodeParms.getBoolean(COSName.BLACK_IS_1, false);
+        }
         int arraySize = (cols + 7) / 8 * rows;
         TIFFFaxDecoder faxDecoder = new TIFFFaxDecoder(1, cols, rows);
         // TODO possible options??
@@ -111,7 +122,6 @@ public class CCITTFaxDecodeFilter implem
         }
 
         // invert bitmap
-        boolean blackIsOne = decodeParms.getBoolean(COSName.BLACK_IS_1, false);
         if (!blackIsOne)
         {
             // Inverting the bitmap