2015-07-11 18 views
0

我的問題是如何使文本在新行我試過「\ n」,但它沒有工作。我的代碼:itextsharp文本中間的新行?

Dim cell1 As New PdfPCell(New Phrase("line 1 \n line2 \n line3")) 
    cell1.Border = 0 
    cell1.HorizontalAlignment = 0 
    table.AddCell(cell1) 

回答

2

使用CHR(10)而不是使用C#'\'轉義字符。

0

您正在創建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 

複合模式,小區將使用青睞的小區的電平所定義的對準的不同部件的對準。