【问题标题】:Aligning text in iText in a single row将 iText 中的文本对齐单行
【发布时间】:2012-10-29 22:11:42
【问题描述】:

创建一行文本的最佳方法是什么,该行将有两个元素与一条假想的线对齐?像这样(给出四行更好地说明这一点):

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

假想的线会穿过点,或者它们后面的空间。数字右对齐,文本左对齐。

我不想使用列表,因为元素可能不按顺序排列,并且设置行距有一定的限制。

【问题讨论】:

  • 你考虑过使用两列的表格吗?

标签: java itext


【解决方案1】:

您可以使用具有 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 方法调整单元格的最小高度。

【讨论】:

  • 该表格会影响文本的垂直和水平定位吗?或者,换句话说,我可以将边框设置为 0 pts 厚吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-05
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
相关资源
最近更新 更多