我正在使用wkhtmltopdf 0.10.0 rc2 for Mac
我有一个像这样的HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link href="print.css" rel="stylesheet">
<style type="text/css" media="screen,print">
.break{
display: block;
clear: both;
page-break-after: always;
border :1px solid red
}
.page-breaker {
display: block;
page-break-after: always;
border :1px solid red
}
</style>
</head>
<body>
<div class="container break">
page 1
</div>
<div class="page-breaker"></div>
<div class="container">
page 2
</div>
</body>
</html>
我只是尝试:
wkhtmltopdf test.html test.pdf
但它没有产生分页符,我做错了什么?
答案 0 :(得分:39)
可能与您使用早期版本的wkhtmltopdf生成的pdf无关。无论哪种方式,我都有类似的问题,没有正确应用分页符。我的问题是分页元素的父元素除了overflow
之外还有visible
。
这解决了我的问题:
* {
overflow: visible !important;
}
当然,您可以更加具体地了解适用的标签;)
答案 1 :(得分:24)
尝试使用如下
<div style="page-break-before:always;">
//your content
</div>
这应该有效。
答案 2 :(得分:9)
我是使用wkhtmltopdf 0.12.3.2
对于我来说,如果设置了边框,并且断路器div是身体的直接子女,则分页后工作正常。
.page-breaker {
clear: both;
display: block;
border :1px solid transparent;
page-break-after: always;
}
break-break-before 不起作用。
- 不需要打印媒体类型。
答案 3 :(得分:3)
我使用的是版本wkhtmltopdf 0.12.0
对我来说,分页符只适用于--print-media-type。 没有它,图像的分页保护可以正常工作,但不能在分页后或之前使用。
我必须为打印介质制作一个特殊的css文件才能使其正常工作。
将纸张尺寸设置为&#39; A3&#39;或者使用&溢出:可见&#39;并没有任何区别。
另见WKHTMLTOPDF with pdfkit on Rails ignoring table page breaks
答案 4 :(得分:1)
删除介质打印后工作正常
<强>之前:强>
@media print {
.page-break { height:0;page-break-after: always; margin:0; border-top:none;}
}
以上代码无法在新版本中使用。
立即强>
.page-break { height:0;page-break-after: always; margin:0; border-top:none;}
答案 5 :(得分:0)
将wkhtmltopdf更新为版本0.12.5。更新后对我而言不会出现分页符问题。
使用--disable-smart-shrinking
避免空白(如果有)
使用--zoom <value>
避免出现页面页面(如果整个页面未显示)