C# iTextSharp 自动调整列宽

Posted

技术标签:

【中文标题】C# iTextSharp 自动调整列宽【英文标题】:C# iTextSharp AutoAdjust column widths 【发布时间】:2011-03-29 13:34:31 【问题描述】:

有没有办法自动调整列宽以尽可能多地适应其中的内容(有点像双击列宽是一个网格控件)。

目前我将它们设置为百分比,但由于根据搜索条件有不同的内容,我希望适当调整列宽。

我目前设置的宽度如下:

var table = new PdfPTable(9) WidthPercentage = 100;
var colWidthPercentages = new[] 6f, 10f, 10f, 10f, 20f, 20f, 8f, 8f, 8f;
table.SetWidths(colWidthPercentages);  

有谁知道如何做到这一点,或者如果不知道,是否有一种方法可以找出列适合其内容所需的最佳宽度?

【问题讨论】:

这是一个更好的答案,但它仅适用于 iTextSharp 的 AGPL 版本:***.com/questions/15765623/measurestring-with-itext 【参考方案1】:

你可以使用

XGraphics.MeasureString(string, XFont)

看到这个问题:Calculate text height based on available width and font?

【讨论】:

那是 PDFSharp,不是 ItextSharp

以上是关于C# iTextSharp 自动调整列宽的主要内容,如果未能解决你的问题,请参考以下文章

C#工具类:使用iTextSharp操作PDF文档

c# datagridview 根据内容自动调整行高

c#求怎么设置datagridview的列宽

c# itextsharp PDF 创建每个页面上都有水印

使用 iTextSharp 添加水印文本时,PAC 工具中出现 iText 7 警告

如何在C#中 禁止 dataGridView 自动添加行