【问题标题】:wicked_pdf: RuntimeError: (Failed to execute: Error: PDF could not be generated! Command Error: )wicked_pdf:RuntimeError:(执行失败:错误:无法生成PDF!命令错误:)
【发布时间】:2023-03-14 17:10:01
【问题描述】:

我在 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

系统详情:

  • 导轨 4
  • Ruby 2.1.0
  • wicked_pdf 0.9.10
  • wkhtmltopdf-二进制 0.9.9.1

注意:

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

我们将不胜感激。

【问题讨论】:

  • 那么当您在生产机器上运行/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" 时会发生什么?
  • 这是我调查的一个限制。我不允许访问节点并在那里运行命令:(我正在寻找问题原因的可能假设,以便我可以先尝试在本地复制它。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 2017-04-10
    • 1970-01-01
    相关资源
    最近更新 更多