【问题标题】:How to adjust spacing between paragraphs in iText7如何在 iText7 中调整段落之间的间距
【发布时间】:2017-09-29 02:35:54
【问题描述】:

在 iText7 中,我需要在以页面为中心的文档顶部创建 5 行文本。我发现最简单的方法是:

doc.add(new Paragraph("text of line 1").SetTextAlignment(TextAlignment.CENTER));
doc.add(new Paragraph("text of line 2").SetTextAlignment(TextAlignment.CENTER));

等等。 但是,每条线之间的空间比我想要的要大。在一个段落中,您可以设置行距,但是如何在文档中的段落之间设置行距?还是我这样做的方式完全错误?

【问题讨论】:

  • 您可以使用段落的填充和边距来控制它们之间的空间。
  • 有一个类似的问题:stackoverflow.com/questions/44754979/…查看最后一个答案找到你的问题的解决方案。
  • @Rayyan 通常认为没有必要在问题标题中重复标签(就像您对“in iText7”所做的编辑一样)。在这种情况下,它看起来仍然不错,所以编辑被批准了。不过,一般来说,可能不会获得批准。
  • @mkl。感谢您指出,我不知道这一点!我认为在这种情况下添加它是有道理的,因为它有助于澄清问题并使其不那么广泛。

标签: itext itext7


【解决方案1】:

段落有两种方法来处理所谓的前导。

Paragraph o1 = new Paragraph("");
o1.setMultipliedLeading(1.0f);

倍前导是当您指定前导与字体高度相比的大小时。

您也可以根据文档进行设置:

document.setProperty(Property.LEADING, new Leading(Leading.MULTIPLIED, 1.2f));

【讨论】:

  • OP:您可以在段落中设置行距,但如何在文档中的段落之间设置行距? - 您确定您回答了实际问题吗?跨度>
【解决方案2】:

对于 iText7,我使用了 SetMarginTop(0f) 和 SetMarginBottom(0f) 来制作它。

【讨论】: