我正在使用iTextSharp创建发票。这显示得很好,但有时,当发票项目的数量较大时,汇总部分(显示小计、税、折扣、总计等)会被拆分。一些显示在当前页面,一些移动到下一页。我想把整个摘要部分移到下一页,如果当前离开的高度不足以做到这一点的话。
但是,要做到这一点,我需要知道还剩下多少页面高度(在呈现当前页面内容之后)。我想知道是否有人知道如何计算当前页面的左侧高度?或者,如果pdfPTable中有一个属性,它可能会强制表作为一个整体打印,而不是让它拆分到多个页面上!我猜如果有第二个选择,那就很容易了。
总而言之,我需要知道是否可以计算剩余的页面高度,以及是否可以强制表不跨多个页面拆分。
谢谢。Sameers
发布于 2011-10-18 13:46:47
您可以将SplitLate
设置为false
,以避免单元格数据中的自动分页符超出限制。
......
table.addCell(cellData);
table.SplitLate = false;
......
发布于 2010-12-29 04:48:57
我建议您在摘要部分使用嵌套表。我不相信iText会在页面边界上拆分一个给定的单元格,因此该单元格中的所有内容(即使它是一个包含自己的单元格的嵌套表)都会留在同一页上。
使用表的单元格的行跨度,以便它自己占据整个行。
我不能肯定,但我敢打赌啤酒。
发布于 2010-10-14 21:52:22
您使用什么对象将数据添加到PDF?MultiColumnText,段落,短语?
您应该能够使用Document.PageSize.Height属性返回页面的高度。
然后使用PDFPTable.Height返回表的高度。
因此,只需使用逻辑Document.PageSize.Height - table.Height,就可以获得剩余的y轴空间。
PDFPTable对象具有名为SplitLate和SplitRows的属性。我相信您可以使用这些属性来,尝试,并将表保留在一个页面上。
https://stackoverflow.com/questions/3916655
复制相似问题