我的問題是如何使文本在新行我試過「\ n」,但它沒有工作。我的代碼:itextsharp文本中間的新行?
Dim cell1 As New PdfPCell(New Phrase("line 1 \n line2 \n line3"))
cell1.Border = 0
cell1.HorizontalAlignment = 0
table.AddCell(cell1)
我的問題是如何使文本在新行我試過「\ n」,但它沒有工作。我的代碼:itextsharp文本中間的新行?
Dim cell1 As New PdfPCell(New Phrase("line 1 \n line2 \n line3"))
cell1.Border = 0
cell1.HorizontalAlignment = 0
table.AddCell(cell1)
使用CHR(10)
而不是使用C#'\'轉義字符。
您正在創建PdfPCell
使用文本模式。這僅適用於簡單的文本。見Right aligning text in PdfPCell
只要你有更多的文字,也許其他類型的內容,如圖像,它可以更好地使用複合模式,並通過使用不同的Paragraph
的對象,而不是Phrase
創建具有不同線路細胞(一個Phrase
不應該有換行符)。然後
您的代碼應該是這樣的:
Dim cell1 As New PdfPCell()
cell1.Border = PdfPCell.NO_BORDER
Dim p1 As New Paragraph("line 1");
p1.Alignment = Element.ALIGN_LEFT;
cell.AddElement(p1);
Dim p2 As New Paragraph("line 2");
p1.Alignment = Element.ALIGN_CENTER
cell.AddElement(p2)
Dim p3 As New Paragraph("line 3");
p1.Alignment = Element.ALIGN_RIGHT
cell.AddElement(p3)
table.AddCell(cell1)
請你(尤其是誰必須保持你的代碼的人)一個忙,千萬不要用線,如:
cell1.Border = 0
通過替換此:
cell1.Border = PdfPCell.NO_BORDER
這同樣適用於:
cell1.HorizontalAlignment = 0
通過替換此:
cell1.HorizontalAlignment = Element.ALIGN_LEFT
你會發現,誰也看你的代碼的人會開始尊重你更多,因爲編寫代碼,很容易讓他們閱讀和理解是證明你尊重他們。
注:從文本模式一個PdfPCell
切換到複合模式只要您使用AddElement()
方法。在複合模式,下面一行將被忽略:
cell1.HorizontalAlignment = Element.ALIGN_LEFT
在複合模式,小區將使用青睞的小區的電平所定義的對準的不同部件的對準。