español - ¿Cómo hace google para hacer esos impresionantes informes PDF en Analytics y cuando imprime un Google Doc, etc.?
informe google analytics pdf (6)
Renderizar un PDF es un problema difícil y complejo. Sin embargo, generarlos, no lo es. Simplemente invente algunas entidades y genere. Se trata del mismo dominio de problemas que generar HTML para la página web versus mostrarlo (renderizarlo).
Cuando imprime desde Google Docs (usando el enlace "imprimir", no File / Print), termina imprimiendo un archivo PDF de formato agradable en lugar de depender del motor de impresión del navegador. Lo mismo es cierto para algunos de los informes en Google Analytics. . . los informes impresos como PDF son hermosos. ¿Cómo lo hacen? No puedo imaginar que utilicen algo como Adobe Acrobat para facilitarlo, pero tal vez lo hagan. He visto algunos costosos convertidores HTML a PDF en línea de vez en cuando, pero nunca lo he cansado. ¿Alguna idea?
iTextSharp e iText son bibliotecas de generación de PDF de código abierto y gratuitas para .NET y Java, respectivamente.
Los he usado para generar informes PDF antes y estaba bastante contento con los resultados.
He tenido éxito con pd4ml . Tiene una biblioteca de etiquetas, por lo que puede convertir cualquier HTML existente en PDF por
<pd4ml:transform>
<!-- Your HTML is here -->
<c:import url="/page.html" />
</pd4ml:transform>
Bueno, dudo que sea tan fácil como generar HTML. . . Quiero decir, antes que nada, PDF no es un formato legible para humanos y no es texto plano (como SVG). De hecho, compararía un archivo SVG con un archivo PDF, ya que ambos tienen un control preciso sobre el diseño en una página impresa. Pero SVG es diferente en cuanto a que es XML (y también en que no es compatible por completo en el navegador ... sigue buscando en SVG también). Ahora que lo pienso, SVG probablemente sea mi próxima pregunta.
Sé que Google no usa .NET y dudo que utilicen Java, por lo que debe haber otras bibliotecas que utilicen para generar los archivos PDF. Más importante aún, ¿cómo crean los PDF sin tener que reescribir todo como un PDF en lugar de hacerlo como HTML? Quiero decir, tiene que haber algún código compartido para cuando generan la vista HTML en oposición a la vista PDF. Ahora que lo pienso, tal vez la vista PDF y la vista HTML estén completamente separadas y solo tienen dos vistas y, por lo tanto, el estilo de desarrollo MVC parece ser el camino a seguir.
Gran alternativa gratuita a PrinceXML: wkhtmltopdf . Hay muchas librerías de contenedor para varios idiomas, pero solo he usado las de Ruby. Sin embargo, el producto está a la par con PrinceXML en mi humilde opinión.
Si está buscando específicamente cómo lo hace Google. Si miras la página de Propiedades de PDF , usan Prince 6.0 (mira princexml.com )
Hay muchos otros generadores de PDF por ahí. He tenido un gran éxito con PDFlib para trabajos complicados.