我正在使用iText 4.2.1 来生成我的 pdf 报告。所以基本上我有一个 PDF 模板,其中包含封面页、结束页和内容页(仅包含图像标题)。
我正在使用PdfCopy和PdfImportedPage来复制我的模板和PageStamp来动态添加我的内容。
需要:我需要多次使用内容页面:与我报告中的内容页面一样多。
问题:如果我使用pdfCopy.createPageStamp(importedPage)和ColumnText.showTextAligned添加一些文本,则戳记会保留在下一个内容页面上。因此,我的内容页面 n°2 包含第一个的文本(由 PageStamp 添加)和它自己的文本(由另一个 PageStamp 添加)。
这是一个代码示例:
// 在里面 文档文档 = 新文档(); PdfCopy pdfCopy = new PdfCopy( doc, new FileOutputStream( new File("Result.pdf") ) ); doc.open(); PdfReader pdfReader = new PdfReader("pdf-template.pdf"); // 第 1 页 PdfImportedPage importPage1= pdfCopy.getImportedPage(pdfReader, 2); String text1= "第一页的文字 - 1"; PageStamp stamp1 = pdfCopy.createPageStamp(importedPage1); ColumnText.showTextAligned(stamp.getOverContent(), Element.ALIGN_CENTER, 新短语(文本 1)、400、500、0); stamp.alterContents(); pdfCopy.addPage(importedPage1); // 第2页 PdfImportedPage importPage2= pdfCopy.getImportedPage(pdfReader, 2); String text2 = "第二页的文字 - 2"; PageStamp stamp2 = pdfCopy.createPageStamp(importedPage2); ColumnText.showTextAligned( stamp2.getOverContent(), Element.ALIGN_CENTER, 新短语(文本 2)、200、700、0); stamp2.alterContents(); pdfCopy.addPage(importedPage2); // 关闭 doc.close();
--> 在第二页我会看到我的 text1 和我的 text2
我尝试使用相同的 PdfImportedPage: 相同的结果。
我尝试使用相同的 PageStamp:相同的结果。
我尝试使用不同的 PdfReader:它有效,但这真的是解决方案吗?
谢谢你的帮助。