2009-12-30 23 views
8

EDIT: finalicé este proyecto usando ABCpdf. Para cualquier persona interesada, me encanta este producto y su soporte es A +. Todo lo que enumeré como 'Con' para la solución HTML -> PDF fue fácilmente realizable en ABCpdf. PDF generación de informes


Me han encargado la creación de un informe PDF basado en datos. Después de revisar la gran cantidad de opciones, lo he reducido a 2. Los necesito a todos para ayudarme a decidir u ofrecer alternativas que no he considerado. Estos son los requisitos:

  1. 100% basada en los datos
  2. Finalmente PDF (una parada en HTML está bien, siempre y cuando se convierte)
  3. se puede ejecutar con varios conjuntos de datos (el diseño es siempre la misma, los datos es variable)
  4. Contiene copia de estilo de análisis normal (salvo en el PP con el formato hTML)
  5. contiene tablas (datos para las tablas se genera en tiempo de ejecución)
  6. encabezado/Página # de cada página
  7. Tabla de Contenidos
  8. .NET (VB o C#)
  9. hecho rápidamente

Ahora, debido al hecho de que el informe va a ser generado con varios conjuntos de datos, que Don No creo que funcione una plantilla de PDF estampado, ya que no sabré cuánto tiempo o cuántas páginas podría requerir una determinada parte del informe.

Por lo tanto, creo que mis mejores opciones son:

  1. creación mediante programación utilizando una solución iText-similares.
  2. Generar en HTML y convertir a PDF usando una aplicación de terceros (ABCpdf es la herramienta que he jugado con hasta ahora)

Ambas soluciones tienen de sus pros y los contras.

solución programática:

Pros:

  1. flexible
  2. página fácil de numeración/encabezado/tabla de contenidos
  3. gratuito

Contras:

  1. Consumo de tiempo (en escribir una capa encima de iText para hacer lo que necesito y mantener mantenible)
  2. Dado que la copia ya está almacenada en la base de datos con el formato HTML, que tendría que analizar los datos antes de colocarlos en el pdf, asegurándome de no tener que dividir el párrafo en partes para poder aplicar negrita, cursiva, subrayado, etc. a frases específicas. Esto parece un gran PITA, y espero estar equivocado sobre esa suposición.

HTML -> PDF

Pros:

  1. fácil de generar a partir db (no hay análisis sintáctico necesarios)
  2. Muchas herramientas para la conversión
  3. Utiliza la tecnología soy ya está familiarizado con
  4. Built-in "P rint Vista previa" - no es un req, pero agradable

Contras:

(editar después de la finalización del proyecto. Todos mis suposiciones eran incorrectas y ABCpdf es impresionante)

1. Casi imposible generar encabezados de página - no es cierto
2. Muy difícil generar números de página no es cierto
3. Casi imposible generar tabla de contenido No es verdad
4. (La compatibilidad con varios navegadores no es una estafa; dado que es interna, puedo indicar qué navegador usar)
5. peculiaridades herramienta de conversión - no puede convertir exactamente como prestado en el navegador No es cierto
6. En general, creo que sería muy difícil de formatear el HTML exactamente como me gustaría que apareciera/convierto a PDF No es cierto

Eso es todo - Necesito la ayuda de la comunidad para decidir qué camino tomar. Podría estar equivocado acerca de algunas de mis suposiciones Pro/Con. Si lo soy, por favor dime. Todos los pensamientos y sugerencias son bienvenidos y apreciados.

Gracias

+0

¿De qué idioma provienen los datos? Si es Java, entonces Jasper también es una opción para ti. – Zoidberg

+0

.Net (VB o C#), lo agregaré a la publicación – IniTech

+0

¿De dónde provienen sus datos? Base de datos/Versión? Los escritores de informes tienen sus usos a veces; Dicho esto, acabamos de hacer una gran cantidad de trabajo con un convertidor HTML-> PDF para un proyecto. Si está mirando esta ruta, asegúrese de elegir una que admita/actualice su compatibilidad con CSS> Usando las hojas de estilo de impresión CSS, puede programar en gran parte del trabajo pesado, como el formato/número de página. @page {@ top-right {content: "Página" contador (página) "de" contador (páginas); }} – u07ch

Respuesta

3

decidiera en usar un enfoque similar al que se utiliza en http://alistapart.com/articles/boom

Usando ABCpdf en lugar de Prince para la eventual HTML -> generación de PDF.

Cualquiera que esté interesado en lo mismo, siéntase libre de enviarme un mensaje sobre este enfoque.

+0

Hola, estoy interesado en cuán complejos son los informes PDF, ¿sería posible obtener más información y ver ejemplos del informe y/o código PDF? Mi dirección de correo electrónico está en mi perfil (no estoy seguro de cómo contactar a otros usuarios aquí) –

1

dependiendo de la plataforma que está utilizando y la orientación, es posible que desee considerar una solución de informes. Estos no son perfectos, pero lo único que le dan es la capacidad de escribir un informe una vez y luego renderizarlo en HTML, PDF o incluso en Excel.

Por lo general, también ofrecen un editor que lo ayuda a diseñar el informe y hacerlo parecer correcto. Proporcionan elementos como paginación, encabezados, pies de página, gráficos, etc. También proporcionan una API que puede usar para crear y ejecutar los informes de manera programática.

He usado Reporting Services en un entorno MS y Jasper Reports en un entorno Java con buenos resultados en ambos. Estoy seguro de que hay otras opciones, pero estas son las que he podido usar con éxito.

2

Creo que si tienes una versión completa de Adobe Acrobat Pro, viene con Adobe Live Cycle. Debería poder generar informes generados a partir de una base de datos. Le dará todo lo que necesita en el formato, ya que creará el informe desde cero.

Puede crear una conexión de base de datos a una base de datos OLE que alimentará los datos a sus campos de formulario. Selecciona las tablas que se utilizarán, los procedimientos almacenados que se ejecutarán, las consultas y luego los datos aparecerán en una de las paletas del diseñador.

También puede usar los servicios web (WDSL) para recibir y procesar comandos y devolver los resultados al formulario.

De cualquier forma, enlazará los campos a su fuente de datos y luego se mostrarán los datos en su formulario.

Si usted está dispuesto a hacer un poco de trabajo .NET hay esta:

http://www.dotnetvj.com/2009/05/populating-pdf-from-aspnet-using.html

+0

Creo que su solución funcionaría bien para un PDF con campos predeterminados (algo así como un Formulario de impuestos o una factura). Lo que intento hacer es generar un informe donde no tengo ni idea de con qué contenido estoy trabajando en cualquier ejecución dada de un informe. No creo que funcione un enfoque de plantilla de PDF. Sin embargo, volveré a analizar esto. – IniTech

+0

Creo que todavía podría llevarlo a cabo con un procedimiento almacenado que formateará, y tal vez un campo de texto de toda la página? Solo tirando cosas del aire. ¿Sabes de qué tablas extraes los datos en DB? – tahdhaze09

+0

Sí, conozco todos los campos y tablas aplicables. Creo que voy a ir a la ruta HTML -> PDF. Publicaré con mis resultados. Gracias por la ayuda. – IniTech

0

Mi recomendación es usar SQL Reporting Services.

  • Puede diseñar cada tabla de páginas & de su informe de
  • incluir un encabezado y pie de página
  • Incluir números de página
  • Tabla de Contenidos
  • pueden extenderse a través de múltiples páginas
  • Soporta imágenes & Cuadros
  • Se puede procesar en PDF sin necesidad de ningún tercero Convertidores PDF
Cuestiones relacionadas