Dagi3d v4

acts_as_flying_saucer: plugin para generar documentos pdf con Rails

flying-saucerParece que la cosa sigue yendo de reescribir código antiguo ya que a raiz de un comentario en  el post sobre ­cómo generar documentos pdf en una aplicación Rails con la librería Flying Saucer, he empaquetado el sistema en un plugin con lo que ahora resulta realmente sencillo poder convertir una vista en un pdf.
Además ya no hace falta preocuparse por las rutas de las hojas de estilos e imágenes(para escribir el pdf éstas tenían que apuntar a recursos locales) ya que cambiarán automáticamente dependiendo de si estamos renderizando la vista en el navegador o estamos guardando el pdf.

Para hacerlo funcionar basta con instalar el plugin:

­./script/plugin install git://github.com/dagi3d/acts_as_flying_saucer.git­­

y llamar al método de clase acts_as_flying_saucer en nuestro controlador. Entonces ya estará disponible el método render_pdf que admite las opciones de ActionController::Base#render. Además se puede indicar el nombre del fichero pdf que queramos generar así como mandarlo al cliente.

Más información en el repositorio de Github: ­http://github.com/dagi3d/acts_as_flying_saucer/

­­
ocb
27/01/2009 03:13

Hola estoy usando flying saucer para obtener un pdf al pasarle un string con el html para generarlo. La cuestion es que ya obtengo el pdf, pero no me carga el css ya que estoy usando eclipse y tomcat y entonces al obtener el realpath me devuelve la direccion de donde esta el proyecto (en el workspace de eclipse) pero da error ya que supongo que busca en la url del servidor tomcat.
Espero puedas ayudar, gracias.

Marlon
30/01/2009 12:31

Amigo si pudieras colocar un ejemplo de como puedo realizar esta Conversión te agradeceria muchisimo..

Vicen
17/07/2009 05:42

Excelente trabajo Borja.

Este plugin es impresionante.

Hace insultantemente fácil convertir las vistas a PDF.

Muchísimas Gracias!!! Un +10!!!

Max Williams
05/08/2009 20:25

Hi – first of all, apologies for posting in English!

I have a problem with the acts_as_flying_saucer plugin and i’m wondering if you can help… Basically, the method where i save to my local filesystem works but the method where i send to the browser doesn’t – it sends a 1-byte file which can’t be opened.

Here’s my code -

This works:

render_pdf :template => ‘school_subscribers/show_pdf’, :pdf_file => ‘/home/max/Desktop/saved.pdf’

And this doesn’t work (sends an empty file):

render_pdf :template => ‘school_subscribers/show_pdf’, :send_file => { :filename => “pushed.pdf” }

Can you see where i might be going wrong?

many thanks for the plugin and for reading this!
max

Max Williams
05/08/2009 22:01

Just a bit more info – this appears to be related to the x_sendfile option: when i set this to false it works fine. This situation is the same whether it’s on my local mongrel, my local apache & mongrel setup, and our staging server (which is apache & multiple mongrels). Maybe it’s just some config issue with our x_sendfile but we can’t figure it out :/

Gustavo
12/08/2009 07:24

Definitivamente un poco mas de documentación no vendría mal, junto con algunos eljemplos de como levantar el pdf desde la vista. Gracias…

Kinunt
19/10/2009 02:59

Al instentar instalar el plugin se me crea una carpeta act_as_flying_saucer en vendors/plugins pero no se guarda nada dentro, ¿alguien sabe a qué puede deberse?

dagi3d
19/10/2009 03:12

Kinunt, ¿tienes instalado git en tu máquina?

Deja un comentario
*: campos obligatorios. La dirección de correo no será publicada