当前位置: 首页 > 知识库问答 >
问题:

阻止“文本”在 PdfP 表中间放置分页符?

葛念
2023-03-14

我使用iTextSharp v5.3构建一个PDF,其中包含一个或多个具有相同单元格但因动态内容而高度不同的表格。目前,如果PdfPTable太大,无法放在当前页面上,则表格将被破坏,剩余的单元格数据将在下一页结束。我有没有办法告诉iTextSharp,如果表格放不下,就把整个内容放在下一页?

我尝试过摆弄SplitRowsSplitLat,但它们没有达到预期的效果。我还尝试在将PdfPTable添加到文档后进行一些计算,但不知道如何获取页面上的“光标位置”。我需要在循环中跟踪当前页面的高度并自己进行所有计算吗?

共有3个答案

马泰
2023-03-14

布鲁诺·洛瓦吉(Bruno Lowagie)指出了正确的解决方案——我想增加将表格缩小为页面的可能性,即使它太大。看这里:有可能“缩小”PdfPtable吗?

东郭和光
2023-03-14

您可以向表格询问其总高度。这是这样完成的:表。合计高

如果高度为0,请确保首先定义了宽度:如果iText不知道渲染表格的可用宽度,则无法计算宽度。

一旦你知道了高度,就向书写者询问垂直位置:< code >书写者。getvertical position(true)

你可能知道,页面底部的Y坐标是0。如果垂直位置减去页面的总高度超过了页边距大小,您就知道表格放不下了,您可以触发一个新页面。

唐俊楚
2023-03-14

您还可以使用:

tableName.KeepTogether = true;
 类似资料:
  • 我读过其他一些“类似”的问题,但他们的问题恰恰相反。我也读过这些文件,但它们不会提供任何对这个问题有用的东西。 主要模块类别: 删除了一些代码以明确主要问题。以下文字仅介绍锂块,但同样的内容适用于锂矿石。模型文件: 块状态:

  • 问题内容: 我正在处理Web应用程序中的dblclick事件。副作用是双击可以选择页面上的文本。如何防止这种选择发生? 问题答案: 您还可以将这些样式应用于所有非IE浏览器和IE10的跨度:

  • 我正在使用iText 5.5.4生成pdf。 我有一组行,这些行应该分组在一起,并有一个rowspan单元格来命名组。但是,在分页符上,“GRP”一词被分为“G”和“RP”。有没有一种方法可以让这个小组牢不可破,如果它不能放在当前的页面上,就可以在下一页上画出来? 我尝试了同时保持prowstogether和setBreakpoints,但没有得到一致的结果。 布局图像: 上述代码的PDF输出

  • 问题内容: 我有一个文本文件想要包含在我的Android应用程序中,它不是字符串文件,而是标准文本文件。它包含定义在板上绘制的“地图”的特征的数据。该文件不是XML文件,所以我不确定应该放在哪里,或者如果这不是适用于Android的良好文件结构?你想这样做吗?如果您位于哪个目录下,应该将它们放在什么目录下?那么您应该如何访问文件?我知道如何使用FileInputStreams和FileOutput

  • 问题内容: 我已经在Blackberry应用程序的屏幕之一中放了一个。我必须显示一个占位符文本,以提示用户输入信息。 这是下面的代码 任何人,请建议我如何实施相同的方法。 谢谢。 问题答案: 您可以对普通EditField使用与此处所示类似的技术。基本上,您需要重写子类中的方法。在中,检查并查看该字段是否为空,如果是,则手动绘制所需的 占位符 文本。 不同的是,是有它的内部。因此,要正确绘制文本,