wkhtmltopdf自动分页符

时间:2012-07-24 11:14:23

标签: ruby-on-rails pdf pdf-generation wkhtmltopdf wicked-pdf

我通过wkhtmltopdf在Rails应用程序中使用wicked_pdf v0.11.0 rc1(我知道wicked_pdf不支持新的命令行参数表示法,我正在使用我自己的宝石的叉子)。我认为不适合页面的内容应该自动溢出到下一页,但事实并非如此 - 我看到文本被剪掉了,有时候在一行中间。

我知道我可以使用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\"  - - 

1 个答案:

答案 0 :(得分:14)

事实证明,由于div用于包装文档部分的固定大小,发生了这种情况:

div.page {
  width: 180mm;
  height: 277mm;
  overflow: hidden;
  page-break-after: always;
}

删除widthheight后,自动中断已按预期开始工作。简单。