如何在 HTML 中插入分页符以便 wkhtmltopdf 解析它?

How to insert a page break in HTML so wkhtmltopdf parses it?

所以基本上我使用 wkhtmltopdf 将动态 HTML 报告转换为 PDF。

该报告具有特定格式,我被要求使用 HTML 克隆该格式。

我面临的问题是我无法在 html 中模拟 100% 的功能分页符,因此 wkhtmltopdf 可以解释它并将内容发送到另一个页面。

我试图避免使用页面大小测量方法等。

TIA 提供的任何帮助。

编辑: 到目前为止,我正在使用 <br> 模拟分页符并且它有效。不过,我仍然需要做一些测试。

指定特定于打印介质类型的 CSS 规则。有a number of properties that can be used for paging。我发现将 page-break-before 属性 附加到 class 最简单,如下所示。

在HTML中:

<p>Page 1, paragraph 1</p>
<p class="new-page">Page 2, paragraph 1</p>
<p>Page 2, paragraph 2</p>

在CSS中:

@media print {
  .new-page {
    page-break-before: always;
  }
}

当我使用 wkhtmltopdf 时,我使用以下 classes:

.keep-together {
    page-break-inside: avoid;
}

.break-before {
    page-break-before: always;
}

.break-after {
    page-break-after: always;
}

所以我可以强制:

  • 特定容器内容未分布在两页上(如果它适合一页)。使用 keep-together class 时,如有必要,会在容器之前创建分页符。
  • 在特定容器之前强制分页。
  • 在特定容器后强制分页。

@media print 对我来说 wkhtmltopdf 不起作用。

<div style = "display:block; clear:both; page-break-after:always;"></div>

只需将其添加到您的 html 代码中

遇到这个问题的人,尝试将 wkhtmltopdf 降级到版本 0.10.0 rc2,对我有用

@media print 当我为 wkhtmltopdf 使用选项 --print-media-type 时,wkhtmltopdf 为我工作