3

次のソースから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は、ブートストラップcssを完全に無視します(つまり、ドキュメントのレイアウト全体がスクランブルされます)。しかし、それは完全に「スタイル」セクションにロードされます。

出力htmlをデバッグ(generate.pdf?debug = 1)しようとすると、希望どおりの正しいフォーマットが得られます(#leftはページの左側の列、#rightは右側の列です) 。

wkhtmltopdfはtwitterブートストラップcssをレンダリングできますか?

私はwkhtmltopdf0.11.0rc1で最新のwicked_pdfgemを使用しています。

これについてのヒントをありがとう!

4

2 に答える 2

4

レイアウトでは、CSSインクルードタグに絶対パスを指定するか、提供されているヘルパーを使用する必要があります。

wicked_pdf_stylesheet_link_tag 'application'
于 2012-11-14T13:09:54.233 に答える
0

どうでも !!

最新のBootstrapバージョン2.2.1に更新すると、修正されました(2.1.1より前)。理由を聞かないでください。しかし、それは私が疑っていなかったBootstrapの問題だったに違いありません。

于 2012-11-14T15:04:51.807 に答える