我正在使用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:它有效,但这真的是解决方案吗?
谢谢你的帮助。