Почему wkhtmltopdf page-break-after не имеет никакого эффекта?
Я использую wkhtmltopdf 0.10.0 RC2 для 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
Но это не произвело разрыв страницы, я делаю что-то не так?
5 ответов
Возможно, это не связано с тем, что ваш pdf сгенерирован нормально с более ранней версией wkhtmltopdf. В любом случае, у меня были похожие проблемы с неправильным применением разрывов страниц. Моя проблема заключалась в том, что родительские элементы элемента, разбитого на странице, имеют overflow
Кроме как visible
, Это исправило мою проблему:
* {
overflow: visible !important;
}
Конечно, вы можете быть более конкретным о тегах, к которым это относится;)
Попробуйте использовать следующим образом
<div style="page-break-before:always;">
//your content
</div>
это должно работать.
Я использую wkhtmltopdf 0.12.3.2
Для меня функция разрыва страницы работает, когда установлена граница, и когда прерыватель div является непосредственным потомком тела.
.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 для печатных СМИ, чтобы заставить его работать.
Установка формата бумаги на "А3" или использование "переполнения: видимый" не имеет никакого значения.
Также смотрите WKHTMLTOPDF с pdfkit на Rails, игнорируя разрывы страниц таблицы
Он работает нормально после удаления носителя печати
До:
@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;}
Обновите wkhtmltopdf до версии 0.12.5. Проблема с разрывом страницы не возникает у меня после обновления.
Использовать --disable-smart-shrinking
чтобы избежать пустого пробела (если есть)
Использовать --zoom <value>
чтобы избежать страницы страницы (если вся страница не отображается)