2011-03-04 10 views
8

Estoy buscando una herramienta para convertir páginas de vista HTML a PDF desde Rails. Quiero que los estilos estén intactos y debería poder identificar estilos CSS. He oído hablar de Prince XML y Wicked PDF. Quiero saber las ventajas y desventajas de usar uno de ellos. Además, quiero saber si el renderizado de PDF tiene algún problema con respecto al estilo (si el estilo se procesará correctamente). Si hay otras herramientas, informe sobre ellas.Generación de PDF desde la página HTML para Rails

Gracias, Prince

Respuesta

12

PDFkit es bastante agradable por lo que he visto, pero soy un gran admirador de wicked_pdf por el control fino que puede obtener sobre sus documentos.

PrinceXML y princely son geniales, pero caros. DocRaptor es un excelente servicio web que puede permitirle sumergir los dedos del pie, pero lo único que realmente hace mejor al príncipe que las soluciones gratuitas basadas en wkhtmltopdf es su capacidad de realizar correctamente saltos de página sin cortar filas de tablas y repetir encabezados.

Descargo de responsabilidad: soy uno de los encargados de wicked_pdf, y buenos amigos de las personas que ejecutan DocRaptor.

1

PDFkit, se utiliza un motor de WebKit representación (wkhtmltopdf), lo mismo que Safari. Esto significa que puede hacer cualquier estilo CSS que funcione en safari. Fácil de instalar y funciona bien.

webkit-webkit-gradiente de la frontera de radio, etc, etc, hasta que el contenido de su corazón :)

nota: wicked_pdf también utiliza wkhtmltopdf, pero en mi opinión PDFKit es un poco más agradable de usar.

2

Rubyprince,

Hay varias maneras de generar archivos PDF desde dentro de los carriles. Railscasts ha producido tres screencasts del tema.

Personalmente, sin embargo, si desea crear impresiones de alta calidad con una gran peinado que sugeriría PrinceXML. La parte desafortunada de PrinceXML es la etiqueta de precio, sin embargo, obtienes mucho por el costo. Hay una gema Ruby llamada princely que te ayuda a abstraer la API en llamadas de Ruby. Lo que más me gusta de Prince es su capacidad para generar cosas que son estándar para material impreso utilizando CSS. Números de página, tabla de contenidos con líderes. Sugiero echar un vistazo al artículo de blog Creating PDF Documents in Ruby on Rails también - es un poco viejo, pero la información te dará una idea sobre cómo es usar PrinceXML.

+0

Gracias, los dos primeros Railscasts no se pueden utilizar para la creación de PDF de HTML ... PrinceXML es sin duda en mi lista de los mejores .. – rubyprince

3

Prince es definitivamente el mejor en la generación de PDF. Hay un servicio web llamado DocRaptor.com que tiene una asociación con Prince XML. Puede usar su API para generar documentos PDF y Excel en cualquier idioma sin pagar la tarifa de licencia de Prince y sin tener que descargar nada.

1

Flying Saucer es otra opción para generar pdf. Platillo volante es una biblioteca java en rieles puede usar acts_as_flying_saucer gema o complemento para generar PDF.

+0

buena biblioteca y gem..gr8 saber del autor de la misma joya:) .. pero ya usé PDFKit para este propósito ... lo probaré en el próximo proyecto :) – rubyprince

4

Puedes usar la gema 'wicked_pdf'.Proporciona un soporte muy bueno para generar PDF utilizando código html.

En el regulador:

def show 
    @report = Report.find(params[:id]) 
    respond_to do |format| 
    format.html # show.html.erb 
    format.pdf do 
     render :pdf => "report",:template => "reports/show" 
    end 
    end 
end 

Crear una show.pdf.erb y se puede escribir HTML simple.

<%= wicked_pdf_stylesheet_link_tag "application" %> 
<h1> Report </h1> 
<p> 
<%= @report.details %> 
................................. 
</p> 
Cuestiones relacionadas