У меня есть PDF с акроформой. Я использую iText, чтобы открыть этот PDF-файл и заполнить поля формы некоторыми данными. Иногда мне нужно сгенерировать больше страниц, чем в оригинальном PDF. Для этого я создаю одну страницу и заменяю ее существующей, используя этот код:
OutputStream output = new FileOutputStream("C:\\newFile.pdf");
PdfStamper stamper = PdfHelper.openPdfStamper("C:\\template.pdf", output);
stamper.insertPage(NEW_PAGE_NUMBER, new Rectangle(0,0));
stamper.replacePage(stamper.getReader(), EXISTING_PAGE_NUMBER, NEW_PAGE_NUMBER);
При этом поля существующей страницы не копируются на новую страницу.
Это хороший способ добавить новую страницу? (новая страница должна совпадать с существующей)
Как скопировать поля формы на новую страницу? Как изменить имя нового поля формы, чтобы не было дублированных полей?
РЕДАКТИРОВАНИЕ: На странице, которую я хочу скопировать, есть таблица. Но в этой таблице всего десять строк. Если пользователь вводит более десяти элементов, я хочу заполнить всю таблицу и создать новую страницу для заполнения другими элементами.
Теперь я делаю несколько копий этой страницы, чтобы избежать этого переполнения. Но я не думаю, что это элегантное решение, и оно не работает для очень больших входов.