Как установить PDFKit?(Rails 3.2.1 и PDFKit 0.5.2) - PullRequest
5 голосов
/ 18 марта 2012

Я пытаюсь использовать PDFKit.

Выглядит довольно просто, поэтому я пытаюсь следовать Раям Райана .

Поэтому я добавил камень вмой GemFile и обновил мой application.rb с помощью:

config.middleware.use "PDFKit::Middleware"

После этого я установил wkhtmltopdf в Linux с:

apt-get install wkhtmltopdf

И я убедился, что он работает:

[nicolas@Minto]%wkhtmltopdf www.google.com gogole.pdf
Loading page (1/2)
Printing pages (2/2)                                               
Done

Все выглядит хорошо, пока я не попытаюсь добавить .pdf на одну из моих страниц ...

Сайт всегда находится в состоянии загрузки.Когда я останавливаю сервер с Ctrl - C в консоли, я получаю следующую ошибку:

RuntimeError (command failed: "/usr/bin/wkhtmltopdf" "--page-size" "Letter" "--margin-top" "0.75in" "--margin-right" "0.75in" "--margin-bottom" "0.75in" "--margin-left" "0.75in" "--encoding" "UTF-8" "--print-media-type" "--quiet" "-" "-"):
  pdfkit (0.5.2) lib/pdfkit/pdfkit.rb:71:in `to_pdf'
  pdfkit (0.5.2) lib/pdfkit/middleware.rb:21:in `call'

Что я делаю не так?

Ответы [ 4 ]

0 голосов
/ 26 октября 2012

У нас есть связанная проблема: Поколение PDF зависает с использованием PDFKit и wkhtmotopdf

Цитировать решение из Берлингтон :

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

Я попробовал это, и это сработало для меня.

Я думаю, что это связано с активами, такими как JavaScript и таблицы стилей с относительным путем.

0 голосов
/ 19 марта 2012

Хорошо, так,

Потребовалось несколько часов на поиск в Google, но я наконец нашел решение в другом вопросе: pdfkit некорректно рендерится в рельсах 3.1

Спасибо за помощь.

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

Я также следовал за Раяном Райана, приведенным .

PDFkit зависит от wkhtmltopdf.rb.Любая версия> 0.9.9 приводила к зависанию процесса создания PDF непосредственно перед завершением, требуя Ctrl-C. Я использую OS X 10.6.8, а не Linux.Однако попробуйте:

wkhtmltopdf --version

Если это> 0,9,9, то откат до 0,9,9.Решил мою проблему.Мне потребовались часы, чтобы понять.

0 голосов
/ 18 марта 2012

Я недавно играл с PDFKit и заставил его работать в моем приложении rails, и столкнулся с аналогичной проблемой.
Три шага, которые вам нужны:

  1. Вам нужно будет поместить gem "pdfkit" в ваш GemFile.
  2. Поместите config.middleware.use PDFKit :: Middleware в application.rb файл, который у вас уже есть.
  3. Попробуйте поместить следующий код в pdfkit.rb файл в папке 'config / initializers' .

    PDFKit.configure do | config |

    config.wkhtmltopdf = 'C: \ software \ utilities \ wkhtmltopdf \ wkhtmltopdf.exe' #Path к каталогу установки wkhtmltppdf

    config.root_url = "http://localhost" # Используйте, только если ваше внешнее имя хоста недоступно на сервере.

    конец

...