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

时间:2016-01-14 07:48:16

标签: java 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);

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

1 个答案:

答案 0 :(得分:0)

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

所以你可能会尝试上标这么小的块来获得你想要的地方:

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));