私はMac用wkhtmltopdf 0.10.0 rc2を使用しています
私はこのような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
しかし、それは改ページを生成しませんでした、私は何か間違っていますか?
Pdfがwkhtmltopdfの以前のバージョンで問題なく生成されたため、おそらく無関係です。いずれにしても、改ページが正しく適用されないという同様の問題がありました。私の問題は、overflow
以外のvisible
を持つ改ページ要素の親要素でした。これは私の問題を修正しました:
* {
overflow: visible !important;
}
もちろん、これが適用されるタグについてより具体的にすることができます;)
次のように使用してみてください
<div style="page-break-before:always;">
//your content
</div>
これは動作するはずです。
私はusinf wkhtmltopdf 0.12.3.2です
私にとっては、境界線が設定されていて、ブレーカーdivがbodyの直下の子の場合、page-break-afterが機能します。
.page-breaker {
clear: both;
display: block;
border :1px solid transparent;
page-break-after: always;
}
break-break-beforeは機能しません。
-print-media-typeは不要です。
バージョンwkhtmltopdf 0.12.0を使用しています
私にとって、改ページは--print-media-typeでのみ動作します。これがないと、画像の改ページ保護は機能しますが、改ページ後または改ページ前には機能しません。
それを機能させるには、印刷メディア用の特別なcssファイルを作成する必要がありました。
用紙サイズを「A3」に設定しても、「overflow:visible」を使用しても違いはありませんでした。
メディア印刷を削除した後、正常に動作しています
前:
@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;}