Java pdfBox: заполните форму pdf, добавьте ее в pddocument и повторите
Я сделал PDF-форму, и я пытаюсь использовать pdfBox, чтобы заполнить форму и распечатать документ. У меня это отлично работает для 1-страничных заданий печати, но мне пришлось попробовать и изменить для нескольких страниц По сути это форма с базовой информацией и списком содержимого. Хорошо, если содержание больше, чем то, что в форме есть место, я должен сделать его многостраничным документом. Я получаю документ с хорошей страницей, а затем все остальные страницы являются пустым шаблоном. Что я делаю неправильно?
PDDocument finalDoc = new PDDocument();
File template = new File("path/to/template.pdf");
//Declare basic info to be put on every page
String name = "John Smith";
String phoneNum = "555-555-5555";
//Get list of contents for each page
List<List<Map<String, String>>> pageContents = methodThatReturnsMyInfo();
for (List<Map<String, String>> content : pageContents) {
PDDocument doc = new PDDocument().load(template);
PDDocumentCatlog docCatalog = doc.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
acroForm.getField("name").setValue(name);
acroForm.getField("phoneNum").setValue(phoneNum);
for (int i=0; i<content.size(); i++) {
acroForm.getField("qty"+i).setValue(content.get(i).get("qty"));
acroForm.getField("desc"+i).setValue(content.get(i).get("desc"));
}
List<PDPage> pages = docCatalog.getAllPages();
finalDoc.addPage(pages.get(0));
}
//Then prints/saves finalDoc