微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

IText7页脚和画布覆盖

如何解决IText7页脚和画布覆盖

我用IText7和页脚创建了PDF,如下所示:

public class TextFooterEventHandler : IEventHandler
{
    protected Document doc;
  
    public TextFooterEventHandler(Document doc)
    {
        this.doc = doc;
    }

    public void HandleEvent(Event currentEvent)
    {
        PdfDocumentEvent docEvent = (PdfDocumentEvent)currentEvent;
        iText.Kernel.Geom.Rectangle pageSize = docEvent.GetPage().GetPageSize();

        pdfpage page = docEvent.GetPage();
        int pageNum = docEvent.GetDocument().GetPageNumber(page);
        Paragraph p = new Paragraph($"pagina {pageNum} di");

        Canvas canvas = new Canvas(docEvent.GetPage(),pageSize);
        canvas 
            .showtextAligned(p,550,60,TextAlignment.RIGHT)
            .Close();
    }
}

然后我要添加页码

 (...)
 int n = pdfDocument.GetNumberOfPages();
 for (int i = 1; i <= n; i++)
 {
         Canvas canvas = new Canvas(pdfDocument.GetPage(i),new iText.Kernel.Geom.Rectangle(30,30));
         canvas.showtextAligned(new Paragraph(n.ToString()),40,TextAlignment.RIGHT)
         .Close();
 }

 document.Close();

在这里您可以看到结果:

enter image description here

您会看到画布的总数位于页脚下方。

我想念什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。