10

我正在寻找在控制器响应中生成图像的 gem 或解决方案。

如果可以在控制器中这样做,那就太好了:

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大虾并且正在寻找图像生成。

有人知道可行的解决方案/示例吗?任何起点将不胜感激。

4

1 回答 1

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=

没有像pdfkitforwkhtmltopdf但它易于使用的宝石。

您也可以使用pdfKITgem,然后使用 imagemagick 将 PDF 转换为 PNG。这也很容易。

UPD

我不喜欢使用SnapShot我更喜欢使用IMGKitgem

https://github.com/csquared/IMGKit

于 2011-02-27T20:55:43.277 回答