Css wkhtmltopdf文本分为两页
我正在使用wkhtmltopdf(通过“pdfkit”ruby gem)从html生成pdf。页面中有一个部分的文本内容很长,通常跨越2页(或更多页)。有时会发生的情况是,一行文本被拆分成几页。这里有一幅图片可以帮助你理解我的意思: 现在我已经对此做了相当多的研究:例如,我在sorrounding div上尝试了CSS修复(这是在其他一些stackoverflow问题中提出的),如下所示: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-
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是否将溢出设置为隐藏。如果是,请将其更改为可见。这为我解决了这个问题。