当前位置: 首页 > 知识库问答 >
问题:

itextsharp中的页脚文本和页码

盖玉石
2023-03-14

我有一个PDF文档,通常,每一页都有一个页脚,页脚上有一个页码,前面有该页应该所在的章节或节的名称。但是,偶尔,我会得到一些跨越多个页面的大表结果。

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: ";

或者至少我在努力。当谈到第二部分(就业历史)时,如果一个人在他们的就业历史中被换过很多次,他们可以建立一个相当大的记录,并在几页上溢出。

共有1个答案

时浩波
2023-03-14

其中一种方法是使用pdfpageevents在处理每一页时添加页脚。文档是针对Java版本的,但是您需要重写onendpage方法。

ITextPDF-PDFTageEvent

 类似资料:
  • 我有一个模板分裂成3个文件(头,正文和页脚),所有在HTML。我需要导出一个pdf文件,使用 itextsharp lib。 我使用折叠代码来实现这一点。

  • 问题内容: 我真的不喜欢在每个控制器中编写代码: 是否可以这样做,将自动包含页眉和页脚,如果需要更改它,我们也可以这样做吗?你怎么处理?还是您认为这不是问题?谢谢。 问题答案: 这是我的工作: 对于CI 3.x: 然后,在您的控制器中,这就是您要做的一切:

  • 我是ItextSharp的新手,只是想知道如何在页面结束事件后将页眉和页脚放在边距之外?似乎当我使用onendpage事件而不是将页脚添加到页边距之外时,它添加到了页边距内部,并且当它将在应该添加到页边距之外的底部页边距之上时,它总是产生stackoverflow异常? 是否有任何设置来将文本添加到页边距之外的文档页脚(或者是填充)? 提前谢了。

  • 目前正在用C#中的ITextSharp构建一个PDF。PDF由三个“部分”组成,一个封面,一个可以跨越多个页面的表格,以及一个最终页面。拥有该表的页面需要在第一页包含页眉,并在所有包含页眉的页面上包含页脚,但封面和最后一页不需要。 我使用XMLWorker构建页面,但这并不重要。构建页面的代码如下: 我遇到的麻烦是确定一种方法来防止页脚出现在结束页上。我正在重写OnEndPage以创建页脚。是否有

  • 也许以前有人问过这个问题,但我似乎找不到一个准确的答案或解决办法。我开始使用RecycerView,并使用LinearLayoutManager实现了它。现在,我想添加自定义的页眉和页脚项,这些项不同于RecycerView中的其他项。页眉和页脚不应该粘,我希望他们滚动与其余的项目。有人能指出一些例子如何做到这一点或只是分享想法。我会非常感激的。THX

  • 问题内容: 如何在我的PDF页面中添加 页眉 和 页脚 ?我想要一个表,表头中有3列,其他表中,页脚中有3列。我的页面可能是A3或A4,并且是横向或纵向。 谁能帮我?我在互联网上找不到很好的例子。 谢谢! mas正 问题答案: 创建一个MyPageEventListener类,该类扩展了 PdfPageEventHelper 将页面事件侦听器添加到PdfWriter对象 在MyPageEventL