【发布时间】:2017-07-05 21:41:56
【问题描述】:
我的 html 内容必须从页面的绝对左上角开始。但是,HtmlConverter 会自动从 pdf 页面的顶部和左侧添加 0.5 英寸的间隙。如何覆盖此默认边距?
【问题讨论】:
-
有多种方法可以解决这个问题。最简单的方法是使用 @page 通过 CSS 定义页面的边距
-
@SamuelHuylebroeck 您可能希望(以一个小例子)作为答案。
我的 html 内容必须从页面的绝对左上角开始。但是,HtmlConverter 会自动从 pdf 页面的顶部和左侧添加 0.5 英寸的间隙。如何覆盖此默认边距?
【问题讨论】:
您可以使用@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;
}
还有输出:
【讨论】: