2012-03-18 2 views
5

Я пытаюсь использовать PDFKit.Как установить PDFKit? (Rails 3.2.1 и PDFKit 0.5.2)

Это выглядит довольно просто, поэтому я стараюсь следовать Ryan's Rails cast.

Поэтому я добавил драгоценный камень в мой Gemfile и обновил мой application.rb с:

config.middleware.use "PDFKit::Middleware" 

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

apt-get install wkhtmltopdf 

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

[[email protected]]%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' 

Что я делаю неправильно?

+0

Я думаю, что вы используете 'Webrick' как HTTP-сервер. Можете ли вы попытаться использовать «Тонкий»? –

+1

@nash: Спасибо, что показал мне Тонкий (я обычно использую дворняжку, но я действительно использовал Webrick, позор мне: p). В любом случае, он делает то же самое с Thin :( –

ответ

0

ИТАК,

Взял несколько часов, но прибегая к помощи я наконец-то нашел решение в других StackOverflow вопрос: pdfkit not rendering correctly in rails 3.1

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

0

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

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

    PDFKit.configure do | config |

    config.wkhtmltopdf = 'C: \ Software \ Утилиты \ wkhtmltopdf \ wkhtmltopdf.exe' #Path вашему wkhtmltppdf каталог установки

    config.root_url = "HTTP: // локальный" # Используйте только если внешний hostname недоступно на сервере.

    конец

+0

Спасибо, я попробовал ваше решение, но мой путь уже был прав! –

0

Я также следовал Ryan's Rails cast.

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

wkhtmltopdf --version 

Если оно> 0.9.9, откат к 0.9.9. Решила мою проблему. Принял несколько часов, чтобы понять.

0

Мы имеем родственную задачу здесь: PDF Generation hangs using PDFKit and wkhtmotopdf

Цитирование решение от Beerlington:

Try removing any javascript include tags from your HTML and see if that at least lets the PDF render. If that works, then you at least have a starting point.

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

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

Смежные вопросы