将iText中的文本对齐在一行中

时间:2012-10-29 22:11:43

标签: java itext

创建一行文本的最佳方法是将两个元素对齐到虚线?像这样(为了更好地说明这一点,给出了四行):

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

虚线会通过点或者它们之后的空间。数字有正确的对齐方式,文字已经对齐。

我不想使用列表,因为元素可能不是有序的,并且它在设置行间距方面有一定的限制。

1 个答案:

答案 0 :(得分:18)

您可以使用带有2列的PdfPTable,第一列右对齐,最后一列左对齐。然后在单元格内容上设置设计器填充。 例如:

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方法调整单元格的最小高度。