2012-10-29 80 views
7

創建一行文本的最佳方式是將兩個元素對齊到一條虛線?像這樣(給予說明這一點更好四行):將iText中的文本排成一行

1. some random text 
    34. some more random text 
    764. here's even more random text 
4594. it just never ends 

假想線將走線槽的點,或者在他們以後的空間。這些數字具有正確的對齊,並且文本已經保持一致。

我不想使用列表,因爲元素可能不是按順序排列的,而且它對設置行距有一定的限制。

+0

您是否考慮過使用雙列表? – mkl

回答

17

您可以使用2列的PdfPTable,第一個右對齊和最後一個左對齊。然後在單元格內容上設置desider填充。 例如:

PdfPTable tbl = new PdfPTable(2); 
    PdfPCell cell = new PdfPCell(new Phrase("1.")); 
    cell.setHorizontalAlignment(Element.ALIGN_RIGHT); 
    cell.disableBorderSide(Rectangle.BOX); 
    tbl.addCell(cell); 
    cell = new PdfPCell(new Phrase("some random text")); 
    cell.disableBorderSide(Rectangle.BOX); 
    tbl.addCell(cell); 
    cell = new PdfPCell(new Phrase("34.")); 
    cell.disableBorderSide(Rectangle.BOX); 
    cell.setHorizontalAlignment(Element.ALIGN_RIGHT); 
    tbl.addCell(cell); 
    cell = new PdfPCell(new Phrase("some more random text")); 
    cell.disableBorderSide(Rectangle.BOX); 
    tbl.addCell(cell); 

你可以看到,小區邊界被禁用(disableBorderSide方法)。 您也可以使用setMinimumHeight方法調整單元格的最小高度。

+0

該表會影響文本的垂直和水平位置嗎?或者換句話說,我可以讓邊界爲0點厚嗎? – Karlovsky120

+0

我更新了答案... –