【问题标题】:How to respond_to PNG or JPG in Rails and generate image from HTML?如何在 Rails 中响应 PNG 或 JPG 并从 HTML 生成图像?
【发布时间】:2011-02-27 20:20:34
【问题描述】:

我正在寻找在控制器响应中生成图像的 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 生成解决方案PDFKitprawn 并且正在寻找图像生成。

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

【问题讨论】:

    标签: ruby-on-rails-3 image-generation responders


    【解决方案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=

    wkhtmltopdf 没有像 pdfkit 这样的 gem,但它很容易使用。

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

    UPD

    我不使用SnapShot,我更喜欢使用IMGKit gem

    https://github.com/csquared/IMGKit

    【讨论】:

    • @floor,感谢您的回复。我的不好,我的问题不是很清楚。问题更多是关于从 html 生成图像。现在我澄清了。
    • 您需要将您的 html 转换为图像吗?抬头看
    • 再次感谢。 wkhtmltopdf 有一颗宝石:github.com/siuying/websnap。这是一个例子freezzo.com/2010/07/29/…
    猜你喜欢
    • 1970-01-01
    • 2020-06-19
    • 2011-09-02
    • 1970-01-01
    • 2012-01-19
    • 2020-02-01
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    相关资源
    最近更新 更多