2011-01-13 51 views
10

Tôi đang cố gắng sử dụng PDFKit làm phần mềm trung gian trong ứng dụng đường ray 3.Rails Lệnh PDFKit không thành công

tôi có thể sử dụng wkhtmltopdf từ dòng lệnh tốt, nhưng ứng dụng của tôi giữ ném cho tôi lỗi này

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" "-" "-" 

Nếu tôi chạy này trong thiết bị đầu cuối, nó chờ đợi cho đầu vào của tôi, vì vậy tôi gõ một đoạn mã HTML, sau đó nhấn Ctrl-d và nó phun ra những gì xuất hiện để được một số PDF ... nhưng không có may mắn trong đường ray.

Dưới đây là những gì tôi có:

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 

trong bộ điều khiển của tôi (dòng đầu tiên)

respond_to :html, :pdf 

Tôi nghĩ rằng tôi đã trải qua tất cả các chủ đề trên SO, Github và Google nhưng không may mắn.

Có ai có thể giúp hoặc chỉ cho tôi đúng hướng không?

cảm ơn, P.

Trả lời

1

Tại sao lỗi bắt đầu với

/Users/bobby/...
chưa cấu hình của bạn bắt đầu với
/Users/pierrelapree/...

Edit:

Một điểm khác biệt giữa mã của bạn và ví dụ trong README: https://github.com/pdfkit/PDFKit là chúng hiển thị config.middleware.use tham gia một lớp hoặc đối số mô-đun, không phải là một chuỗi.

Hãy thử thay đổi này

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

này

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

Tệ của tôi, tôi đã kiểm tra và chúng giống nhau. Tôi đã sửa câu hỏi – Pierre

+0

Vẫn trông khác nhau trong câu hỏi? Dù sao, một đề nghị ở trên. – jemminger

1

Các wkhtmltopdf mà đến như một viên ngọc là khá cũ. Gỡ cài đặt viên đá quý này và thử theo số wkhtmltopdf binary file sau. Tải xuống, giải nén và di chuyển nó đến /usr/local/bin/. Nó sẽ giúp.

6

Run và sao chép đường dẫn

mà wkhtmltopdf

Tạo :

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

Câu trả lời này đã sửa một cơn đau đầu lớn đối với tôi hai lần ngay bây giờ. –

Các vấn đề liên quan