我正在寻找一个宝石或解决方案来在控制器响应中生成图像。
如果能够在控制器中做到这一点会很好:
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,prawn并正在寻找图像生成。
有人知道工作解决方案/示例吗?任何起点都将非常感激。
答案 0 :(得分:14)
点击此处: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,然后使用imagemagick将PDF转换为PNG。这也很容易。
<强> UPD 强>
不使用SnapShot
我更喜欢使用IMGKit
gem