我正在使用itextsharp生成pdf ...我的问题是我的内容/文字页脚...我想自动将内容分解为新页面...如果它出现在页脚...
现在我正在使用document.newpage()
但我想自动将我的页面/内容自动分解到新页面..它不应该来到页面的页眉/页脚...
我是通过此类创建页眉/页脚的信息
public class ITextEvents : PdfPageEventHelper
我使用了这个功能
public override void OnEndPage
我还附上了我现在得到的结果...... 请帮助我...如果你在评论中提问,我可以分享更多信息
我希望这最后一个框自动进入新页面.....
答案 0 :(得分:1)
假设您使用document.add()
添加流动内容,则必须确保定义足够大的底部边距以容纳页脚。
您不会共享OnEndPage
方法中的代码,但假设您有以下内容:
canvas.MoveTo(36, 50);
canvas.LineTo(559, 50);
canvas.Strike();
这会在x = 36
处从x = 559
到y = 50
划一条线。
假设您已经像这样创建了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个用户单位或半英寸。