我有一个 PDF 文档,其中通常每个页面都标有页脚,页码前面是页面应该所在的章节或章节的名称。但是,偶尔,我会得到一些跨越页数。
我需要维护它们所在的当前部分的页脚印记,但由于大表运行在多个页面上,这些页面被前面部分的页脚印记加盖,而显示表格的最后一页得到当前部分页脚印章。
如果有人能想出一个解决方案来为当前部分设置和维护章节/部分页脚印章,那就太好了。
* 附加 * 这是 onEndPage 覆盖的代码。
public override void OnEndPage(PdfWriter writer, Document document)
{
base.OnEndPage(writer, document);
if ((pagenumber - 1) >= 1)
{
String text = footer + pagenumber.ToString();
float len = bf.GetWidthPoint(text, 8);
Rectangle pageSize = document.PageSize;
cb.SetRGBColorFill(100, 100, 100);
cb.BeginText();
cb.SetFontAndSize(bf, 8);
cb.SetTextMatrix(pageSize.GetRight(100), pageSize.GetBottom(20));
cb.ShowText(text);
cb.EndText();
if (this.currentChapter > this.totalChapters)
{
pagenumber = 0;
}
else
{
pagenumber++;
}
}
else
{
pagenumber++;
}
}
我跳过为文档添加页眉和页脚信息,因为我有一个封面。由于各个部分是不同的信息,因此我根据各个领域将它们分解为章节和小节。此外,用户可以选择一次打印从数据库信息生成的多个 PDF。在每一章的开头,我使用以下命令设置页脚文本:
this.PageEventHandler.footer = "(Part 1) - Page: ";
或者至少我正在努力。在做第二部分(就业历史)时,如果一个人在他们的就业历史中经常在各个部门之间交换,他们可以建立一个相当多的记录,并且它会溢出到好几页上。