2012-07-30 20 views
6

Estoy tratando de desarrollar un pequeño script que genere un nuevo pdf completo, principalmente texto y tablas, archivo como resultado. Estoy buscando la mejor manera de hacerlo.Generar un pdf con python

He leído sobre reportlab, que parece bastante bueno. Solo tiene un inconveniente hasta donde puedo ver. Es difícil escribir una plantilla sin la versión comercial, y el código parece ser difícil de mantener.

Así que he buscado una manera más suficiente y encontré xhtml2pdf, pero este software es bastante viejo y no puede generar tablas de más de dos páginas.

La última solución en mi mente es generar un tex-File con un marco de plantilla, y luego llamar a pdfx como un subproceso.

Implementaré el último y revisaré LateX. ¿Lo harías así, tienes mejores ideas?

+0

la versión gratuita de informe de laboratorio funciona bastante decentemente ... siempre y cuando no intentes hacer algo demasiado difícil –

+0

Sí, funcionaría, pero el método para generar algo simple es muy complejo y de "bajo nivel". Y después de dos semanas no vería nada que el código haga o alguien que no escriba el informe regularmente. De todos modos, gracias por tu ayuda. – Johannes

+0

http://appyframework.org/pod.html parece bastante interesante, aunque no lo he probado yo mismo. Según mi propia experiencia, diría que vale la pena seguir trabajando con ReportLab. Es posible que también lo intente y publique nuevas preguntas cuando se quede atascado. – George

Respuesta

5

Sugeriría usar el enfoque LaTeX. Es multiplataforma, funciona en muchos idiomas diferentes y es fácil de mantener. ¡Además no es comercial!

+0

LaTeX se adapta a todos los requisitos de PDF. Los archivos PDF complejos orientados a la distribución no son factibles con LaTeX ... simplemente la herramienta incorrecta en este caso ... la herramienta adecuada para cada proyecto ... –

+0

@Maulwurfn LaTeX con [TikZ] (http://www.texample.net/ tikz /) es perfecto para diseños de pdf complejos ... – Zenon

+0

Gracias Zenon, TikZ se ve maravilloso. Lo implementaré con jinja2 para analizar LateX-Template y llamar a un subproceso de pdftex para la creación de PDF. – Johannes

3

Pisa es un convertidor de HTML a CSS. Es una gran herramienta para desarrollar Pdf desde cero utilizando Python.

Si necesita adjuntar páginas Pdf juntas, o buscar a través de datos PDF, entonces sugiero pyPdf es gratis y bastante documentado y fácil de usar. Puede descargarlo here

+0

Lo siento, no puedo ver cómo este marco es capaz de generar un nuevo pdf desde cero. Gracias por tu respuesta. – Johannes

+0

Oh, mi mal, no entendí la pregunta. Sí, entonces sugeriría usar "pisa" para generar PDF desde cero.Pisa puede convertir html/css a un pdf, por lo que es bastante fácil de estilizar su pdf. pyPdf es excelente si necesita anexar Pdf o extraer datos de ellos. –

+0

Pisa es una mierda frágil, adecuada para producir archivos PDF baratos, completamente inútil para uso profesional. –

0

Puede consultar el paquete http://pypi.python.org/pypi/z3c.rml/ como una implementación del RML de Reportlab.

¿la "mejor manera" significa? ¿Cuáles son tus requisitos? Algunos requisitos de PDF se pueden lograr con generadores de fuente abierta "baratos" o puede terminar con algún convertidor de PDF comercial. Una mayor calidad significa un precio más alto.

+0

Gracias por su respuesta. "La mejor manera" significa cómo lo harían los muchachos con más experiencia en esta área. Los requisitos son bastante simples, una forma ligera y fácil de mantener para generar un pdf con texto y tablas donde las tablas pueden ir más de n páginas – Johannes

Cuestiones relacionadas