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 2019/01/01 10:07:35 UTC
svn commit: r1850082 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
Author: tilman
Date: Tue Jan 1 10:07:34 2019
New Revision: 1850082
URL: http://svn.apache.org/viewvc?rev=1850082&view=rev
Log:
PDFBOX-4419: merge MarkInfo
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=1850082&r1=1850081&r2=1850082&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 Tue Jan 1 10:07:34 2019
@@ -697,9 +697,7 @@ public class PDFMergerUtility
int destParentTreeNextKey = -1;
Map<Integer, COSObjectable> srcNumberTreeAsMap = null;
Map<Integer, COSObjectable> destNumberTreeAsMap = null;
- PDMarkInfo destMark = destCatalog.getMarkInfo();
PDStructureTreeRoot destStructTree = destCatalog.getStructureTreeRoot();
- PDMarkInfo srcMark = srcCatalog.getMarkInfo();
PDStructureTreeRoot srcStructTree = srcCatalog.getStructureTreeRoot();
if (destStructTree != null)
{
@@ -805,7 +803,26 @@ public class PDFMergerUtility
mergeKEntries(cloner, srcStructTree, destStructTree);
mergeRoleMap(srcStructTree, destStructTree);
mergeIDTree(cloner, srcStructTree, destStructTree);
+ mergeMarkInfo(destCatalog, srcCatalog);
+ }
+ }
+
+ private void mergeMarkInfo(PDDocumentCatalog destCatalog, PDDocumentCatalog srcCatalog)
+ {
+ PDMarkInfo destMark = destCatalog.getMarkInfo();
+ PDMarkInfo srcMark = srcCatalog.getMarkInfo();
+ if (destMark == null)
+ {
+ destMark = new PDMarkInfo();
+ }
+ if (srcMark == null)
+ {
+ srcMark = new PDMarkInfo();
}
+ destMark.setMarked(true);
+ destMark.setSuspect(srcMark.isSuspect() || destMark.isSuspect());
+ destMark.setSuspect(srcMark.usesUserProperties() || destMark.usesUserProperties());
+ destCatalog.setMarkInfo(destMark);
}
private void mergeKEntries(PDFCloneUtility cloner,