Я пытаюсь отобразить pdf-файл моей модели, содержащий изображения, хранящиеся в dragonfly, используя wkhtmltopdf, но я не могу заставить его работать. Html-страница отлично отображает, когда я использую опцию debug для wkhtmltopdf, но сам pdf-файл просто получает пустой ящик, куда должно идти изображение. До сих пор я нашел только два сайта, где это воспитывалось (a german blog и a google forum thread), но ни одно решение не разрешило его для меня. Мое подозрение в том, что я должен использовать абсолютные пути к файлам изображений, который предлагается в blog, но когда я пытаюсь это решение сервер застревает на:Изображения рендеринга Dragonfly в PDF с использованием wicked-pdf
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
Любые советы будут оценены!
Пожалуйста, укажите значение 'image.url'. Вы уверены, что это общеизвестный путь? Какая ОС у вас на стороне сервера, Linux или Windows? –
Он работает на геройку в производстве и Linux локально. И нет, URL-адрес не является абсолютным, я думаю, что это одна из проблем, но я не нашел способ сделать его абсолютным и все еще визуализировать. – Ozgar
Вы можете попробовать: '<% = image_tag" # {Rails.root.to_s} /media/W1siZiIsIjYyIl1d/imagename.png "if image_stored? %> ' –