无法让wicked_pdf在heroku上工作? (但它在本地工作)
按照关于https://github.com/jordan-brough/heroku-pdf的指导,我设法让wicked_pdf在本地工作并按预期创建PDF。 然而,一旦我推到Heroku的,经过一段时间的应用程序崩溃每次我打电话的PDF无法让wicked_pdf在heroku上工作? (但它在本地工作)
日志给了我这样的:
2011-05-19T06:36:56+00:00 app[web.1]: Started GET "/authors/cash_payment_receipt/4dd4aff0a2d5a5000100000c.pdf" for XXX.XXX.XXX.XXX at Wed May 18 23:36:56 -0700 2011
2011-05-19T06:36:56+00:00 heroku[router]: Error H13 (Connection closed without response) -> GET xxx.xxxx.com/authors/cash_payment_receipt/4dd4aff0a2d5a5000100000c.pdf dyno=web.1 queue=0 wait=0ms service=0ms bytes=0
2011-05-19T06:36:56+00:00 app[web.1]: !! Unexpected error while processing request: PDF could not be generated!
2011-05-19T06:36:56+00:00 app[web.1]: /app/.bundle/gems/ruby/1.8/gems/wkhtmltopdf-0.1.2/bin/wkhtmltopdf_linux_386: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory
我加入了wkhtmltopdf斌到我的轨道根/ bin目录,检查了权利,并没有问题。我首先尝试了0.10rc2并将其移回到0.9.9,但它们都给出了相同的结果。
我无法找到谷歌任何有关我的错误。我没有看到我做错了什么。
的ENV是: - 导轨3.0.7 - 红宝石1.8.7
感谢,
啤酒
项目,我能够遵循在此介绍https://github.com/jordan-brough/heroku-pdf使自己的项目复制的步骤,它能正常工作在本地和在Heroku。
然后我更新的应用程序使用Rails 3.0.9的工作。它在heroku http://heroku-pdf-3.heroku.com/上运行。您可以从该项目的here中获取我的代码。
我最近建立了一个创业板的wkhtmltopdf二进制文件在Heroku上,您无需在自己的仓库安装任何的二进制文件。它还包含了用于开发的OSX(达尔文)二进制文件。它曾与PDFKit,而且也应该与WickedPDF工作以及
https://github.com/bradphelan/wkhtmltopdf-heroku
或在您的Gemfile作为
gem "wkhtmltopdf-heroku"
我使用pdfkit生成PDF的.. 。为了生产目的,我将你的宝石包含在制作组中,并将我的应用程序推送到heroku,但未能生成pdf。我错过了什么?你有没有实施你的宝石的任何文档? – prem 2013-09-02 12:30:43
为了记录在案,我的经历:这工作完全在我们的舞台ENV(相同的Heroku设置),但部署到生产可以打破上面的错误(但并非总是)。
发生这种情况时,重新部署工作(不知道为什么)。因为它是一个git回购,你必须做一个小小的改动,否则它不会让你再推一次。
我有同样的问题。我通过使用wkhtmltopdf二进制文件的amd64版本而不是i386来修复它。
的wicked_pdf使用wkhtmltopdf
到HTML转换为PDF(正如其名字显然状态)。您可以下载其二进制文件here,并将其放置在您的应用程序bin
文件夹中。
您还需要创建一个wicked_pdf.rb
初始化指向二进制:
# config/initializers/wicked_pdf.rb
WickedPdf.config = {
:exe_path => Rails.root.join('bin', 'wkhtmltopdf-amd64').to_s,
}
但是,如果你需要输入图像转换成PDF文件,你需要一个X服务器上运行。既然你不能运行的Heroku一个X服务器,有两种出路:
- 使用
xvfb
到虚拟X服务器环境中包装你wkhtmltopdf二进制 - 在另一台服务器上安装HTML到PDF提供商,您可以获得更多灵活性,例如RackSpace或Amazon EC2中的VPS。
我更喜欢第二种选择,因为它将PDF创建分离到另一个服务器中,并且不会影响具有性能问题的其他应用程序。
你可以看到如何做到这一点的位置:http://blog.hugerepo.com/2013/04/29/how-to-create-your-own-html-to-pdf-provider/
这是否适用于pdfkit?并会宝石“wkhtmltopdf-heroku”做任何帮助,以方便安装? – prem 2013-08-24 09:20:10
我证明这个问题的答案很详细这里http://*.com/a/16577677/307308 – scarver2 2013-05-16 02:26:53