Author: lehmi
Date: Sun May 13 13:55:11 2012
New Revision: 1337885

URL: http://svn.apache.org/viewvc?rev=1337885&view=rev
Log:
PDFBOX-457: use the correct index to get the decode parameter from the COSArray

Modified:
    
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java
    
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDCcitt.java

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java?rev=1337885&r1=1337884&r2=1337885&view=diff
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java
 (original)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java
 Sun May 13 13:55:11 2012
@@ -67,7 +67,7 @@ public class CCITTFaxDecodeFilter implem
         }
         else if (decodeP instanceof COSArray)
         {
-            decodeParms =  (COSDictionary)((COSArray)decodeP).get(0);
+            decodeParms =  (COSDictionary)((COSArray)decodeP).get(filterIndex);
         }
         int length = options.getInt(COSName.LENGTH, -1);
         byte[] compressed = null;

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDCcitt.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDCcitt.java?rev=1337885&r1=1337884&r2=1337885&view=diff
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDCcitt.java
 (original)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDCcitt.java
 Sun May 13 13:55:11 2012
@@ -113,7 +113,23 @@ public class PDCcitt extends PDXObjectIm
         }
         else if (decodeP instanceof COSArray)
         {
-            decodeParms =  (COSDictionary)((COSArray)decodeP).get(0);
+            int index = 0;
+            // determine the index for the CCITT-filter
+            COSBase filters = stream.getFilters();
+            if (filters instanceof COSArray) 
+            {
+                COSArray filterArray = (COSArray)filters;
+                while (index < filterArray.size())
+                {
+                    COSName filtername = (COSName)filterArray.get(index);
+                    if (COSName.CCITTFAX_DECODE.equals(filtername))
+                    {
+                        break;
+                    }
+                    index++;
+                }
+            }
+            decodeParms =  (COSDictionary)((COSArray)decodeP).get(index);
         }
         int cols = decodeParms.getInt(COSName.COLUMNS, 1728);
         int rows = decodeParms.getInt(COSName.ROWS, 0);


Reply via email to