Skip to content

Commit 6211400

Browse files
committed
PDFBOX-6067: include case where /Pg is in a kid
git-svn-id: https://svn.apache.org/repos/asf/pdfbox/trunk@1928394 13f79535-47bb-0310-9956-ffa450edef68
1 parent d81d352 commit 6211400

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

pdfbox/src/test/java/org/apache/pdfbox/multipdf/PDFMergerUtilityTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -962,6 +962,27 @@ else if (base instanceof COSDictionary)
962962
++cnt;
963963
set.add(kdict);
964964
}
965+
else if (kdict.containsKey(COSName.K))
966+
{
967+
// at least 1 kid with dict with /Pg and /MCR
968+
// happens with confidential file from PDFBOX-6009
969+
COSArray kidArray = kdict.getCOSArray(COSName.K);
970+
if (kidArray != null)
971+
{
972+
for (int i = 0; i < kidArray.size(); ++i)
973+
{
974+
COSBase base2 = kidArray.getObject(i);
975+
if (base2 instanceof COSDictionary &&
976+
((COSDictionary) base2).containsKey(COSName.PG) &&
977+
((COSDictionary) base2).containsKey(COSName.MCID))
978+
{
979+
++cnt;
980+
set.add(kdict);
981+
break;
982+
}
983+
}
984+
}
985+
}
965986
if (kdict.containsKey(COSName.K))
966987
{
967988
walk(kdict.getDictionaryObject(COSName.K));

0 commit comments

Comments
 (0)