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 2025/05/17 09:20:54 UTC

svn commit: r1925609 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/Splitter.java

Author: tilman
Date: Sat May 17 09:20:54 2025
New Revision: 1925609

URL: http://svn.apache.org/viewvc?rev=1925609&view=rev
Log:
PDFBOX-6009: refactor

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/Splitter.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/Splitter.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/Splitter.java?rev=1925609&r1=1925608&r2=1925609&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/Splitter.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/Splitter.java Sat May 17 09:20:54 2025
@@ -426,24 +426,7 @@ public class Splitter
                 else
                 {
                     // PDFBOX-6009: quit if MCIDs because these need a /Pg entry
-                    boolean hasMCIDs = false;
-                    if (kid instanceof COSInteger)
-                    {
-                        hasMCIDs = true;
-                    }
-                    else if (kid instanceof COSArray)
-                    {
-                        COSArray ar = (COSArray) kid;
-                        for (int i = 0; i < ar.size(); ++i)
-                        {
-                            if (ar.getObject(i) instanceof COSInteger)
-                            {
-                                hasMCIDs = true;
-                                break;
-                            }
-                        }
-                    }
-                    if (hasMCIDs)
+                    if (hasMCIDs(kid))
                     {
                         return null;
                     }
@@ -519,6 +502,26 @@ public class Splitter
             return dstDict;
         }
 
+        private boolean hasMCIDs(COSBase kid)
+        {
+            if (kid instanceof COSInteger)
+            {
+                return true;
+            }
+            if (kid instanceof COSArray)
+            {
+                COSArray ar = (COSArray) kid;
+                for (int i = 0; i < ar.size(); ++i)
+                {
+                    if (ar.getObject(i) instanceof COSInteger)
+                    {
+                        return true;
+                    }
+                }
+            }
+            return false;
+        }
+
         private void removePossibleOrphanAnnotation(COSDictionary srcObj, COSDictionary srcDict,
                 COSDictionary currentPageDict, COSDictionary dstDict)
         {