ITextSharp - 如何知道表格是否会转到下一页?

时间:2015-11-05 14:18:31

标签: itextsharp

我正在使用ITextSharp将多个表写入文档。

如何知道某个表是否会转到下一页,那么我可以删除某个单元格吗?

P.S。我正在使用table.KeepTogether = true;

1 个答案:

答案 0 :(得分:0)

您可以在模拟模式下使用ColumnText ct = new ColumnText(writer.DirectContent); ct.SetSimpleColumn(36, 36, 559, 806); ct.AddElement(table); int status = ct.Go(true); 来确定元素是否适合特定的矩形。另请参阅How to fit a String inside a rectangle?

例如:

(36, 36)

我使用了坐标(559, 806)ColumnText.HasMoreText(status),因为我假设您有一张半英寸边距的A4文档。如果truefalse,则表格对象不适合页面。如果该值为ct.GetYLine(),则表格适合页面,您甚至可以使用ColumnText方法找出表格结束的Y坐标。

根据此信息,您可以将更改的表或现有表添加到Go(false)对象,重置简单列并使用Go()(或$decrypted = Crypto::decrypt($urlParameter, $yourKey); // ... snip ... // echo "<a href=\"/your/url/?".http_build_query([ 'id' => Crypto::encrypt($yourRowId, $yourKey) ])."\">"; )添加内容为了真实。

另见: