Страница в PDF имеет много связей с другими объектами в PDF.
Если бы вы могли добавить страницу, расположенную в одном документе, в другой, эта страница находилась бы в обоих документах.Таким образом, страница внезапно должна будет иметь все эти отношения к объектам в обоих документах.Это, очевидно, не работает, поэтому iText предотвращает это.
Вместо этого вам нужно создать копию рассматриваемой страницы (страниц), для которой отношения переключаются на документы в целевом документе.
Для этой задачи существует несколько перегрузок метода PdfDocument.copyPagesTo
.Таким образом, эти методы действительно используются.
К сожалению, вы ошиблись в источнике и цели операции:
PdfDocument pdfWithMultiplePages = here I have a PDF with 3 pages.
....
PdfDocument pdfDocument = new PdfDocument(pdfWriter);
pdfDocument.copyPagesTo(i+1, i+1,pdfWithMultiplePages);
При попытке скопировать страницу i+1
из pdfDocument
в pdfWithMultiplePages
.Но вы только что создали pdfDocument
с нуля, поэтому у него еще нет страниц.То, что вы, скорее всего, хотите, это:
pdfWithMultiplePages.copyPagesTo(i+1, i+1, pdfDocument);