我制作了单页pdf模板文件。然后我使用pdfbox创建一个页数为“n”的pdf(取决于报告大小)。我希望这些页面中的所有“n”都是模板pdf文件中的页面。将所有“n”页面作为该页面的副本的最佳方法是什么?这是我目前的代码:
PDDocument document = null;
try {
document = PDDocument.load(WestfieldClientReportApp.class.getResource("/com/dramble/resources/template.pdf"));
} catch (IOException ex) {
Logger.getLogger(WestfieldClientReportView.class.getName()).log(Level.SEVERE, null, ex);
}
PDPage templatepage = (PDPage) document.getDocumentCatalog().getAllPages().get(0);
int n = 0;
while (n < numPages) {
n++;
document.importPage(templatepage);
}
问题是我有大量的结果集。我将打开pdf,它将显示为11页,前2页看起来很棒,但是当我滚动到第3页,Acrobat错误,虽然模板页面似乎在那里,但没有我的报告数据。我认为问题可能与上面的代码有关。有任何想法吗?感谢。
答案 0 :(得分:0)
可能是因为当你从列表中明确地转换为PDPage时,它会删除它的acrofields。
答案 1 :(得分:0)
您的代码似乎没有保存结果。你呢?
以下my answer to a similar scenario可能会对您有所帮助。