Node.js 如何在PhantomJS中处理PDF分页

Node.js 如何在PhantomJS中处理PDF分页,node.js,pdf,pdf-generation,phantomjs,Node.js,Pdf,Pdf Generation,Phantomjs,我正在使用PhantomJS从html创建PDF 它工作得很好,但我不知道如何使用分页;我想为文档中的每个div创建一个页面,但在文档中找不到任何内容。关于分页 如果我的文档很短,它只生成一页,如果它更大,它会创建第二个空页,我的内容在第一页,这会变得很长 有什么想法吗?(我正在为nodeJS使用phantomJS节点模块)phantomJS负责webkit的css实现。要实现手动分页符,可以使用以下属性: 前分页符:自动/始终/避免/ 内部分页符:自动/始终/避免/ 之后的分页符:自动/始终

我正在使用PhantomJS从html创建PDF

它工作得很好,但我不知道如何使用分页;我想为文档中的每个div创建一个页面,但在文档中找不到任何内容。关于分页

如果我的文档很短,它只生成一页,如果它更大,它会创建第二个空页,我的内容在第一页,这会变得很长


有什么想法吗?(我正在为nodeJS使用phantomJS节点模块)

phantomJS负责webkit的css实现。要实现手动分页符,可以使用以下属性:

  • 前分页符
    :自动/始终/避免/
  • 内部分页符
    :自动/始终/避免/
  • 之后的分页符
    :自动/始终/避免/
例如,div可以是:

 <div style="page-break-before:always;"><!-- content --></div>



在Webkit中打印时控制分页符有时并不容易,特别是对于长html表

很晚了,但我在使用JsReport时遇到了“break-inside:avoid”问题,该问题通过将元素的显示类型更改为inline-block得到了修复。更多信息请点击此处:

您应该通过不同的提示来了解这一点


尝试在元素中使用
display:inline block
,您不想因为分页符而中断该元素。背后的原因是webkit已经试图保护图像不被破坏。并且图像是内联块。

分页可以很好地用于:

 var page = webPage.create();

 page.paperSize = {
  format: 'A4',
  orientation: 'portrait',
  margin: '1cm'
 }

检查此处的文档

将我的页面划分为div,除最后一页外,在每一页上应用分页符。就像一个charmi一样,它也面临着同样的问题,但是当在每个页面上添加分页符时,它会创建很多空间,你能帮我吗?PhantomJS目前不支持“内部分页符:避免”;根据github中的问题,它在源代码中是固定的,但在可下载的版本中不是:“刚从源代码构建,其固定:)”对于那些无法从源代码构建的用户,请尝试CSS Hack:这对我很有效,将其更改为display:table;允许元素分页符。
 var page = webPage.create();

 page.paperSize = {
  format: 'A4',
  orientation: 'portrait',
  margin: '1cm'
 }