2011-01-13 2 views
10

Я пытаюсь использовать PDFKit в качестве промежуточного программного обеспечения в приложении rails 3.Ошибка в команде Rails PDFKit

я могу использовать wkhtmltopdf из командной строки просто отлично, но мое приложение продолжает бросать мне эту ошибку

command failed: "/Users/bobby/.rvm/gems/ruby-1.9.2-p0/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" "-" "-" 

Если я запускаю это в терминале, он ждет моего входа, поэтому я ввожу некоторые HTML, то нажмите Ctrl-d, и он плюет то, что кажется некоторым PDF ... но не повезло в рельсах.

Вот что у меня есть:

application.rb

require File.expand_path('../boot', __FILE__) 

require 'rails/all' 
require 'pdfkit' 
Bundler.require(:default, Rails.env) if defined?(Bundler) 

module Mpr 
    class Application < Rails::Application 

    YEARS_ARRAY = (2006..2012).map {|y| [y,y]}.unshift(["Year",nil]) 
    MONTHS_ARRAY = (1..12).map{|m| [ Date::MONTHNAMES[m], m]}.unshift(["All months",nil]) 
    config.middleware.use "PDFKit::Middleware", :print_media_type => true 
    PDFKit.configure do |config| 
     config.wkhtmltopdf = '/Users/bobby/.rvm/gems/ruby-1.9.2-p0/bin/wkhtmltopdf' 
    end 
    end 
end 

в мой контроллер (первая линия)

respond_to :html, :pdf 

Я думаю, что я прошел через все резьбы на SO, Github и Google , но не повезло.

Может ли кто-нибудь помочь или указать мне в правильном направлении?

спасибо, П.

ответ

1

Почему начать ошибка с

/Users/bobby/...
пока ваш конфиг начинается с
/Users/pierrelapree/...

Edit:

Еще одно различие между кодом и, например, в README: https://github.com/pdfkit/PDFKit является то, что они показывают config.middleware.use, принимая аргумент класса или модуля, а не строку. изменение этого

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

к этому

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

Мой плохой, я проверил, и они такие же. Я исправил вопрос – Pierre

+0

Все еще выглядит по-другому в вопросе? Во всяком случае, еще одно предложение выше. – jemminger

1

The wkhtmltopdf, который приходит, как драгоценный камень довольно старый

Try. Удалите этот камень и попробуйте следующее: wkhtmltopdf binary file. Загрузите, распакуйте и переместите его на /usr/local/bin/. Это должно помочь.

6

Run и скопировать путь

который wkhtmltopdf

Создать :

PDFKit.configure do |config| 
    config.wkhtmltopdf = '/path/to/wkhtmltopdf' 
end 
+1

Этот ответ устранил огромную головную боль для меня дважды. –

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