2013-05-17 44 views
0

我有一个关于在Itext中引用段落对象的问题(我正在使用版本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

这是正确的或预期的行为?

回答

1

这不是预期的行为。

我们提高了领先的处理能力。它将在即将发布的5.4.5版本中提供。