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

Kar*_*120 7 java itext

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

   1. some random text
  34. some more random text
 764. here's even more random text
4594. it just never ends
Run Code Online (Sandbox Code Playgroud)

想象的线会通过点或者它们之后的空间.数字正确对齐,文本保持对齐.

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

Pie*_*igi 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);
Run Code Online (Sandbox Code Playgroud)

您可以看到禁用了单元格边框(disableBorderSide方法).您还可以使用setMinimumHeight方法调整单元格的最小高度.