Author: tilman
Date: Sun Oct 22 12:16:58 2023
New Revision: 1913200

URL: http://svn.apache.org/viewvc?rev=1913200&view=rev
Log:
PDFBOX-5706: use the last app14Adobe entry, as done by Harald Kuhr in 
twelvemonkeys

Modified:
    
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/DCTFilter.java

Modified: 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/DCTFilter.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/DCTFilter.java?rev=1913200&r1=1913199&r2=1913200&view=diff
==============================================================================
--- 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/DCTFilter.java
 (original)
+++ 
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/DCTFilter.java
 Sun Oct 22 12:16:58 2023
@@ -193,10 +193,18 @@ final class DCTFilter extends Filter
         Element tree = 
(Element)metadata.getAsTree("javax_imageio_jpeg_image_1.0");
         Element markerSequence = 
(Element)tree.getElementsByTagName("markerSequence").item(0);
         NodeList app14AdobeNodeList = 
markerSequence.getElementsByTagName("app14Adobe");
-        if (app14AdobeNodeList != null && app14AdobeNodeList.getLength() > 0)
+        if (app14AdobeNodeList != null)
         {
-            Element adobe = (Element) app14AdobeNodeList.item(0);
-            return Integer.parseInt(adobe.getAttribute("transform"));
+            int app14AdobeNodeListLength = app14AdobeNodeList.getLength();
+            if (app14AdobeNodeListLength > 0)
+            {
+                if (app14AdobeNodeListLength > 1)
+                {
+                    LOG.warn("app14Adobe entry appears several times, using 
the last one");
+                }
+                Element adobe = (Element) 
app14AdobeNodeList.item(app14AdobeNodeListLength - 1);
+                return Integer.valueOf(adobe.getAttribute("transform"));
+            }
         }
 
         // PDFBOX-5488: plan B: use ColorSpaceType from the other metadata 
tree.


Reply via email to