2013-01-01 3 views
1

pdf_kit gem으로 PDF 파일을 생성하는 데 문제가 있습니다. 내가 내 응용 프로그램 콘솔에서 이러한 명령 (RAILS_ENV = 생산 레일 c)를 실행하는 경우 :rails 및 pdfkit가 컨트롤러에서 pdf를 생성 할 수 없습니다.

kit = PDFKit.new(html, :page_size => 'Letter') 
file = kit.to_file('./demo.pdf') 
내가 제대로 생성 된 PDF 파일을 볼 수 있습니다

하지만 액션 컨트롤러에 같은 일을하려고하면,이 방법 :

kit = PDFKit.new("ciao") 
kit.to_file('/root/app/bidimal/demo1.pdf') 

나는 이미 사용하여 wkhtmltopdf의 경로를 확인했습니다

RuntimeError (command failed: "/root/.rbenv/shims/wkhtmltopdf" "--encoding" "UTF-8" "--page-size" "A4" "--margin-top" "0.25in" "--margin-right" "0.25in" "--margin-bottom" "0.25in" "--margin-left" "0.25in" "--quiet" "-" "/root/app/bidimal/demo1.pdf"): 
    app/controllers/winners_controller.rb:69:in `invoice' 

production.log이 오류가 발생합니다 :

which wkhtmltopdf 
/root/.rbenv/shims/wkhtmltopdf 

그래서 정확하다고 생각합니다. 그런데 내가 nginx를 + 승객 아래에있어

PDFKit.configure do |config| 
    config.wkhtmltopdf = '/root/.rbenv/shims/wkhtmltopdf' 
    config.default_options[:ignore_load_errors] = true 
    config.default_options = { 
    :encoding=>"UTF-8", 
    :page_size=>"A4", 
    :margin_top=>"0.25in", 
    :margin_right=>"0.25in", 
    :margin_bottom=>"0.25in", 
    :margin_left=>"0.25in", 
    :disable_smart_shrinking=>false 
    } 
end 

설정/초기화/pdfkit.rb이를했습니다, 문제는 (가능 등 프로세스와 같은) 어떤의 nginx 설정에서 어떻게 든 관련이있을 수 있습니까? 감사합니다.

+0

여기에서 올바른 bin을 http://code.google.com/p/wkhtmltopdf/downloads/list에서 다운로드하고이를 가리 키기 위해 pdfkit.rb를 변경했습니다. 그것은 잘 작동 –

+1

그래서 문제가 해결 되었습니까? 그렇다면 답을 게시하거나 질문을 닫는 것을 고려하십시오. – PinnyM

답변

1

최근 wkhtmltopdf-binary gem에서 문제가 발생하기 시작했습니다. 아직 어떤 일이 발생했는지 확실하지 않습니다.

이 문제를 해결하려면, 나는 다음과 같은 한 :
  1. 내가 내 gemfile
  2. 에서 wkhtmltopdf 바이너리 보석을 제거 나는 또한 내 rbenv 환경에 설치이 보석을했다. 서버에 로그인하여 gem uninstall wkhtmltopdf-binary를 제거하여 삭제했습니다.
  3. wkhtmltopdf 실행 파일을 시스템에 직접 설치했습니다. (나에게 명령을 apt-get을 설치 wkhtmltopdf sudo를했다 그래서 내가 우분투 오전)
  4. 나는 다음과 같은

PDFKit.configure do |config| config.wkhtmltopdf = '/usr/local/bin/wkhtmltopdf' end

에 "설정/초기화/pdfkit.rb"내 레일 응용 프로그램에서 초기화를 만들어

그리고 모든 것이 다시 시작되었습니다.

+0

고마워요 !!! –