【发布时间】:2013-03-03 06:02:11
【问题描述】:
有没有什么方法可以找到当前页面将在 iTextSharp 中结束。例如,
假设有大约 10 条记录需要在我希望添加的第一页末尾写下两页“(在下一页上继续”)。有没有办法做到这一点。找到页尾会是这个问题的答案,还是有办法找到完成写作的行号,以便我可以进行计算以决定是否添加我选择的消息并继续下一页.
任何建议都非常感谢:)
非常感谢
【问题讨论】:
标签: itextsharp
有没有什么方法可以找到当前页面将在 iTextSharp 中结束。例如,
假设有大约 10 条记录需要在我希望添加的第一页末尾写下两页“(在下一页上继续”)。有没有办法做到这一点。找到页尾会是这个问题的答案,还是有办法找到完成写作的行号,以便我可以进行计算以决定是否添加我选择的消息并继续下一页.
任何建议都非常感谢:)
非常感谢
【问题讨论】:
标签: itextsharp
通常,这是通过为表格定义页脚来完成的。当表格自动中断时,iText 将显示该页脚。当然:您不希望此页脚显示在最后一页(在表格的最后一行之后)。这就是为什么还有一种方法可以跳过最后一行。
This example 向您展示如何创建带有页眉和页脚的表格。 This 是指向SkipLastFooter 的链接。
请注意,说“查找行号”会解决您的问题是错误的,原因有两个:
我上面建议的另一种解决方案是使用表格事件。
【讨论】:
如果您确实需要查找页尾,并且没有使用将在每页末尾打印的页脚行的表格,则可以使用PdfWriter 对象,如下所示:
var remainingPageSpace = pdfWriter.GetVerticalPosition(false) - pdfDocument.BottomMargin;
这将为您提供页面上的剩余空间,您可以从中确定下一步要做什么。
如果您使用的是表格数据,则最好使用PdfPTable 并利用页脚行功能。
【讨论】: