【问题标题】:wicked_pdf is not rendering headerwicked_pdf 不呈现标题
【发布时间】:2012-07-16 19:29:19
【问题描述】:
        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”似乎无关紧要。我可以将它指向一个不存在的文件并且它不会引发错误。

这是 Mac OS,Rails 3.2.1,ruby 1.9

【问题讨论】:

  • 控制台日志中 wkhtmltopdf 的命令行是什么?你在控制台中看到类似Rendered shared/header.pdf.erb within pdf.html.erb 的东西吗?
  • 确保您使用的是使用 QT 编译的 wkhtmltopdf 版本,或许可以尝试使用 CSS 消除正文边距和填充(这会使页眉和页脚黯然失色)
  • 我的页脚也有同样的问题,问题是我的 wkhtmltopdf 安装:stackoverflow.com/questions/12181019/…

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


【解决方案1】:

您可能只想将模板呈现为字符串并将其分配给标题的内容。试试这个:

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

它对我很有效。

【讨论】:

  • 这给了我:config/initializers/wicked_pdf.rb:46:in ': undefined method render_to_string' for main:Object (NoMethodError) 我正在使用 rails 3.2.16
  • render_to_stringActionController 上的一个方法。当然,除非您在控制器之外,否则应该定义它。
猜你喜欢
  • 1970-01-01
  • 2019-03-20
  • 1970-01-01
  • 1970-01-01
  • 2013-06-16
  • 1970-01-01
  • 2019-04-22
  • 2012-04-22
  • 1970-01-01
相关资源
最近更新 更多