我对 Itext 中 Paragraph 对象的前导有疑问(我使用的是 5.2.1 版)。这是代码:
BaseFont f = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.EMBEDDED);
Font ftext = new Font(f, 12);
Paragraph ptest = new Paragraph("Line n.1\nLine n.2\nLine n.3", ftext);
Paragraph pInner = new Paragraph("This has\nleading=28", ftext);
pInner.setLeading(28f);
ptest.add(pInner);
ptest.add(new Chunk("Line n.4 (chunk)\n"));
ptest.add(new Chunk("Line n.5 (chunk)\n"));
ptest.add(new Chunk("Line n.6 (chunk)\n"));
ptest.add(new Chunk("Outer paragraph leading=" + ptest.getLeading()));
document.add(ptest);
此代码生成的 PDF 不是我所期望的。
外部段落ptest有前导 18(通过 iText 将字体大小乘以 1.5 计算得出);然后我添加第二个段落pInner,前导 28 ,最后我添加到第一个段落四个块。由于ptest仍然领先 18,我希望最后 4 行的前导 = 18,而不是前导 = 28。
这是正确的还是预期的行为?