3

我正在使用wicked_pdf生成 pdf。我面临的问题是,有时它会跨两页显示页面中的最后一行。如果 wicked_pdf 不能适合该页面中的整行或对页面中的行数设置限制,是否有办法告诉 wicked_pdf 在下一页中呈现该行?

下图是我的问题的一个例子。

下图是我的问题的一个例子

我的选择是

render :pdf => file_name,
       :layout => "pdf.html",
       :disposition => "attachment"
4

2 回答 2

3

由于 WickedPDF 实际上并没有创建一个表格(只是从 html/css 渲染一个),因此没有很多可用选项 - 您可以尝试page-break-inside: avoid;在您的 css 中使用,您可能还需要手动分解表格的大小以便避免分页符的效果并不太严重。

CSS:

table, tr, td, th, tbody, thead, tfoot {
    page-break-inside: avoid;
}

至少,这应该让你开始。

编辑:这是关于这个主题的另一个问题,还有一些进一步的信息:How to Avoid page break inside table row for wkhtmltopdf

于 2013-06-11T16:06:43.250 回答
0

我也有同样的问题。没有简单的答案。您必须关闭整个表并在表外发出.page-break(我.page-break {page-break-before:always}在我的 css 中定义)。然后,启动一个新表并继续从您所在的位置进行渲染。这并不容易!我最终计算了行数,甚至检查了单元格内容的大小以到达单元格行,然后关闭表格并根据需要重新启动。

绝对是 HTML 到 PDF 过程的限制。

于 2018-05-08T18:02:25.050 回答