【问题标题】:How to have space padding at the top & bottom of a columnText如何在 columnText 的顶部和底部填充空格
【发布时间】:2016-11-16 12:23:28
【问题描述】:

我正在使用

将文本写入 ColumnText
columnText.AddElement(paragraph);

我想在列的顶部和底部有一些填充(空格),记住我在到达列底部之前要写很多段落。 如果您能告诉我如何实现这一目标,我将不胜感激。

【问题讨论】:

  • 我不想在每个段落之后有空格。我只需要在列(矩形)底部有一个空间。为了到达底部,我们需要添加几个段落,因此 SpaceAfter 不是一个解决方案。
  • 在这种情况下,你为什么不更新你的问题?你为什么要求在列的顶部有空格填充?您只想检查段落是否适合列;如果没有,您希望将其转发到下一列。我就是这样解释你的问题的。在您的评论中,您根本没有提到列的顶部,这令人困惑。

标签: c# itext


【解决方案1】:

如果您想在Paragraph 之前添加更多空格,您可以这样做:

paragraph.SpacingBefore = 10;

如果您想在Paragraph 之后添加更多空间,您可以这样做:

paragraph.SpacingAfter = 10;

请注意,这些属性的值以用户单位表示。默认情况下,1 英寸等于 72 个用户单位。

如果要更改Paragraph 的行间距,请更改行距:Changing text line spacing

更新:

在评论中,您描述了一种情况,您需要决定添加完整的 Paragraph 以防它适合,或者将其移动到另一列以防它不适合。

实现这一点的唯一方法是在模拟模式下使用ColumnText。模拟模式意味着您没有使用ColumnText 将内容实际添加到页面。您添加内容只是为了检查内容是否完全添加,或者获取添加的行数,或者添加内容后找出Y位置。这个原理之前已经解释过很多次了:

【讨论】:

  • 是的,如果我们想在段落后有一个空格,这将起作用。在上面的例子中,我需要在矩形(列)的底部留一个空间。如果该列中还剩下一行,我应该跳过并在下一列中添加文本并将最后一行留空(这样如果有背景颜色,它将看起来像填充)。
  • 我已经更新了我的答案。请注意,您的问题可能措辞不正确。您在评论中要求的内容与您在问题中要求的内容完全不同。
猜你喜欢
  • 1970-01-01
  • 2011-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-15
  • 1970-01-01
  • 2017-08-21
  • 1970-01-01
相关资源
最近更新 更多