有没有办法找到当前页面将在iTextSharp中结束。例如,
说有大约10条记录需要在我希望添加的第一页末尾写下两页(在nex页面上打印)。有没有办法做到这一点。是否可以找到页面末尾的答案,或者是否有办法找到完成写入的行号,这样我就可以进行计算以决定是否添加我选择的消息并继续下一页
任何建议都非常感谢:)
非常感谢
答案 0 :(得分:2)
通常,这是通过为表格定义页脚来完成的。当表自动中断时,iText将显示该页脚。当然:你不希望这个页脚显示在最后一页(在表的最后一行之后)。这就是为什么还有一种跳过最后一行的方法。
This example向您展示如何创建包含页眉和页脚的表格。 This是SkipLastFooter
的链接。
请注意,说“查找行号”可以解决您的问题,这有两个原因:
我上面建议的替代解决方案,可能是使用表事件。
答案 1 :(得分:2)
如果您确实需要找到页面的末尾,并且没有使用将在每页末尾打印的页脚行的表格,则可以使用PdfWriter
对象,如下所示:< / p>
var remainingPageSpace = pdfWriter.GetVerticalPosition(false) - pdfDocument.BottomMargin;
这将为您提供页面上的剩余空间,您可以从中确定下一步要做什么。
但是,如果您使用的是表格数据,则最好使用PdfPTable
并利用页脚行功能。