Насколько я знаю, PDF-файлы поддерживают ссылки на объекты. Так, например, если я использую одно и то же изображение 100 раз в документе - его можно оптимизировать для использования одного и того же изображения в каждом месте, что значительно снижает размер PDF.Вставка нескольких копий страницы в PDF
Поддерживает ли PDF то же самое с полными страницами данных? Если да, как я могу это сделать с помощью библиотеки iText?
Моя проблема заключается в том, что у меня есть огромный документ размером ~ 500 страниц, и каждые 2-3 страницы мне нужно вставить ту же страницу шаблона, которая читается из другого документа PDF. Код выглядит это нравится:
protected static void addAppendix(PdfWriter writer, Document document, InputStream appendixStream)
throws IOException {
PdfContentByte cb = writer.getDirectContent();
PdfReader reader = new PdfReader(appendixStream);
for (int idx = 1; idx <= reader.getNumberOfPages(); ++idx) {
document.newPage();
PdfImportedPage imported = writer.getImportedPage(reader, idx);
cb.addTemplate(imported, 0, 0);
}
writer.freeReader();
}
Однако это увеличивает размер PDF значительно, особенно если приложение содержит некоторые большие изображения и прочее. Есть ли способ как-то оптимизировать размер моего документа?
Спасибо, я попробую это и посмотрю, не имеет ли значения размер. – bezmax