首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iTextSharp并将一些数据移动到下一页

iTextSharp并将一些数据移动到下一页
EN

Stack Overflow用户
提问于 2010-10-13 00:01:15
回答 3查看 11.4K关注 0票数 3

我正在使用iTextSharp创建发票。这显示得很好,但有时,当发票项目的数量较大时,汇总部分(显示小计、税、折扣、总计等)会被拆分。一些显示在当前页面,一些移动到下一页。我想把整个摘要部分移到下一页,如果当前离开的高度不足以做到这一点的话。

但是,要做到这一点,我需要知道还剩下多少页面高度(在呈现当前页面内容之后)。我想知道是否有人知道如何计算当前页面的左侧高度?或者,如果pdfPTable中有一个属性,它可能会强制表作为一个整体打印,而不是让它拆分到多个页面上!我猜如果有第二个选择,那就很容易了。

总而言之,我需要知道是否可以计算剩余的页面高度,以及是否可以强制表不跨多个页面拆分。

谢谢。Sameers

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-18 13:46:47

您可以将SplitLate设置为false,以避免单元格数据中的自动分页符超出限制。

代码语言:javascript
运行
复制
......
table.addCell(cellData);

table.SplitLate = false;
......
票数 11
EN

Stack Overflow用户

发布于 2010-12-29 04:48:57

我建议您在摘要部分使用嵌套表。我不相信iText会在页面边界上拆分一个给定的单元格,因此该单元格中的所有内容(即使它是一个包含自己的单元格的嵌套表)都会留在同一页上。

使用表的单元格的行跨度,以便它自己占据整个行。

我不能肯定,但我敢打赌啤酒。

票数 1
EN

Stack Overflow用户

发布于 2010-10-14 21:52:22

您使用什么对象将数据添加到PDF?MultiColumnText,段落,短语?

您应该能够使用Document.PageSize.Height属性返回页面的高度。

然后使用PDFPTable.Height返回表的高度。

因此,只需使用逻辑Document.PageSize.Height - table.Height,就可以获得剩余的y轴空间。

PDFPTable对象具有名为SplitLate和SplitRows的属性。我相信您可以使用这些属性来,尝试,并将表保留在一个页面上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3916655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档