我对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。
这是正确的还是预期的行为?
最佳答案
这不是预期的行为。
我们改进了领先的流程。它将在即将发布的5.4.5版本中提供。