Wicked_pdf无法使用Heroku

时间:2011-10-24 03:34:06

标签: ruby-on-rails-3 heroku pdf-generation wicked-pdf

我正在完成我的应用程序的PDF报告实现,它在开发模式下完美运行,但是当上传到Heroku时,它不起作用,我收到以下错误:

2011-10-24T03:28:02+00:00 app[web.1]: RuntimeError (Failed to execute:
2011-10-24T03:28:02+00:00 app[web.1]: /app/.bundle/gems/ruby/1.9.1/bin/wkhtmltopdf --header-html 'file:///app/tmp/wicked_header_pdf_1_0.html' --footer-html 'file:///app/tmp/wicked_footer_pdf_1_0.html'     --orientation 'landscape' --page-size 'A4' --encoding 'UTF-8'   -q - - 
2011-10-24T03:28:02+00:00 app[web.1]: Error: PDF could not be generated!):
2011-10-24T03:28:02+00:00 app[web.1]:   app/controllers/gliders_controller.rb:244:in `block (2 levels) in report'
2011-10-24T03:28:02+00:00 app[web.1]:   app/controllers/gliders_controller.rb:228:in `report'

我已尝试添加初始化程序并按照此github repository中的示例手动将wkhtmltopdf bin文件上传到heroku,但我仍然无法使其工作。

我似乎无法理解为什么这在Heroku不起作用的确切原因,有人能帮我一把吗?提前谢谢。

3 个答案:

答案 0 :(得分:2)

我得到了它的工作。经过一番搜索,我找到了一个github仓库,它实现了一个与Rails 3和Heroku一起使用的wicked_pdf initializer

要在您的应用中完成此工作:

  1. 将bin目录复制到应用程序的根目录
  2. 将wickedpdf.rb复制到config / initializers目录中,以便从heroku获得相同的错误
  3. 从development.rb复制“config.after_initialize do”语句,以便在开发中找到您的本地二进制文件。

答案 1 :(得分:0)

Heroku是一个只读文件系统,您尝试在该系统上创建一个新文件。你不能这样做。

答案 2 :(得分:0)

使用wkhtmltopdf-binary gem将使wicked_pdf在所有环境中都能正常工作。这样就无需在本地计算机或任何生产服务器上手动安装wkhtmltopdf。

  

gem install wkhtmltopdf-binary

相关问题