wicked_pdf:RuntimeError :(无法执行:错误:无法生成PDF!命令错误:)

时间:2014-08-26 18:45:32

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

我在stackoverflow上搜索了其他解决方案,但这些解决方案似乎与我遇到的具体问题没有相同。

我们在Ruby on Rails应用程序中使用wicked_pdf和wkhtmltopdf-binary。 PDF导出的代码仅针对与生产中的其他人(2个节点)相比具有大量信息的特定人员,但对其他人以及分段工作正常。

以下是我们获取的日志:

INFO: ***************WICKED***************
INFO:   Rendered application/_secondary_header.pdf.haml (3.1ms)
...
INFO:   Rendered application/show.pdf.haml within layouts/pdf (804.7ms)
INFO:   Rendered application/_primary_header.pdf.haml within layouts/pdf (151.8ms)
ERROR: Unable to fulfill your request RuntimeError(Failed to execute:\n"/usr/local/bin/wkhtmltopdf" -q  --header-html "file:////tmp/wicked_header_pdf20140813-28740-auazsr.html" --footer-right "[page] of [topage]" --footer-font-size 9    --margin-top 30  --encoding "UTF-8"   "file:////tmp/wicked_pdf20140813-28740-1vmda5h.html" "/tmp/wicked_pdf_generated_file20140813-28740-1hzlru0.pdf" \nError: PDF could not be generated!\n Command Error: )
 vendor/bundle/ruby/2.1.0/gems/wicked_pdf-0.9.10/lib/wicked_pdf.rb:79:in `rescue in pdf_from_string'
 vendor/bundle/ruby/2.1.0/gems/wicked_pdf-0.9.10/lib/wicked_pdf.rb:83:in `pdf_from_string'
 vendor/bundle/ruby/2.1.0/gems/wicked_pdf-0.9.10/lib/wicked_pdf/pdf_helper.rb:64:in `make_pdf'
 vendor/bundle/ruby/2.1.0/gems/wicked_pdf-0.9.10/lib/wicked_pdf/pdf_helper.rb:78:in `make_and_send_pdf'
 vendor/bundle/ruby/2.1.0/gems/wicked_pdf-0.9.10/lib/wicked_pdf/pdf_helper.rb:21:in `render_with_wicked_pdf'

应用程序中的代码:

controller.rb

def show
  render pdf: file_name,
         layout: 'pdf',
         margin: {
           top: 30
         },
         header: {
           html: {
             template: '_primary_header.pdf.haml'
           }
         },
         footer: {
           right: I18n.t('pdf.page_description'),
           font_size: 9
         },
         encoding: 'UTF-8'
end

系统详情:

  • Rails 4
  • Ruby 2.1.0
  • wicked_pdf 0.9.10
  • wkhtmltopdf-binary 0.9.9.1

注意:

  • 此错误日志出现在两个生产节点上。
  • 如果有人可以就此问题的原因提供任何假设,那就太好了。

任何意见都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

我已经更新了wkhtmltopdf-binary gem,一切正常。