JasperReports ya se ha mencionado, pero lo usamos en nuestras aplicaciones Python-Qt SIN un servidor o servlet (es decir, sin necesidad de JasperServer o pyJasper).
Básicamente, en lugar del servidor/servlet, instala el Jasper Reports Library. Luego debe crear un pequeño programa Java que use la Biblioteca de Informes Jasper para generar un informe PDF a partir de una entrada serializada, como XML. Debería haber muchos ejemplos de esto si realiza una búsqueda web, y solo necesita escribir esto una vez. Luego compila este programa Java, con todas las bibliotecas requeridas, en un archivo JAR.
En este punto puede instalar JasperSoft Studio y crear una plantilla de informe Jasper. Luego, en Python puede usar JPype (o cualquier otra biblioteca de Python a Java) para iniciar una JVM, cargar su archivo JAR, llamar a su función Java, pasar sus datos serializados y especificar qué plantilla de informe desea.
Todo esto no es trivial, pero es bastante sencillo. Nos gusta esta solución porque proporciona un editor de formulario de arrastrar y soltar en el Qt Designer/Creator, un diseñador de informes JasperReports de arrastrar y soltar y la capacidad de generar un informe en PDF directamente a partir de los datos recopilados en Python. Todo esto utiliza herramientas y bibliotecas bien respaldadas, por lo que es poco probable que esta solución se desmorone en un futuro previsible.
Sería útil que enumerara las limitaciones que se interponen en su camino. Además de la posibilidad de que un experto en CSS pueda eliminarlos, el conocimiento evitaría que las personas brinden soluciones igualmente limitadas. – kdgregory
¡Desearía que pudieras +1 comentarios, +1 @kdgregory! He utilizado un Templating Engine y HTML/CSS exitosamente numerosas veces para imprimir documentos. ¿Qué limitaciones estás golpeando que causó esta pregunta? –
También puede ser útil si dijera la estructura de lo que desea imprimir. Si tiene cientos de páginas de documentos, hay diferentes respuestas si desea imprimir una página con un formato muy agradable.También puede ser útil si nos da una idea del formato fuente. –