【问题标题】:Itext 7 overriding default margin in pdfHtmlItext 7覆盖pdfHtml中的默认边距
【发布时间】:2017-07-05 21:41:56
【问题描述】:

我的 html 内容必须从页面的绝对左上角开始。但是,HtmlConverter 会自动从 pdf 页面的顶部和左侧添加 0.5 英寸的间隙。如何覆盖此默认边距?

【问题讨论】:

  • 有多种方法可以解决这个问题。最简单的方法是使用 @page 通过 CSS 定义页面的边距
  • @SamuelHuylebroeck 您可能希望(以一个小例子)作为答案。

标签: itext itext7


【解决方案1】:

您可以使用@page 通过 CSS 设置页面的边距。以下声明将所有页边距设置为 0,并在段落周围绘制边框以供视觉参考:

@page{
    margin:0pt;
}
p{
    border-left: solid 2pt blue;
    border-top: solid 1pt blue;
    border-bottom: solid 1pt blue;
}

使用以下内容作为输入:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>margin example</title>
    <link href="margin.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <div>
        <p>This page should have the margins set at 0</p>
    </div>
</body>
</html>

您会看到段落的边框触及页面的左侧,但尚未触及顶部。那是因为段落也有一些固有的边距作为块元素。将此设置为 0 即可:

p{
    border-left: solid 2pt blue;
    border-top: solid 1pt blue;
    border-bottom: solid 1pt blue;
    margin-top: 0pt;
}

@page{
    margin:0pt;
}

还有输出:

【讨论】:

  • 拯救了我的一天,好方法。
猜你喜欢
  • 2019-06-24
  • 1970-01-01
  • 2018-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-07
  • 2011-05-29
相关资源
最近更新 更多