是否可以将包含不同字体大小的段落与 iText 中的中间对齐


public static final Font BLUE = new Font(FontFamily.HELVETICA, 6, Font.NORMAL, BaseColor.BLUE);
public static final Font RED = new Font(FontFamily.HELVETICA, 15, Font.NORMAL, BaseColor.RED);
Paragraph p = new Paragraph();
p.add(new Chunk("small middle", BLUE));
p.add(new Chunk("big middle", RED));
PdfPCell cell = new PdfPCell(p);
cell.setVerticalAlignment(Element.ALIGN_MIDDLE);

此代码段将文本相对于具有较大大小的块对齐到中间。两个块是否有可能相对于自己的字体大小与中间对齐?

嗯,段落中一行的一个主要属性是该行上的所有字符(除非下标或上标)共享相同的基线。

因此,您可以尝试像这样对较小的块进行上标,以达到所需的位置:

Paragraph p = new Paragraph();
Chunk smallChunk = new Chunk("small middle", BLUE);
smallChunk.setTextRise( (15 - 6) / 2);
p.add(smallChunk);
p.add(new Chunk("big middle", RED));

最新更新