为什么我的内容与我的页脚重叠?

我正在使用itextsharp生成pdf …我的问题是我的内容/文本页脚…我想自动将内容分解为新页面…如果它出现在页脚…

现在我正在使用document.newpage()

但我想自动做到我的页面/内容自动分解到新页面..不应该来到页面的页眉/页脚…

我通过这个类创建页眉/页脚的信息

public class ITextEvents : PdfPageEventHelper 

我用这个function

 public override void OnEndPage 

我还附上了即时通讯的结果……请帮助我…如果你在评论中提问,我可以分享更多信息

在此处输入图像描述

我希望这最后一个盒子自动进入新的页面…..

假设您使用document.add()添加流动内容,则必须确保定义足够大的底部边距以容纳页脚。

您不共享OnEndPage方法中的代码,但假设您有类似以下内容:

 canvas.MoveTo(36, 50); canvas.LineTo(559, 50); canvas.Strike(); 

这在y = 50绘制从x = 36x = 559的线。

假设您已经创建了这样的Document

 Document document = new Document(); 

在这种情况下,您将创建一个包含A4格式(595 x 842用户单位)页面和36个用户单位边距的文档。 由于底部边距仅为36个用户单位,因此您的内容可能与从底部以50个用户单位绘制的线重叠。

您应该更改创建Document的行,如下所示:

 Document document = new Document(PageSize.A4, 36, 36, 36, 55); 

现在,您的底部边距为55个用户单位,而您在50个用户单位绘制的线不再重叠。

注意:我使用术语用户单位,因为这是我们在PDF中定义测量的方式。 默认情况下,1个用户单位等于1个点。 默认边距为36个用户单位或半英寸。