Как ответить в PNG или JPG в Rails и сгенерировать изображение из HTML?
Я ищу камень или решение для генерации изображения в ответ контроллера.
Было бы хорошо, если бы это можно было сделать в контроллере следующим образом:
respond_to :html, :png
def show
...
respond_to do |format|
format.html
format.png { ??? } # some html to png converter
end
end
Когда png
запрашивается формат, обрабатывает ответ с шаблоном:
#show.png.haml
%h1
Some title
%p
Some content
Результатом должно быть изображение.
Я знаю о pdf
Решения для генерации PDFKit, креветок и ищу генерацию изображений.
Кто-нибудь знает рабочее решение / пример? Любая отправная точка будет очень цениться.
1 ответ
Проверьте здесь: http://weblog.rubyonrails.org/2006/12/19/using-custom-mime-types
Mime::Type.register "image/png", :png
# then in your controller action
def show
respond_to do |format|
format.html { }
format.png { }
end
end
UPD
Как насчет генерации изображения. Если вам нужно конвертировать HTML-страницу в изображение. Ты можешь использовать wkhtmltoimage
http://code.google.com/p/wkhtmltopdf/downloads/detail?name=wkhtmltoimage-0.10.0_beta2-static-amd64.tar.bz2&can=4&q=
Там нет драгоценного камня, как pdfkit
за wkhtmltopdf
но это просто в использовании.
Также вы можете использовать pdfKIT
gem и после этого конвертируем PDF в PNG с помощью imagemagick. Это тоже довольно легко.
UPD
Возможность использования SnapShot
Я предпочитаю использовать IMGKit
драгоценный камень