wicked_pdf / wkhtmltopdf忽略Twitter Bootstrap css

时间:2012-11-13 16:20:33

标签: ruby-on-rails twitter-bootstrap wkhtmltopdf wicked-pdf

我无法使用以下来源的wicked_pdf / wkhtmltopdf在Ruby中生成pdf文档:

respond_to do |format|
  format.js
  format.pdf {
    render :pdf => pdf_filename(@invoice,false),
        :template => "invoices/generate",
        :layout => "document",
        :show_as_html => params[:debug]
  }
end

-                           

  <style type='text/css'>/*!
  * Bootstrap v2.1.1
  ...
  */
    .clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;}
    .clearfix:after{clear:both;}
   /*.... and so on twitter bootstrap css is definitely included here ..... */
  </style>
</head>
<body>
<div class="container">

  <div class="row">
   <div id="left" class="span6">
     <!-- any text here -->
   </div>
   <div id="right" class="span6">
     <!-- any other text here -->
   </div>
  </div>
</div>
</body>
</html>

生成的PDF确实完全忽略了bootstraps css(意味着文档的整个布局被扰乱)。但它完全加载到“风格”部分。

当我尝试调试(generate.pdf?debug = 1)输出html时,我确实得到了正确的格式,因为我想要它(#left是页面左侧的一列,#right是一个列上的右边)。

wkhtmltopdf是否能够呈现twitter bootstrap css?

我正在使用最新的wicked_pdf gem和wkhtmltopdf 0.11.0 rc1。

感谢您对此提出任何暗示!

2 个答案:

答案 0 :(得分:4)

在您的布局中,您必须在CSS include标签中提供绝对路径或使用提供的帮助程序:

wicked_pdf_stylesheet_link_tag 'application'

答案 1 :(得分:0)

没关系!!

更新到最新的Bootstrap 2.2.1版修复了它(之前有2.1.1)。不要问我为什么,但它一定是Bootstrap中的一个问题,我并不怀疑。