pdf_kit gem で PDF ファイルを生成する際に問題があります。これらのコマンドをアプリ コンソール (RAILS_ENV=production rails c) で実行すると、次のようになります。
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')
production.log にこのエラーが表示されます
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'
以下を使用して、 wkhtmltopdf のパスを既に確認しました。
which wkhtmltopdf
/root/.rbenv/shims/wkhtmltopdf
だから正しいと思います。ちなみに、これはconfig/initializers/pdfkit.rbにあります
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
私はnginx + passengerの下にいます。問題は、nginxの設定(利用可能なプロセスなど)で何らかの形で関連している可能性がありますか?ありがとうございました