Author: lehmi
Date: Mon Sep 26 05:32:57 2022
New Revision: 1904257
URL: http://svn.apache.org/viewvc?rev=1904257&view=rev
Log:
PDFBOX-5489: don't copy parent reference, avoid NoSuchElementException
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
URL:
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java?rev=1904257&r1=1904256&r2=1904257&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
(original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
Mon Sep 26 05:32:57 2022
@@ -685,6 +685,7 @@ public class PDDocument implements Close
public PDPage importPage(PDPage page) throws IOException
{
PDPage importedPage = new PDPage(new
COSDictionary(page.getCOSObject()), resourceCache);
+ importedPage.getCOSObject().removeItem(COSName.PARENT);
PDStream dest = new PDStream(this, page.getContents(),
COSName.FLATE_DECODE);
importedPage.setContents(dest);
addPage(importedPage);
@@ -710,7 +711,7 @@ public class PDDocument implements Close
List<COSObjectKey> indirectObjectKeys = new ArrayList<>();
importedPage.getCOSObject().getIndirectObjectKeys(indirectObjectKeys);
long highestImportedNumber =
indirectObjectKeys.stream().map(COSObjectKey::getNumber)
- .max(Long::compare).get();
+ .max(Long::compare).orElse(0L);
long highestXRefObjectNumber =
getDocument().getHighestXRefObjectNumber();
getDocument().setHighestXRefObjectNumber(
Math.max(highestXRefObjectNumber, highestImportedNumber));