Не можете заставить wicked_pdf работать на герою?(но это работает локально) - PullRequest
5 голосов
/ 19 мая 2011

Следуя инструкциям по https://github.com/jordan-brough/heroku-pdf Мне удалось заставить wicked_pdf работать локально и создавать PDF, как и ожидалось.Однако, как только я нажимаю на heroku, приложение через некоторое время вылетает каждый раз, когда я вызываю pdf

. В логах мне это так:Каталог bin, проверил права, и все ок.Сначала я попробовал 0.10rc2 и вернулся к 0.9.9, но все это дает те же результаты.

Я не могу найти в Google ничего, связанного с моей ошибкой.Я не понимаю, что я делаю не так.

Конверт: - rails 3.0.7 - ruby ​​1.8.7

Спасибо,

Ale

Ответы [ 6 ]

8 голосов
/ 09 сентября 2011

Я недавно создал GEM для двоичных файлов wkhtmltopdf для работы на heroku без необходимости устанавливать какие-либо двоичные файлы в своем собственном репозитории. Он также поставляется с двоичным файлом OSX (дарвин) для разработки. Он работал с PDFKit и, вероятно, должен работать с WickedPDF

https://github.com/bradphelan/wkhtmltopdf-heroku

или в вашем Gemfile как

gem "wkhtmltopdf-heroku"
5 голосов
/ 21 мая 2011

этот проект github был очень полезен для меня, у меня он запущен в rails 3 проекта благодаря этому

4 голосов
/ 15 июля 2011

Мне удалось выполнить шаги, описанные здесь https://github.com/jordan-brough/heroku-pdf, чтобы сделать свою собственную копию проекта, и она отлично работала локально и на герою.

Затем я обновил приложение для работы с рельсами 3.0.9. Он работает на герою http://heroku -pdf-3.heroku.com / . Вы можете взять мой код с здесь для этого проекта.

2 голосов
/ 22 декабря 2011

Для справки, я уже знал, где это прекрасно работает на нашей стадии env (та же настройка heroku), но развертывание в производство может прерваться из-за ошибки выше (но не всегда).

Когда это происходит, повторное развертывание сработало (понятия не имею, почему). Поскольку это git-репо, вам придется внести незначительные изменения, иначе он не позволит вам снова делать пуш.

1 голос
/ 30 апреля 2013

wicked_pdf использует wkhtmltopdf для преобразования HTML в PDF (как видно из названия).Вы можете скачать его двоичный файл здесь и поместить его в папку bin приложений.

Вам также необходимо создать инициализатор wicked_pdf.rb, указывающий на двоичный файл:

# config/initializers/wicked_pdf.rb

WickedPdf.config = {
  :exe_path => Rails.root.join('bin', 'wkhtmltopdf-amd64').to_s,
}

Однако, если вам нужно ввести изображения в ваши файлы PDF, вам потребуется работающий X-сервер.Поскольку вы не можете запустить X-сервер в Heroku, есть два выхода:

  • Используйте xvfb, чтобы обернуть ваш двоичный файл wkhtmltopdf в виртуальную среду X-сервера
  • УстановитьПоставщик HTML в PDF на другом сервере, где у вас больше гибкости, например, VPS в RackSpace или Amazon EC2.

Я предпочитаю второй вариант, так как он отсоединяет создание PDF на другом сервере и некомпрометирует остальную часть приложения с проблемами производительности.

Вы можете увидеть, как это сделать здесь: http://blog.hugerepo.com/2013/04/29/how-to-create-your-own-html-to-pdf-provider/

0 голосов
/ 25 августа 2012

У меня была такая же проблема.Я исправил это, используя сборку amd64 двоичного файла wkhtmltopdf вместо i386.

...