Tôi có một mẫu pdf được thực hiện và tôi đang cố gắng sử dụng pdfBox để điền vào mẫu và in tài liệu. Tôi nhận được nó làm việc tuyệt vời cho 1 công việc in trang nhưng tôi đã phải cố gắng và sửa đổi cho nhiều trang. Về cơ bản nó là một hình thức với thông tin cơ bản lên trên và một danh sách các nội dung. Vâng, nếu các nội dung lớn hơn những gì các hình thức có chỗ cho tôi phải làm cho nó một tài liệu nhiều trang. Tôi kết thúc với một tài liệu với một trang đẹp và sau đó tất cả các trang còn lại là mẫu trống. Tôi đang làm gì sai?Java pdfBox: Điền vào mẫu pdf, thêm nó vào pddocument, và lặp lại
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