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