我正在使用 PhantomJS 动态生成 PDF。然而,它似乎总是切断页脚和页眉之间的一些内容。
相关文件:
- HTML 内容:http ://bit.ly/146Ljdp
- rasterize.js 文件:http ://bit.ly/12iSC7y
- 示例 PDF 文件:http ://bit.ly/10Aa309
正如您在 PDF 文件中看到的,内容在第 5 页和第 6 页之间被截断。
我已经查看了现有的 Qt 和 PhantomJS 错误,但不能完全确定我是否做得不对,或者这只是一个错误。
- AFAIK 最理想的选择是使用
page-break-inside:avoid
,但是 Qt 似乎还不支持。 - PDF/文档中的代码内容使用表格,显然过去存在问题:927、989、1038、880。我尝试删除所有表格元素(table、tr、td 等)并用 div 替换它们。它在浏览器和 PDF 文件中看起来完全一样,但仍然被切断。
- 如果顶部位置和底部位置在不同的页面上,我尝试了一个 javascript hack 来检查每个元素,如果是这样,添加一个
page-break-before
... 但是我无法正确获取单个页面大小,以检查标题的相对位置在每一页上。$('element').offset().top
返回整个文档顶部的位置,而不是当前页面。
关于我做错了什么的任何想法?