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 2018/04/19 17:42:37 UTC
svn commit: r1829579 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
Author: tilman
Date: Thu Apr 19 17:42:37 2018
New Revision: 1829579
URL: http://svn.apache.org/viewvc?rev=1829579&view=rev
Log:
PDFBOX-4071: add comment
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java?rev=1829579&r1=1829578&r2=1829579&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java Thu Apr 19 17:42:37 2018
@@ -529,6 +529,24 @@ public class PDFMergerUtility
}
else
{
+// System.out.println(srcNames);
+// System.out.println(srcNames.getDests());
+// System.out.println(srcNames.getDests().getNames());
+// Map<String, PDPageDestination> names1 = srcNames.getDests().getNames();
+// Map<String, PDPageDestination> names2 = destNames.getDests().getNames();
+// if (names1 != null)
+// System.out.println(names1.keySet());
+// else
+// {
+// List<PDNameTreeNode<PDPageDestination>> kids = srcNames.getDests().getKids();
+// for (PDNameTreeNode<PDPageDestination> kid : kids)
+// {
+//
+// System.out.println(kid.getNames().keySet());
+// }
+//
+// }
+// System.out.println(names2.keySet());
cloner.cloneMerge(srcNames, destNames);
}
}
@@ -707,6 +725,8 @@ public class PDFMergerUtility
}
if (mergeStructTree)
{
+ // add the value of the destination ParentTreeNextKey to every source element
+ // StructParent(s) value so that these don't overlap with the existing values
updateStructParentEntries(newPage, destParentTreeNextKey);
objMapping.put(page.getCOSObject(), newPage.getCOSObject());
List<PDAnnotation> oldAnnots = page.getAnnotations();
@@ -981,24 +1001,24 @@ public class PDFMergerUtility
{
parentTreeEntry.setItem(COSName.OBJ, objMapping.get(obj));
}
- else
- {
- // PDFBOX-3999: clone objects that are not in mapping to make sure that
- // these don't remain attached to the source document
- COSBase item = parentTreeEntry.getItem(COSName.OBJ);
- if (item instanceof COSObject)
- {
- LOG.debug("clone potential orphan object in structure tree: " + item +
- ", type: " + ((COSDictionary) obj).getNameAsString(COSName.TYPE));
- }
- else
- {
- // don't display because of stack overflow
- LOG.debug("clone potential orphan object in structure tree, type: " +
- ((COSDictionary) obj).getNameAsString(COSName.TYPE));
- }
- parentTreeEntry.setItem(COSName.OBJ, cloner.cloneForNewDocument(obj));
- }
+// else
+// {
+// // PDFBOX-3999: clone objects that are not in mapping to make sure that
+// // these don't remain attached to the source document
+// COSBase item = parentTreeEntry.getItem(COSName.OBJ);
+// if (item instanceof COSObject)
+// {
+// LOG.warn("clone potential orphan object in structure tree: " + item +
+// ", type: " + ((COSDictionary) obj).getNameAsString(COSName.TYPE));
+// }
+// else
+// {
+// // don't display because of stack overflow
+// LOG.warn("clone potential orphan object in structure tree, type: " +
+// ((COSDictionary) obj).getNameAsString(COSName.TYPE));
+// }
+// parentTreeEntry.setItem(COSName.OBJ, cloner.cloneForNewDocument(obj));
+// }
}
COSBase kSubEntry = parentTreeEntry.getDictionaryObject(COSName.K);
if (kSubEntry instanceof COSArray)