Pregunta

Quiero poder generar un archivo PDF altamente gráfico (con mucho contenido de texto también) a partir de datos que pueda tener en una base de datos o xml o cualquier otra forma estructurada.

Actualmente, nuestro diseñador gráfico crea estos archivos PDF en Photoshop manualmente después de obtener el contenido como un documento de MS Word.Pero normalmente hay más de 20 revisiones del contenido;pequeños cambios aquí y allá, correcciones ortográficas, etc.

Las 2 desventajas son:1) El tiempo del diseñador gráfico se ocupa innecesariamente.La primera versión es la única en la que debería trabajar.2) El archivo PDF se convierte en el documento que ahora tiene el contenido final revisado y el contenido inicial no está sincronizado con él.Entonces, si el contenido inicial necesita estar en otro lugar (como en un sitio web), debemos recrearlo a partir del archivo PDF.

Generar el archivo PDF me ayudará a resolver ambos problemas.Quizás alguna forma en la que el diseñador gráfico crea una "Plantilla" y luego coloca etiquetas/titulares y asigna estas etiquetas/titulares a los datos relevantes.

Gracias :-)

¿Fue útil?

Solución

Existen algunas herramientas para hacer esto.XSL-FO es útil. Aquí es un tutorial para crear un pdf desde xml (o xhtml) con cocoon.Ver también Apache FOP.

Podrías formatear tus datos SQL como XML y seguir usando las mismas plantillas de esta manera.

Otros consejos

Utilizo la biblioteca Python de ReportLab para esto.Quizás pueda solucionar tu problema, pero tendrás que trabajar un poco...

En el pasado escribí scripts que escupían LaTeX y luego usaban texi2pdf para resolver este tipo de problema.

Eche un vistazo a iReport y JasperReports en http://jasperforge.org.iReport le permite diseñar informes y luego puede completarlos mediante programación con la biblioteca JasperReports (Java) o simplemente usar iReport para crear el informe manualmente.

Sólo lo he usado para datos tabulares, pero no creo que haya ningún problema para otro tipo de documentos.

Puede crear un formulario y completar las entradas mediante programación utilizando una biblioteca de PDF como iText (Java).

Podría considerar realizar el flujo de trabajo en PostScript, que es texto sin formato que puede componer fácilmente a partir de fragmentos.Entonces puedes usar cualquier herramienta gratuita para convertir a PDF.

Echa un vistazo a Príncipe XML.Esta herramienta permite generar PDF basado en XML o HTML y CSS.

Una posible forma es utilizar un motor de plantillas, como FreeMarker o StringTemplate:Estos se utilizan a menudo para generar HTML, pero en realidad son lo suficientemente flexibles como para generar cualquier formato.
El problema es hacer una plantilla PDF, supongo.Quizás pueda tomar un resultado de muestra y editarlo para reemplazar los datos con marcadores de posición que el motor de plantillas debe completar.¡Puede que no sea trivial!

Suena como un trabajo que SQL Server Reporting Services puede realizar con bastante facilidad.
Reporting Services le permite consultar los datos, definir el diseño y exportar a PDF sin ninguna intervención.La salida en PDF se puede distribuir por correo electrónico, almacenar en un archivo compartido y acceder a ella a través de una página en el servidor de informes.
También puede manejar fuentes de datos XML.

Otro método para generar un archivo PDF a partir de datos es utilizar gamba, que se basa en rubí.Me sorprendió gratamente la cantidad de funciones que incluyen las gambas.Puede que requiera cierta inversión inicial, pero este enfoque le brindará mucha flexibilidad.

Puede combinar CSStoXSLFO con XEP de RenderX para obtener resultados de alta calidad.Con esta solución puedes fusionar datos XML en una plantilla XHTML, que está decorada con CSS.También puede generar gráficos con la fantástica biblioteca JFreeChart.Se admiten funciones multimedia de páginas CSS3.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top