【发布时间】:2013-05-29 16:47:19
【问题描述】:
我正在使用 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返回整个文档顶部的位置,而不是当前页面。
关于我做错了什么有什么想法吗?
【问题讨论】:
-
相关文件的链接好像坏了。
-
遇到了同样的问题。我有表格格式的数据。与标题重叠。还没有找到解决方案。
-
是的,我有相同类型的数据,都在一个表中。我最终使用了 PrinceXML。该死的昂贵,但它的工作原理。
标签: javascript phantomjs