Не удается создать PDF с pdfkit - PDFKit :: NoExecutableError - PullRequest
4 голосов
/ 07 марта 2012

Я установил pdfkit и даже установил wkhtmltopdf, однако я получаю следующую ошибку каждый раз, когда пытаюсь создать pdf.

PDFKit::NoExecutableError 
No wkhtmltopdf executable found at bundler: command not found: which
Install missing gem executables with `bundle install`
>> Please install wkhtmltopdf - https://github.com/jdpace/PDFKit/wiki/Installing-WKHTMLTOPDF

Мой Gemfile имеет следующее:

gem 'jquery-rails'
gem 'devise'
gem 'carrierwave'
gem "wkhtmltopdf"
gem 'pdfkit'

И мой application.rb имеет следующую запись:

config.middleware.use "PDFKit::Middleware", :print_media_type => true

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

Ответы [ 3 ]

6 голосов
/ 07 марта 2012

Вы должны прочитать Installme здесь:

https://github.com/jdpace/PDFKit

, поэтому вам нужно установить wkhtmltopdf вручную:

https://github.com/jdpace/PDFKit/wiki/Installing-WKHTMLTOPDF

или как этот

gem install wkhtmltopdf-binary

PS

проверьте which wkhtmltopdf

и создайте новый файл конфигурации/initializers/pdfkit.rb

PDFKit.configure do |config|
  config.wkhtmltopdf = 'PATH/TO/wkhtmltopdf'
end
2 голосов
/ 21 июля 2012

Али,

Я не вижу, чтобы вы упоминали, в какой операционной системе вы находитесь.И Fl00r, и я предполагаем, что это система Linux, так что настройте соответственно.Это то, что мне нужно было сделать, чтобы PDFKit работал с wkhtmltopdf для моего приложения Rails, работающего на 64-битной Ubuntu 12.04 LTS.

Удалите все ссылки на wkhtmltopdf или wkhtmltopdf-binary из вашего Gemfile.

Добавьте только gem 'pdfkit', :require => 'pdfkit' в свой Gemfile

В свой config/initializers/mime_types.rb файл добавьте

Mime::Type.register "application/pdf", :pdf

Удалите любой config/initializers/pdfkit.rb файл

Удалите драгоценные камнис сервера, на котором вы запускаете приложение Rails на

gem uninstall wkhtmltopdf -a
gem uninstall wkhtmltopdf-binary -a

Загрузите на свой сервер wkhtmltopdf-0.10.0_rc2-static-amd64.tar.bz2 с сайта загрузки проекта здесь .В последних предложенных загрузочных версиях есть ошибка, которая не позволяет пользователю выбирать и копировать текст из сгенерированного PDF, но в этой версии такой ошибки нет.Ссылка на эту проблему: http://code.google.com/p/wkhtmltopdf/issues/detail?id=886

Извлечение исполняемого файла из архива tar

tar -xvf wkhtmltopdf-0.10.0_rc2-static-amd64.tar.bz2

Перемещение его в каталог /usr/local/bin/

sudo mv wkhtmltopdf-0.10.0.rc2 /usr/local/bin/

Теперь настройтесимволическая ссылка на файл, так что позже ее легко обновить

sudo ln -s /usr/local/bin/wkhtmltopdf-0.10.0.rc2 /usr/local/bin/wkhtmltopdf

Установить разрешения для файла

sudo chmod 755 /usr/local/bin/wkhtmltopdf-0.10.0.rc2

После всего этого и перезапустить мой сервер, PDFKitтеперь будет использовать wkhtmltopdf, который я установил на сервере.

Предупреждение: Однажды мое Rails-приложение начало сообщать, что не может найти исполняемый файл wkhtmltopdf в пути, не зная почему, поскольку ничего не изменилось.Перезапуск сервера исправил эту проблему.

0 голосов
/ 11 августа 2014

Ничто из вышеперечисленного не сработало для меня. Я попробовал решение, опубликованное здесь https://github.com/pdfkit/pdfkit/issues/123

...