wkhtmltopdfを使用してdragonflyで保存された画像を含むモデルのpdfをレンダリングしようとしていますが、動作させることができません。 wkhtmltopdfのデバッグオプションを使用すると、htmlページがうまく描画されますが、pdf自体は画像が表示される空のボックスを取得するだけです。 これまでのところ私は2つのサイトを見つけましたが(a german blogとa google forum thread)、いずれの解決策もそれを解決しませんでした。 私の疑惑は、私がblogで提案された画像ファイルへの絶対パスを使用する必要があるということですが、私はそのソリューションをしようとすると、サーバーがで立ち往生:wicked-pdfを使用してPDFでDragonflyの画像をレンダリングする
Rendered images/show.pdf.erb (19.9ms)
"***************[\"/home/oskar/.rbenv/versions/2.2.3/bin/wkhtmltopdf\",
\"-q\", \"--encoding\", \"utf8\", \"--orientation\", \"Landscape\",
\"file:////tmp/wicked_pdf20161007-8095-1nlruhe.html\", \"/tmp
/wicked_pdf_generated_file20161007-8095-1f6vr27.pdf\"]***************"
私のコードは次のようになります。
image.rb
class Image < ActiveRecord::Base
dragonfly_accessor :image
end
images_controller.rb:
def show
respond_to do |format|
format.html
format.pdf do
render pdf: 'name',
background: true,
encoding: 'utf8',
orientation: 'Landscape',
:show_as_html => params[:debug].present?
end
end
end
show.pdf.erb:
<% if params[:debug].present? %>
<%= stylesheet_link_tag 'document' %>
<%= stylesheet_link_tag 'pdf' %>
<% else %>
<%= wicked_pdf_stylesheet_link_tag 'document' %>
<%= wicked_pdf_stylesheet_link_tag 'pdf' %>
<% end %>
...
<%= image_tag image.url if image.image_stored? %>
...
image.url = http://localhost:3000/media/W1siZiIsIjYyIl1d/imagename.png
何かアドバイスが理解されるであろう!あなたは、私が知っているwicked_pdf_image_tag
<%= wicked_pdf_image_tag image.url if image.image_stored? %>
「image.url」の値を表示してください。あなたは絶対パスだと確信していますか?あなたはあなたのサーバー側、Linux、またはWindowsでどのOSを持っていますか? –
これは、プロダクションやLinuxでherokuをローカルで実行しています。 URLは絶対的なものではありませんが、それは問題の1つだと思いますが、絶対的なものにしてレンダリングする方法は見つけられませんでした。 – Ozgar
次のように試してみてください: '<%= image_tag"#{Rails.root.to_s} /media/W1siZiIsIjYyIl1d/imagename.png "image_storedならば? %> ' –