0
我正在使用iTextSharp将报告导出为PDF,并且我有一张包含我需要的所有内容的表格。GetWidthPoint不返回预期值
我想给列宽度基于每一列的最宽的文本,但GetWidtPoint()
方法返回我不期待文本宽度和列内容跳转到下一行。
下面是一个关于标题文本宽度的演算的例子。我把我的表头放在一个数组里面。
Dim ColSize(10) as single
Dim Ck as Chunk
For I = 0 to Colsize.getUpperBound(0)
Ck = new Chunk(Data(I),myFont)
Ck.SetCharacterSpacing(1)
Colsize(I) = Ck.GetWidthPoint
Next I
最后,表声明...
Dim T as new PdfPtable(11)
T.HorizontalAligment = 0
T.WidthPercentage = 100
T.SpacingBefore = 3
T.setWidths(Colsize)
有关问题的例子:
通过,我用的GetWidthPoint()
返回33点, “Produto” 字的微积分方法,但如果我将列宽设置为33f,所以我不能仅在第一行显示此文本。要在同一行显示整个单词,我需要将列宽设置为55f。
当我打印单元格中的文字...
Dim Cell as new PdfpCell(new Phrase(new Chunk(Data(I,X),Font)))
T.addCell(cell)
任何想法?
那么......我必须对此做些什么?我需要做什么? – 2015-02-24 13:51:33
您也正在设置列的相对宽度而不是绝对宽度,请改为调用'PdfPTable.SetTotalWidth()'。 – 2015-02-24 14:07:55
我已经通过SetTotalWidth表达式改变了Pdftable.SetWidths ...在参数中传递ColSize数组。但是列宽是错误的。 – 2015-02-24 14:21:35