【问题标题】:Itext 7 - Undesired bottom margin when text is placed a in paragraphItext 7 - 文本放置在段落中时不需要的底部边距
【发布时间】:2018-04-10 08:50:53
【问题描述】:

我正在使用 iText 7 并 将段落放入 div,我设置了 setMultipliedLeading(1.0F) 值,但我在不想要的段落下方获得了 边距 . 有问题的段落是标记为第 1 段和第 2 段的红色段落,其他段落有 div 以创建额外的空间(以及显示相同的底部边距问题),但我仍然想删除额外的我也不想要这些空间(如红色段落所示)。

看起来旧版本的 iText 支持段落前后的间距。有没有办法通过 iText 7 实现这一目标?

我附上了一张图片,显示了这个额外的间距,你可以看到只是设置了背景颜色的段落。我想删除底部边距并使彩色部分彼此齐平。

我曾尝试像这样label.setMarginBottom(0.0F);(标签是Paragraph)设置段落的底部边距,但边距仍然存在。

【问题讨论】:

  • 向我们展示更多代码。所有这些尺寸都可以使用适当的参数进行更改。您似乎没有设置正确的属性(但我们需要查看您的代码)。前导是参数inside 之间的空格。 label 是什么?是Div 还是Paragraph?不要让我们猜测。你知道setMarginTop() 方法吗?
  • 我假设(可能错误地)它是底部边距,但我认为这可能是正确的答案。我会尽快更新一些代码,我根本没有设置边距顶部,我认为这也可能会被添加。
  • @BrunoLowagie 删除上边距和下边距给了我想要的效果。也许我应该删除这个问题线程?
  • 好吧,我想选项 2 更可取,因为其他人最终可能会寻找相同的东西
  • 好的,赞成你的回答。

标签: java margins paragraph itext7


【解决方案1】:

感谢 Bruno 为我指明了正确的方向,似乎当您在 iText7 中向段落添加文本时,它会自动添加顶部和底部边距。

这很容易删除:

private Paragraph createFieldLabel(final String text)
{
    final Paragraph label = new Paragraph(text);        
    label.setMultipliedLeading(1.0F);
    label.setFontSize(12.0F);
    label.setMarginBottom(0.0F);
    label.setMarginTop(0.0F);

    return label;
}

【讨论】:

    猜你喜欢
    • 2014-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-18
    • 2018-05-08
    • 2013-08-02
    • 1970-01-01
    相关资源
    最近更新 更多