Author: tilman
Date: Tue Oct 29 16:02:00 2024
New Revision: 1921648
URL: http://svn.apache.org/viewvc?rev=1921648&view=rev
Log:
PDFBOX-5892: add check that /P points to the correct parent
Modified:
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFMergerUtilityTest.java
Modified:
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFMergerUtilityTest.java
URL:
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFMergerUtilityTest.java?rev=1921648&r1=1921647&r2=1921648&view=diff
==============================================================================
---
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFMergerUtilityTest.java
(original)
+++
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFMergerUtilityTest.java
Tue Oct 29 16:02:00 2024
@@ -44,6 +44,7 @@ import org.apache.pdfbox.pdmodel.common.
import org.apache.pdfbox.pdmodel.common.PDNameTreeNode;
import org.apache.pdfbox.pdmodel.common.PDNumberTreeNode;
import
org.apache.pdfbox.pdmodel.documentinterchange.logicalstructure.PDStructureElement;
+import
org.apache.pdfbox.pdmodel.documentinterchange.logicalstructure.PDStructureNode;
import
org.apache.pdfbox.pdmodel.documentinterchange.logicalstructure.PDStructureTreeRoot;
import org.apache.pdfbox.pdmodel.interactive.action.PDActionGoTo;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotation;
@@ -884,6 +885,17 @@ class PDFMergerUtilityTest
if (kdict.containsKey(COSName.K))
{
checkElement(pageTree, kdict.getDictionaryObject(COSName.K));
+
+ // Check that the /P entry points to the correct object
+ PDStructureNode node = PDStructureNode.create(kdict);
+ for (Object obj : node.getKids())
+ {
+ if (obj instanceof PDStructureElement)
+ {
+ PDStructureNode parent = ((PDStructureElement)
obj).getParent();
+ assertTrue(parent.getCOSObject() == kdict);
+ }
+ }
return;
}