我正在使用iTextSharp程序集版本5.5.10,並認爲要面對一個錯誤。當我將我的SetSimpleColumns放置在某個未知的原因時,第11到第14t列保留在同一行上。 我首先想到它與邊距有關,但我的矩形具有相同的座標位置正確。SetSimpleColumn在第10行後不對齊
這是結果的樣子:
的代碼如下:
Dim iADsPerPage As Integer = 14
Dim iRow As Integer = 0
dBottom = 760 'Next Line (one line = 15)
For Each oRow As DataRow In dtADs.Rows
iRow = iRow + 1
dBottom = dBottom - 43.6 'Next Line (one line = 15)
myText = New Phrase(oRow("BulletinReference").ToString, oFont)
dLeftSide = 102.0
dCellSize = 106.0
ct.SetSimpleColumn(myText, dLeftSide, dBottom + dFontLine, dLeftSide + dCellSize, dCellSize, 0, Element.ALIGN_CENTER)
ct.Go()
myText = New Phrase(Left(oRow("BulletinReference").ToString, 40), oFont)
dLeftSide = 210.0
dCellSize = 302.0
cb.Rectangle(dLeftSide, dBottom, dCellSize, dCellHeight)
cb.Stroke()
Response.Write(">" & " " & dLeftSide & " " & dBottom + dFontLine & " " & dLeftSide + dCellSize & " " & dCellSize & "<<br>")
ct.SetSimpleColumn(myText, dLeftSide, dBottom + dFontLine, dLeftSide + dCellSize, dCellSize, 0, Element.ALIGN_LEFT)
ct.Go()
If iRow = 11 Then 'force position as test
myText = New Phrase("hello world!!!!!!!!!!!!!!!!!", oFont)
ct.SetSimpleColumn(myText, 210, 100, 210 + 302, 302, 0, Element.ALIGN_LEFT)
ct.Go()
End If
Next
可惜我不能重現這種行爲。數據行的內容可能有些可疑。你不檢查'ct.Go()'調用的結果,也許有些內容不能正確設置。 – mkl
我也在期待這個,但請查看hello world的例子。還有一個被放置在相同的位置。沒有什麼特別的文字。我注意到的一點是,當我將最後一個座標設置爲0而不是302時似乎工作。只有我不完全理解背後的邏輯。 – WiVM