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/