wkhtmltopdf 自动分页符
Posted
技术标签:
【中文标题】wkhtmltopdf 自动分页符【英文标题】:wkhtmltopdf automatic page breaks 【发布时间】:2012-07-22 16:47:59 【问题描述】:我通过wicked_pdf
在Rails 应用程序中使用wkhtmltopdf
v0.11.0 rc1(我知道wicked_pdf
不支持新的命令行参数表示法,我使用的是我自己的gem 分支)。我认为不适合页面的内容应该自动溢出到下一个页面,但事实并非如此 - 我看到文本刚刚被截断,有时在一行的中间。
我知道我可以使用 page-break-after:always
来布局我的页面,但这看起来像是肮脏的硬编码,而且 HTML 来自 ERB 模板,因此在哪里放置分页符并不总是很明显。
可以做些什么来自动插入分页符吗?我是否错过了有关其工作原理的一些信息?
生成的命令行如下所示
\"c:/program files (x86)/wkhtmltopdf/wkhtmltopdf.exe\"
--header-html \"file:///C:Users/bleak/AppData/Local/Temp/campaign_report.header.pdf_pdf_1580_0.html\"
--footer-html \"file:///C:/Users/bleak/AppData/Local/Temp/campaign_report.footer.pdf_pdf_1580_0.html\"
--margin-top 20 --margin-bottom 15 --margin-left 5 --margin-right 40
--page-size \"A4\"
page \"file:///C:/Users/bleak/AppData/Local/Temp/campaign_report_cover.pdf_pdf_1580_0.html\" --disable-javascript
toc --xsl-style-sheet \"c:/work/morizo/admoney/app/views/layouts/campaign_report.xsl\" - -
【问题讨论】:
尝试删除底部边距,边距在 PDF 上,而不是生成的页面,所以我认为它正在运行到边距,因此您看到它被切断了。 试过了。没关系,内容还是被截断了。我知道我不需要底部边距... 【参考方案1】:事实证明,这是因为 div
s 用于包装文档部分的固定大小:
div.page
width: 180mm;
height: 277mm;
overflow: hidden;
page-break-after: always;
一旦我删除了width
和height
,自动中断就开始按预期工作。很简单。
【讨论】:
接受这个答案确实是解决方案:) 你能把链接发布到你的 wicked_pdf fork 吗?与 0.11.0 rc1 一起使用会很棒 @HargrimmTheBleak 为什么是 180mm 和 277mm 而不是其他数字? 这是不久前的事了,所以我对细节不再那么清楚了。我的猜测是,这些数字最初是经过定制的,以便为页眉和页脚留出足够的空间。以上是关于wkhtmltopdf 自动分页符的主要内容,如果未能解决你的问题,请参考以下文章
HTML/CSS - 分页符上的表头(Webkit) Laravel PDF