-1
我正在使用ITextSharp将多个表写入文档。ITextSharp - 如何知道一张桌子是否会进入下一页?
如何知道表是否会进入下一页,那么我可以删除某个单元格?
P.S.我正在使用table.KeepTogether = true;
。
我正在使用ITextSharp将多个表写入文档。ITextSharp - 如何知道一张桌子是否会进入下一页?
如何知道表是否会进入下一页,那么我可以删除某个单元格?
P.S.我正在使用table.KeepTogether = true;
。
您可以在模拟模式下使用ColumnText
来确定元素是否符合特定的矩形。也How to fit a String inside a rectangle?
见例如:
ColumnText ct = new ColumnText(writer.DirectContent);
ct.SetSimpleColumn(36, 36, 559, 806);
ct.AddElement(table);
int status = ct.Go(true);
我用坐标(36, 36)
和(559, 806)
,因为我认为你有半英寸的裕度的A4文档。如果ColumnText.HasMoreText(status)
是true
,那么表格对象不适合页面。如果该值为false
,则表格适合页面,甚至可以使用ct.GetYLine()
方法找出表格结束处的Y坐标。
基于此信息,您可以将已更改的表格或现有表格添加到ColumnText
对象,重置简单列并使用Go(false)
(或Go()
)为真实内容添加内容。
参见: