lunes, 27 de mayo de 2013

Introducción a la biblioteca JasperReports y la herramienta iReport.

clip_image001

JasperReports está considerada como una de las mejores bibliotecas de software libre para generar reportes [1]. Tiene la habilidad de entregar contenido enriquecido al monitor, a la impresora o a ficheros PDF, HTML, XLS, CSV y XML. Está escrito completamente en Java y puede ser usado en gran variedad de aplicaciones de Java, incluyendo Java EE o aplicaciones web, para generar contenido dinámico. Su propósito principal es ayudar a crear documentos de tipo páginas, preparados para imprimir en una forma simple y flexible.

JasperReports se usa comúnmente con iReport Designer [2], un constructor / diseñador de informes visual, poderoso, intuitivo y fácil de usar. Este instrumento permite que los usuarios desarrollen visualmente informes complejos con cartas, imágenes, subinformes y otros [3]. iReport está además integrado con JFreeChart, una de la biblioteca gráficas OpenSource más difundida para Java. Los datos para imprimir pueden ser recuperados por varias vías como pueden ser: JDBC, TableModels, JavaBeans, XML, etc.

Entre las principales características de iReport podemos destacar las siguientes:

  • 100% escrito en JAVA y además OPENSOURCE y gratuito.
  • Maneja todas las etiquetas de JasperReports.
  • Permite diseñar con sus propias herramientas: rectángulos, líneas, elipses, campos de los textfields, cartas, subreports (subreportes).
  • Soporta internacionalización nativamente.
  • Browser de la estructura del documento.
  • Recopilador y exportador integrados.
  • Soporta JDBC.
  • Soporta JavaBeans como orígenes de datos (éstos deben implementar la interface JRDataSource).
  • Incluye Wizard’s (asistentes) para crear automáticamente informes, plantillas y sub-reportes.
  • Facilidad de instalación.

Estas potencialidades se pueden combinar con JasperServer que proporciona una interfaz basada en web para gestionar, programar y ejecutar los informes, un repositorio para almacenar todos los recursos del informe como imágenes, fuentes, fuentes de datos y mucho más, un servicio de seguridad para decidir quién puede ejecutar que informe, y un servicio web API para ejecutar los informes de aplicaciones externas (por lo que puede generar informes de cualquier tipo de entorno, como PHP o. NET).

La herramienta iReport Designer le permite diseñar informes JasperReports, así como también permite ejecutarlos y generar la salida en una aplicación Java, y JasperServer permite a los usuarios finales y las aplicaciones externas acceder, ver y publicar sus informes de forma segura.

Ciclo de Vida de un Reporte usando iReport Designer.

Cuando se diseña un informe con iReport Designer se crea un archivo JRXML, que es un documento XML que contiene la definición del diseño del informe. La disposición de los componentes está diseñada completamente de una manera visual, por lo que no debe preocuparse por la estructura real del archivo JRXML. Antes de ejecutar un informe, el JRXML deberá elaborarse en un objeto binario llamado archivo de Jasper. Esta recopilación se hace por razones de rendimiento. Los archivos Jasper son lo que usted necesita enviar con su solicitud, a fin de ejecutar los informes.

La ejecución de informes se realiza pasando un archivo de Jasper y una fuente de datos para JasperReports. Hay un montón de tipos de fuentes de datos, es posible llenar un archivo Jasper de una consulta SQL, un archivo XML, un archivo csv, una consulta HQL (Hibernate Query Language), una colección de JavaBeans, etc .. Si usted no encuentra una fuente de datos adecuada, JasperReports es muy flexible y permite que usted escriba su propio origen de datos personalizado. Con un archivo de Jasper y una fuente de datos, JasperReports es capaz de generar el documento final en el formato que prefiera.

iReport Designer también permite configurar las fuentes de datos y utilizarlas para probar sus informes. En muchos casos, los asistentes por datos pueden ayudarle a diseñar sus informes mucho más rápido. iReport Designer incluye el propio motor JasperReports para hacerle una vista previa del resultado del informe, probar y refinar sus informes.

clip_image003

Figura 1 Proceso de compilación

Interfaz de usuario

Podemos asegurar que iReport Designer es un potente entorno para el diseño de informes. Los informes pueden ser diseñados desde cero o desde una de las muchas plantillas listas para usar que están disponibles. iReport Designer le ayudará durante todas las fases de la elaboración del informe: Diseño JRXML, compilación Jasper, ejecución de informes y exportación de documentos o visualización. La figura 2 muestra los principales componentes de la interfaz de usuario de iReport Designer.

clip_image005

Una breve descripción de los principales componentes de la interfaz de usuario de iReport Designer sería la siguiente:

  • El Diseñador de Informes (Report Designer) es donde se diseña visualmente el informe, arrastre, posicionamiento, alineación y cambiar el tamaño de los elementos del informe.
  • El Inspector de Informe (Report Inspector) muestra la estructura completa del informe que se compone de muchos objetos (por ejemplo, campos, parámetros y variables), bandas (que son las secciones del documento) y elementos (como campos de texto, imágenes o gráficos).
  • La paleta de elementos (Elements Palette) contiene los elementos que se pueden arrastrar dentro de una banda para mostrar los datos.
  • La hoja de propiedades (Property Sheet) se utiliza para configurar las propiedades del componente seleccionado en el informe (por ejemplo, un campo, elemento, banda, grupo, u otros).

A modo de conclusión queremos recomendarle el uso conjunto de la biblioteca JasperReports y la herramienta iReport Designer, en próximas entradas estaremos proporcionando más información sobre este tema.


¿Te ha gustado este Post? Compártelo con tus amigos.

2 comentarios:

  1. PARA PODER DESCARGAR LAS LIBRERIAS DE JASPERREPORTS

    ResponderEliminar
  2. Algún ejemplo de como conectar jasperreport con Python, en una aplicación de escritorio, donde se pueda ver primero el reporte en pantalla, antes de enviarlo a un PDF o bien a la impresora.

    Gracias.
    Roberto

    ResponderEliminar

IconIconIcon