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/05/20 20:42:07 UTC
svn commit: r1680651 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
Author: tilman
Date: Wed May 20 18:42:06 2015
New Revision: 1680651
URL: http://svn.apache.org/r1680651
Log:
PDFBOX-2808: add each outline item individually when merging
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=1680651&r1=1680650&r2=1680651&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 Wed May 20 18:42:06 2015
@@ -350,11 +350,15 @@ public class PDFMergerUtility
}
else
{
- PDOutlineItem first = srcOutline.getFirstChild();
- if (first != null)
+ for (PDOutlineItem item : srcOutline.children())
{
- PDOutlineItem clonedFirst = new PDOutlineItem((COSDictionary) cloner.cloneForNewDocument(first));
- destOutline.addLast(clonedFirst);
+ // get each child, clone its dictionary, remove siblings info,
+ // append outline item created from there
+ COSDictionary clonedDict = (COSDictionary) cloner.cloneForNewDocument(item);
+ clonedDict.removeItem(COSName.PREV);
+ clonedDict.removeItem(COSName.NEXT);
+ PDOutlineItem clonedItem = new PDOutlineItem(clonedDict);
+ destOutline.addLast(clonedItem);
}
}
}