Css wkhtmltopdf文本分为两页

Css wkhtmltopdf文本分为两页,css,ruby-on-rails,pdf-generation,wkhtmltopdf,pdfkit,Css,Ruby On Rails,Pdf Generation,Wkhtmltopdf,Pdfkit,我正在使用wkhtmltopdf(通过“pdfkit”ruby gem)从html生成pdf。页面中有一个部分的文本内容很长,通常跨越2页(或更多页)。有时会发生的情况是,一行文本被拆分成几页。这里有一幅图片可以帮助你理解我的意思: 现在我已经对此做了相当多的研究:例如,我在sorrounding div上尝试了CSS修复(这是在其他一些stackoverflow问题中提出的),如下所示: page-break-inside:avoid !important; 和/或 page-break-

我正在使用wkhtmltopdf(通过“pdfkit”ruby gem)从html生成pdf。页面中有一个部分的文本内容很长,通常跨越2页(或更多页)。有时会发生的情况是,一行文本被拆分成几页。这里有一幅图片可以帮助你理解我的意思:

现在我已经对此做了相当多的研究:例如,我在sorrounding div上尝试了CSS修复(这是在其他一些stackoverflow问题中提出的),如下所示:

page-break-inside:avoid !important;
和/或

page-break-before: always !important;
没用

我也尝试过:

display: block !important;
这也没用

有人知道如何解决这个问题吗


仅供参考:我使用的是wkhtmltopdf的最新版本:wkhtmltopdf-0.11.0_rc1

此解决方案适用于
wicked pdf
wkhtmltopdf

一旦遇到类似问题,但通过将
配置
文件夹
wicked_pdf.rb
文件中的内容更改为

WickedPdf.config = {
    :layout => "pdf.html",
    :margin => {    :top=> 60, #previously 40
                    :bottom => 40, #previously 20
                    :left=> 30,
                    :right => 30},
    :header => {:html => { :template=> 'layouts/pdf_header.html'}},
    :footer => {:html => { :template=> 'layouts/pdf_footer.html'}},
    :exe_path => '/usr/bin/wkhtmltopdf'
}
从以前的
更改为新值
,在本地机器上运行良好

每当您在
wicked_pdf.rb
中进行更改时,必须重新启动服务器,并确保
分页符:always
位于正确的位置


希望这有帮助:)

在我的例子中,通过注释以下css解决了问题:

html, body {
  overflow-x: hidden;
} 
如前一答案的一条评论所述:


检查此div或父div是否将溢出设置为隐藏。如果是,请将其更改为可见


在我的例子中,完全删除溢出属性就完成了任务

我正在使用pdfkit。我以前也用过分页符:总是;在几个容器/父div上,没有任何成功。这似乎是一个wkhtmltopdf问题,而不是一个库的问题。你能显示/链接到HTML和CSS吗?我每天都使用wkhtmltopdf,对我来说这不是问题,所以我想用你的数据和场景进行测试。嗯。。我将相同的html内容传递给wkhtmltopdf的“linux”静态二进制文件,问题就消失了。我现在想这可能是Mac版本的问题。一旦我找到答案,我会把它贴出来。在此期间,我将感谢任何帮助。p、 似乎当你在自制安装的软件包上运行wkhtmltopdf——版本时,它显示的版本号是错误的。实际安装的版本似乎为0.10 rc。请检查此div或父div是否将溢出设置为隐藏。如果是,请将其更改为可见。这为我解决了这个问题。