2011-02-27 28 views
8

Estoy buscando una gema o solución para generar imágenes en la respuesta del controlador.¿Cómo responder_ a PNG o JPG en Rails y generar imágenes desde HTML?

Sería bueno si es posible hacerlo en el controlador de esa manera:

respond_to :html, :png 

def show 
    ... 
    respond_to do |format| 
    format.html 
    format.png { ??? } # some html to png converter 
    end 
end 

Cuando se solicita el formato png la respuesta maneja con la plantilla:

#show.png.haml 
%h1 
    Some title 
%p 
    Some content 

El resultado debe ser una imagen .

que sé sobre pdf soluciones de generación de PDFKit, prawn y estoy buscando la generación de imágenes.

¿Alguien sabe una solución de trabajo/ejemplo? Cualquier punto de partida sería muy apreciado.

Respuesta

14

Salida aquí: 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

¿Qué hay de generación de imágenes. Si necesita convertir su página HTML en imagen. Puede utilizar wkhtmltoimage
http://code.google.com/p/wkhtmltopdf/downloads/detail?name=wkhtmltoimage-0.10.0_beta2-static-amd64.tar.bz2&can=4&q=

No hay joya como para pdfkitwkhtmltopdf pero es fácil de usar.

También puede usar la gema pdfKIT y luego convertir PDF a PNG con imagemagick. Eso es bastante fácil también.

UPD

Istead de utilizar SnapShot yo prefiero usar IMGKit joya

https://github.com/csquared/IMGKit

+0

@floor, gracias por la respuesta. Mi mal, no estaba muy claro con mi pregunta. La pregunta era más sobre la generación de imágenes desde html. Ahora lo aclaré. – Voldy

+0

¿Necesita convertir su html a la imagen? mira upate – fl00r

+2

gracias de nuevo. Hay una gema para 'wkhtmltopdf': https://github.com/siuying/websnap. Y aquí hay un ejemplo http://www.freezzo.com/2010/07/29/how-to-create-pdfs-and-images-from-your-website-in-rails/ – Voldy

Cuestiones relacionadas