레일즈 3 앱에서 뷰를 PDF로 렌더링하려고 시도 할 때 PDFKit (wkhtmltopdf)을 사용하고 있습니다. 내가 예상대로 wkhtmltopdf이 Rails.root
작품 내에서 wkhtmltopdf public/404.html tmp/404.pdf
등이 오류의 원인 아니라는 것을 알고PDFKit (wkhtmltopdf) 깨진 파이프, OS X 및 레일 3
# Controller
def show
respond_to do |format|
format.html { render }
format.pdf do
html = render_to_string(:layout => false , :action => "show.html.haml")
kit = PDFKit.new(html)
send_data(kit.to_pdf, :filename => "invoice.pdf", :type => 'application/pdf')
return # to avoid double render call
end
end
end
# Gemfile
...
gem 'pdfkit'
gem 'wkhtmltopdf'
...
:
PDFKit 내 컨트롤러 show 액션에서 send_data(kit.to_pdf, :filename => "generated.pdf", :type => 'application/pdf')
-Errno::EPIPE (Broken pipe)
가리키는 렌더링합니다.
같은 방식으로 미들웨어를 사용한 후에 example from jonathanspies.com을 사용하고 있습니다. 수동으로 명령을 실행
command failed: "~/.rvm/gems/[email protected]/bin/wkhtmltopdf" "--page-size" "Letter" "--margin-right" "0.75in" "--margin-top" "0.75in" "--margin-bottom" "0.75in" "--encoding" "UTF-8" "--margin-left" "0.75in" "--quiet" "-" "-"
및 사용 화면이 쉽지 인 --quiet 옵션을보고, 표시됩니다
# config/application.rb
require 'pdfkit'
config.middleware.use PDFKit::Middleware
신선한 레일 3 응용 프로그램을 그것을 시도 후, 나는 다음과 같은 오류가 발생합니다 그게 - 그걸 봐야한다고 볼 수
/lib/pdfkit/pdfkit.rb:35 변경 다음과 예상대로 작동합니다 (미들웨어도).
args << '--quit'
그래서 다시 한 번 질문을 작성하여 도움을 요청하면서 문제를 해결했습니다. (항상 세부 사항을 지불해야합니다.) 맞춤법 오류 (항상 눈치 채지 않는 어리석은 실수)를 수정하는 pull request을 제출했습니다. 아무도 나를 어쨌든 게시하는 것을 바라지 않기를 바랍니다.
게시 해 주셔서 감사합니다. –
솔루션을 답변으로 게시하고 동의 할 수 있습니다. 그냥 SO 엔진을 행복하게 만드십시오. :) –