C# 如何从iTextSharp表中删除列

C# 如何从iTextSharp表中删除列,c#,pdf,itextsharp,C#,Pdf,Itextsharp,在我的c#应用程序中,我有一个使用生成PDF文档的函数,其中包括一个图表。表格(特别是PdfPTable)被填充,然后插入到文档中。在填充之后,在某些条件下,我想删除其中一列—有人知道怎么做吗 我知道在填充表时可以有条件地排除单元格,但在我的情况下,这将非常复杂。谢谢因为iTextSharp中的表一次生成一个单元格,所以我认为在生成时以编程方式删除“列”比在生成后删除“列”要容易得多。我会测试条件,然后在创建表格时包括或不包括该列。您可以使用PdfPTable.SetWidths(float[]

在我的c#应用程序中,我有一个使用生成PDF文档的函数,其中包括一个图表。表格(特别是PdfPTable)被填充,然后插入到文档中。在填充之后,在某些条件下,我想删除其中一列—有人知道怎么做吗


我知道在填充表时可以有条件地排除单元格,但在我的情况下,这将非常复杂。谢谢

因为iTextSharp中的表一次生成一个单元格,所以我认为在生成时以编程方式删除“列”比在生成后删除“列”要容易得多。

我会测试条件,然后在创建表格时包括或不包括该列。

您可以使用PdfPTable.SetWidths(float[])将列宽调整为0,使其不会出现

比如说

float[] ColumnWidths = new float[] { 10,0,10,0 };

PdfPTable table = new PdfPTable(ColumnWidths.Length);
table.SetWidths(ColumnWidths);
现在,第2列和第4列将不再显示在PDF上,您可以通过向其传递新的浮点数组,随时更改表的宽度