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

C# 为什么我的内容与页脚重叠?,c#,pdf,itextsharp,C#,Pdf,Itextsharp,我正在使用itextsharp生成pdf…我遇到的问题是我的内容/文本出现在页脚上…我想自动将内容分解到新页面…如果它出现在页脚上 现在我正在使用document.newpage() 但我想自动做,我的页面/内容自动分解到新页面..它不应该出现在页面的页眉/页脚 有关信息,我通过此类创建页眉/页脚 public class ITextEvents : PdfPageEventHelper 我使用了这个函数 public override void OnEndPage 我还附上了我现在得到的结

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

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

但我想自动做,我的页面/内容自动分解到新页面..它不应该出现在页面的页眉/页脚

有关信息,我通过此类创建页眉/页脚

public class ITextEvents : PdfPageEventHelper
我使用了这个函数

public override void OnEndPage
我还附上了我现在得到的结果。。。 请在这方面帮助我…如果你在评论中询问,我可以分享更多信息


我希望最后一个框自动进入新页面……

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

您不会共享
onedpage
方法中的代码,但假设您有如下代码:

canvas.MoveTo(36, 50);
canvas.LineTo(559, 50);
canvas.Strike();
这将在
y=50处从
x=36
x=559
绘制一条线

假设您已经像这样创建了
文档

Document document = new Document();
Document document = new Document(PageSize.A4, 36, 36, 36, 55);
在本例中,您创建的文档页面为A4格式(595 x 842个用户单位),页边距为36个用户单位。由于底部边距仅为36个用户单位,您的内容可能与底部50个用户单位处绘制的线重叠

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

Document document = new Document();
Document document = new Document(PageSize.A4, 36, 36, 36, 55);
现在,底部边距为55个用户单位,并且在50个用户单位处绘制的线不再重叠


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

您的建议很好,但在我的pdf中有一个封面,从左到右覆盖整个pdf,因此如果我在文档中应用页边距,它也会自动添加到该封面…我不想在封面上应用该页…任何其他方法都可以做到这一点…然后(1)将左右边框定义为0,或(2)为封面定义不同的页边距。(不要对没有问题的东西制造问题。)为什么要用HTML和CSS标记?