2012-07-17 68 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