2012-07-17 118 views
7
 render :pdf => "file_name", 
        :layout  => 'pdf.html.erb', 
        :template => 'transactions/show.pdf.erb', 
         :wkhtmltopdf => WICKED_PDF_BIN, 
         :show_as_html => true, 
        :layout => 'pdf.html.erb', 
        :header => {:html => { :template => 'shared/header.pdf.erb'}} 

PDF生成很好,很遺憾我沒有看到標題。我可以將標題粘貼在主佈局中,它也可以正常工作。在我看來,上面的標題行沒有被處理。文件名'header.pdf.erb'似乎並不重要。我可以將它指向一個不存在的文件,它不會引發錯誤。wicked_pdf不是渲染標題

這是Mac OS中,Rails的3.2.1,紅寶石1.9

+0

控制檯日誌中wkhtmltopdf的命令行是什麼?你是否看到類似於控制檯中pdf.html.erb中的Rendered shared/header.pdf.erb的內容? – HargrimmTheBleak 2012-07-17 20:12:18

+0

確保您使用的版本wkhtmltopdf與QT編譯的,也許嘗試消除你的身體margin和padding用CSS(可日食頁眉和頁腳) – Unixmonkey 2012-07-17 21:06:56

+1

我曾與頁腳相同的問題,問題是我wkhtmltopdf安裝: http://stackoverflow.com/questions/12181019/wicked-pdf-footer-not-working/12334202#12334202 – Ginty 2012-09-08 20:36:34

回答

3

你可能想簡單地呈現模板作爲一個字符串,並將其分配到頭部的內容。試試這個:

header: { 
    content: render_to_string(template: 'header.pdf.haml') 
} 

它適合我。

+1

這給了我:'config/initializers/wicked_pdf.rb:46:in'' :未定義的方法'render_to_string'for main:Object(NoMethodError)'我正在使用rails 3.2.16 – 2014-07-29 12:57:47

+0

'render_to_string'是[ActionController]上的方法(http://apidock.com/rails/ActionController/Base/render_to_string) 。它應該被定義,除非你在控制器之外,當然。 – ggentzke 2015-09-11 21:53:07