我正在使用FlyingSaucer 9使用以下HTML模板生成带有运行标题的PDF:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
@page {
size: 793px 1122px;
border: 1px solid navy;
margin: 25px 35px 53px 35px;
padding: 0; /*Does not work*/
@top-center {content:element(header);}
}
#header {
position: running(header);
border: 1px solid red;
}
</style>
<title></title>
</head>
<body>
<div id="header">Test header</div>
Lorem ipsum dolor sit amet, [and some other lenghty text ...]
</body>
</html>
我面临的问题是生成的PDF有“默认填充”。我在@page选择器中添加了一个边框:1px实心海军,可以看到“默认填充”。问题是此填充仅出现在PDF的第一页的顶部,但在第二页,第三页和其他页中缺少。这导致我的标题(标有红色边框)与正文的其余部分之间存在差距,但仅限于PDF的第一页。
以下是生成的PDF的第一页,其中包含可见的默认顶部填充:
这里是第二页没有顶部填充(这种情况发生在除第一页之外的所有页面):
我试过添加@page {padding:0;但它不起作用。有没有人知道如何删除@page元素的“默认填充”或者如何让我的标题的间隙消失为PDF的第一页?
答案 0 :(得分:2)
您可以通过将正文边距设置为0来更正问题:
body{margin:0}