Я использую iText 4.2.1 для создания моих отчетов в формате pdf. Итак, у меня есть шаблон PDF, который содержит титульную страницу, конечную страницу и страницу контента (которая просто содержит заголовок изображения).iText - Сохранение pagestamp в PdfCopy
Я использую PdfCopy & PdfImportedPage скопировать мой шаблон и PageStamp добавить мое содержимое динамически.
Нужна: Мне нужно использовать страницу содержания много раз: столько же, сколько содержание страниц в моем отчете.
Проблема: Если я использую pdfCopy.createPageStamp (importedPage) и ColumnText.showTextAligned добавить текст печать сохраняется в течение следующих содержательных страниц. Таким образом, моя страница содержания № 2 содержит текст 1-го (добавленный страницей) и собственный текст (добавленный другим PageStamp).
Вот пример кода:
// Init Document doc = new Document(); PdfCopy pdfCopy = new PdfCopy(doc, new FileOutputStream(new File("Result.pdf"))); doc.open(); PdfReader pdfReader = new PdfReader("pdf-template.pdf"); // Page 1 PdfImportedPage importedPage1= pdfCopy.getImportedPage(pdfReader, 2); String text1= "Text of the first page - 1"; PageStamp stamp1 = pdfCopy.createPageStamp(importedPage1); ColumnText.showTextAligned(stamp.getOverContent(), Element.ALIGN_CENTER, new Phrase(text1), 400, 500, 0); stamp.alterContents(); pdfCopy.addPage(importedPage1); // Page 2 PdfImportedPage importedPage2= pdfCopy.getImportedPage(pdfReader, 2); String text2 = "Text of the second page - 2"; PageStamp stamp2 = pdfCopy.createPageStamp(importedPage2); ColumnText.showTextAligned(stamp2.getOverContent(), Element.ALIGN_CENTER, new Phrase(text2), 200, 700, 0); stamp2.alterContents(); pdfCopy.addPage(importedPage2); // Closing doc.close();
-> На 2-й странице я буду видеть мой text1 и мой text2
Я попытался использовать один и тот же PdfImportedPage: тот же результат.
Я попытался использовать тот же самый PageStamp: тот же результат.
Я пробовал использовать различные PdfReader: он работает, но это действительно решение?
Благодарим за помощь.
Нет такой вещи, как iText 4.2.1. Читайте о [этой версии изгоев] (http://itextpdf.com/maven-update-problem-with-itext-4.2.2), и вы поймете, что никто не знает, что находится внутри iText 4.2.1. Это неофициальная версия, не одобренная никем. Я не думаю, что кто-нибудь поможет вам, пока вы используете версию старше iText 5. –
Вам следует получить поддержку от компании, которая создала эту вилку. Проблема в том, что компании больше не существует. Или спросите разработчика, который разветвил, ymasory. Проблема в том, что они, вероятно, не заинтересованы. –
@GuillaumeB Отвечает ли мой ответ на ваш вопрос? – mkl