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