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

Eri*_*rik 6 pdf-generation html-table qt4 qtwebkit phantomjs

我想制作我的大型报表的PDF渲染.但似乎phantomjs不支持该rowSpan属性.这是一个例子:

phantomjs rasterize.js "http://fiddle.jshell.net/eric777/SLtGa/show/" report.pdf A4
Run Code Online (Sandbox Code Playgroud)

这是jsfiddle

这是结果 [

这有解决方法吗?

编辑:

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

Old*_*Pro 10

2018年更新

截至2018年3月,PhantomJS开发已暂停,建议使用 无头Chrome.虽然看起来WebKit以及Safari仍然存在这个问题,但Chrome,包括无头Chrome,现在将桌子干净地分成2页.

基于Chrome的Opera浏览器页面拆分


原帖

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

一般来说,我所知道的所有HTML到PDF转换器都有这个完全相同的问题,或者难以解决它们被认为是不可接受的错误.有关wkhtmltopdf的信息,请参阅如何避免表行内的分页符.

见一些方法来使用JavaScript来帮助更好的WebKit分手的表在这里,这个问题的更多讨论一起.

  • @Erik你读过我上面提供的链接吗?它们包括指向[此补丁](https://qt.gitorious.org/~trvrnrth/qt/trvrnrths-qt/commits/4.8.4)到Qt的链接,以解决WebKit中的问题.您还可以看到WebKit错误[35217](https://bugs.webkit.org/show_bug.cgi?id=35217),[39733](https://bugs.webkit.org/show_bug.cgi?id=39733 ),[59597](https://bugs.webkit.org/show_bug.cgi?id=59597)和[89756](https://bugs.webkit.org/show_bug.cgi?id=89756).另见PhantomJS bug [10638](https://github.com/ariya/phantomjs/issues/10638) (2认同)