page-break-inside在使用rowSpan的表格单元格中不起作用?

时间:2013-05-04 11:54:49

标签: qt4 pdf-generation phantomjs html-table qtwebkit

我想对我的大型报告表进行PDF渲染。但似乎phantomjs不支持rowSpan属性。这是一个例子:

phantomjs rasterize.js "http://fiddle.jshell.net/eric777/SLtGa/show/" report.pdf A4

以下是jsfiddle

这是结果 [

有解决方法吗?

修改

也许有人可以在webkit中解决这个问题吗?

1 个答案:

答案 0 :(得分:10)

2018年更新

截至2018年3月,PhantomJS development has been suspended代替recommendation to use headless Chrome。虽然看起来WebKit以及Safari仍然存在这个问题,但Chrome,包括无头Chrome,现在将桌子干净地分成2页。

Page split from Opera browser, based on Chrome


原帖

这不是phantomjs中的错误,这是WebKit处理分页符的方式。 (Chrome也是。)您可以通过在Safari中打开页面然后尝试以“US Letter”大小打印来查看此内容。我不知道为什么当你的小提琴符合2页(较短)美国字母大小时,你会得到3页的A4大小,但我认为这不是重点。

一般来说,我所知道的所有HTML到PDF转换器都有这个完全相同的问题或难以解决它们被认为是不可接受的错误。例如,请参阅How to avoid page break inside table row for wkhtmltopdf

查看一些使用JavaScript来帮助WebKit更好地分解表的方法here,以及对问题的更多讨论。