Tutorial de JasperReports: ¿Para qué sirve JasperReports? Java?
⚡ Resumen inteligente
JasperReports para Java Jaspersoft Studio es un motor de informes de código abierto que transforma los datos de las aplicaciones en documentos con una precisión impecable. Este artículo explica el ciclo de vida de los informes, la instalación de Jaspersoft Studio, la creación de plantillas de informes, la estructura de bandas, una comparación con Pentaho y las limitaciones prácticas que suelen encontrar los equipos.

¿Para qué sirve JasperReports? Java?
JasperInformes es una herramienta de informes de código abierto para Java que se utiliza para generar informes de aplicaciones. Esta herramienta de informes ayuda a escribir contenido enriquecido en la pantalla, en la impresora o en una variedad de archivos como HTML, PDF, XLS, RTF, CSV, XML, ODT y TXT. JasperReports también se puede utilizar para Javaaplicaciones habilitadas como Java EE o aplicaciones web para generar contenido dinámico.
En la mayoría de las discusiones, aparecen tres nombres de productos juntos, y separarlos desde el principio evita confusiones más adelante en esta página.
| Nombre | ¿Qué es? | ¿Quién lo usa? |
|---|---|---|
| Biblioteca JasperReports | El Java biblioteca que compila, rellena y exporta informes | Java desarrolladores que integran informes en una aplicación |
| Estudio Jaspersoft | El Eclipse Diseñador visual que produce archivos JRXML | Diseños de edificios para diseñadores de informes |
| Servidor JasperReports | Un servidor independiente que almacena, programa y entrega informes. | Equipos que distribuyen informes a los usuarios empresariales |
Esta página se centra en la biblioteca y en Jaspersoft Studio, ya que estos dos componentes son todo lo necesario para diseñar y ejecutar un primer informe. Cabe destacar que la edición comunitaria ahora solo incluye estos dos componentes, puesto que JasperReports Server ya no se ofrece como descarga comunitaria.
¿Por qué utilizar Jasper Reports?
Existen muchas razones para utilizar una herramienta de informes Jasper:
- Ofrece rendimiento de generación de informes y entrega a los usuarios.
- Le ayuda a representar sus datos en formato textual o gráfico.
- Es un servidor de informes independiente e integrado para la compilación y ejecución de informes.
- Permite el control de acceso basado en roles a todos los informes del repositorio.
- Existe un framework de Spring Security disponible para su integración con sistemas de autenticación internos.
- Ofrece un motor de informes interactivos seguro, programado y de entrega automática.
- Puede incrustar informes en Java o noJava aplicaciones.
- Se pueden exportar varios formatos de informes.
- Puede generar marcas de agua que se colocan sobre la imagen principal.
- Ofrece un conjunto completo de JABÓN, REST y Servicios Web.
- Le permite utilizar datos de informes únicos de múltiples fuentes de datos.
Debido a que la biblioteca se publica bajo la licencia LGPL, se puede incluir dentro de productos comerciales sin un cargo por usuario, que es la razón por la que muchos Java Los equipos lo prefieren a los motores de informes propietarios.
Características de los informes Jasper
Ahora, repasaremos las características de JasperReports.
Estas son las características importantes de la herramienta Jasper Reports:
- Ofrece un diseño de informe flexible que abarca bandas, columnas y regiones de formato libre.
- Los desarrolladores pueden proporcionar datos de múltiples maneras, incluyendo: JavaColecciones de beans, consultas SQL y documentos XML.
- Mediante subinformes y adaptadores de datos, se pueden combinar varias fuentes de datos en un único informe.
- También se pueden aplicar marcas de agua sobre la imagen principal.
- Puede generar subinformes anidados dentro de un diseño principal.
- Le ayuda a exportar informes en una variedad de formatos como (PDF), HTML, RTF y Microsoft Archivos de Excel.
- El motor permite que las definiciones de informes incluyan gráficos como barras, circulares, de líneas y de series temporales.
- Las expresiones de informe se pueden escribir en Java, Groovy, o JavaGuión.
Estas capacidades se exponen a través de una secuencia de procesamiento fija, que la siguiente sección describe paso a paso.
Ciclo de vida de JasperReports
Ahora aprenderemos sobre el ciclo de vida de JasperReports.
A continuación se describe el flujo general del ciclo de vida de Jasper Reports:
El diagrama anterior muestra las cuatro etapas en orden. Cada etapa produce un archivo que se convierte en la entrada de la siguiente etapa, por lo que la secuencia nunca se puede invertir.
| Fase | Entrada | Resultado | Extensión de archivo |
|---|---|---|---|
| Diseño | Decisiones de diseño | Reportar plantilla | .jrxml |
| Compilación | archivo .jrxml | Plantilla binaria compilada | .jaspe |
| Ejecutando | Archivo .jasper más datos | Informe cumplimentado | .jrprint |
| Exportación | archivo .jrprint | Documento final | .pdf, .html, .xls y otros |
Diseño del informe
Este será el primer paso, donde crearemos el archivo JRXML. Se trata de un documento XML sencillo que define el diseño del informe. Puedes crear este archivo con cualquier editor de texto o un diseñador de informes.
Sin embargo, si utiliza el diseñador de informes, podemos visualizar el diseño del informe y se puede ignorar la estructura real del JRXML.
Elaboración del informe
En esta etapa del ciclo de vida, el archivo JRXML que se creó en la primera etapa se compila y se genera un objeto binario llamado archivo Jasper (archivo con extensión .jasper).
Esta compilación se realiza para obtener un mejor rendimiento durante la ejecución. Estos archivos Jasper generados deben enviarse junto con su aplicación para ejecutar los informes.
Ejecutar el informe
En esta etapa, los datos de la solicitud se recopilan y se completan en el formato de informe compilado. Existe una clase llamada net.sf.jasperreports.engine.JasperFillManager que ofrece funciones para completar los datos de los informes.
El resultado se almacenará en un archivo de impresión de Jasper (archivo con extensión .jrprint) que podrá utilizarse para imprimir o exportar el informe.
Exportar el informe al formato deseado.
En esta última etapa, debe exportar el archivo de impresión de Jasper que se creó anteriormente a cualquier formato utilizando la clase JasperExportManager. Como Jasper ofrece múltiples formatos de exportación, podemos usar la misma entrada para crear varias representaciones de los datos.
Cómo instalar Jasper Reports: configuración del entorno
Ahora, veamos el proceso paso a paso para configurar el entorno de JasperReports. Las capturas de pantalla que se muestran a continuación se tomaron con el instalador 6.9. La versión comunitaria actual es la 6.21.3, publicada el 23 de abril de 2024, y la secuencia de pantallas no ha cambiado, aunque el número de versión en el nombre del archivo es diferente.
Paso 1) Descargar Jasper Reports Community Edition
Ve a esto Enlace y haga clic en la opción Descargar ahora para instalar la edición comunitaria de Jasper Reports.
Paso 2) Seleccione Jaspersoft Studio CE
De las ediciones comunitarias, seleccione Jaspersoft Studio CE.
Paso 3) Descargar Jaspersoft Studio
Ve a esto este enlace y haga clic en el botón Descargar, luego abra el archivo ejecutable del instalador descargado para su sistema operativo.
Paso 4) Haz clic en el botón "Aceptar"
Aparecerá la siguiente pantalla. Seleccione el botón "Acepto".
Paso 5) Elegir la ubicación
Seleccione la ubicación de instalación y haga clic en el botón Siguiente.
Paso 6) El progreso está en marcha ahora
Verás el progreso en la siguiente pantalla.
Paso 7) Haga clic en el botón Finalizar
En la siguiente pantalla, haga clic en el botón finalizar.
Paso 8) El progreso está completo
La siguiente pantalla aparecerá en su ventana.
Paso 9) Empezar
A continuación, haga clic en la opción "Comenzar".
Paso 10) Empieza a trabajar con el estudio Jasper Reports
Aparecerá la siguiente pantalla y podrá comenzar a trabajar con Jasper Reports Studio.
💡 Consejo: Jaspersoft Studio es un Eclipse aplicación basada en y necesita un compatible Java El entorno de ejecución debe estar presente en la máquina. Si el instalador no se inicia, confirme la versión de JDK instalada antes de reinstalar.
Ejemplo de creación de una plantilla de informe
Ahora vamos a aprender cómo crear una plantilla de informe en JasperReports.
El archivo de plantilla de informe utilizado en JasperReports es un archivo XML simple con la extensión .jrxml. Este archivo contiene la etiqueta jasperReport como elemento raíz. El marco de trabajo JasperReports puede gestionar diferentes tipos de fuentes de datos.
Se diseña y crea una plantilla de informe siguiendo los siguientes pasos.
Paso 1) Creando el archivo JRXML en Jaspersoft Studio.
- Ve a la opción Archivo.
- Seleccione el submenú Nuevo.
- Haz clic en la opción Informe Jasper.
Paso 2) Seleccionando la plantilla deseada.
- Seleccione su plantilla, por ejemplo, cereza.
- Haga clic en el botón "Siguiente".
Paso 3) Seleccionar una carpeta principal.
- Seleccione la carpeta Mis informes.
- Ingrese el nombre del archivo, por ejemplo, "Cherry Report".
- Haga clic en el botón "Siguiente".
Paso 4) En la ventana Origen de datos, haga clic en el botón "Nuevo" para crear un nuevo adaptador de datos.
Paso 5) Seleccionar un adaptador de datos.
- Seleccione el adaptador de datos de la lista desplegable. Por ejemplo, “Colección de JavaFrijoles."
- Haga clic en el botón "Siguiente".
Paso 6) Introducir los detalles del adaptador de datos y seleccionar la clase de fábrica.
- Ingrese un nombre para su adaptador.
- Seleccione la clase de fábrica haciendo clic en el botón “…”.
Paso 7) Introducir el prefijo o patrón.
- Introduzca el prefijo o patrón del nombre.
- Haga clic en elementos coincidentes.
- Haga clic en el botón "Aceptar".
Paso 8) Definir la clase de fábrica y agregar la ruta a los archivos jar.
- Ingrese el nombre de un método estático en la clase de fábrica. En este ejemplo de informes de Jasper, esto es createBeanCollection.
- Si JavaLa definición de los beans tiene descripciones de campo, y si desea utilizarlas como nombres en Jaspersoft Studio, marque la casilla de verificación "Usar descripción de campo".
- Agregue una ruta a sus archivos jar.
- Haz clic en el botón “Finalizar”.
Paso 9) Haga clic en el botón "Siguiente".
Paso 10) ¡Enhorabuena! Has añadido correctamente toda la información necesaria para la creación del informe. Haz clic en el botón «Finalizar».
El informe se generará tal como se muestra en la pantalla a continuación.
El archivo mencionado anteriormente requiere ser compilado al formato binario de JasperReport, que se denomina archivo jasper.
La interfaz net.sf.jasperreports.engine.design.JRCompiler, que forma parte de la biblioteca JasperReports, desempeña un papel importante en la compilación de este archivo de plantilla de informe.
La implementación de esta interfaz se puede escribir en Java, JavaScript, Groovy, o cualquier otro lenguaje de programación.
Puedes compilar un archivo JRXML utilizando los dos métodos siguientes:
- Compilación programática de Java código.
- Compilación utilizando un Hormiga Apache tarea.
El fragmento a continuación muestra la ruta programática, donde una línea compila la plantilla y una segunda línea la rellena con un JavaColección de frijoles.
import net.sf.jasperreports.engine.*; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; public class ReportRunner { public static void main(String[] args) throws JRException { // 1. Compile the JRXML template into a .jasper file JasperReport report = JasperCompileManager.compileReport("CherryReport.jrxml"); // 2. Fill the compiled template with a collection of beans JRBeanCollectionDataSource source = new JRBeanCollectionDataSource(EmployeeFactory.createBeanCollection()); JasperPrint print = JasperFillManager.fillReport(report, null, source); // 3. Export the filled report to PDF JasperExportManager.exportReportToPdfFile(print, "CherryReport.pdf"); System.out.println("Report exported successfully"); } }
Salida:
Report exported successfully
Comprender las diferentes bandas de informe
Un diseño de JasperReports se divide en secciones horizontales llamadas bandas. Cada banda tiene una regla de impresión fija, y comprender esas reglas es lo que permite al diseñador controlar con precisión dónde aparece un valor en el documento final.
A continuación se muestran las bandas de informe estándar adoptadas por la mayoría de las herramientas comerciales de generación de informes.
- Título
- Encabezado de página
- Encabezado de la columna
- Detail
- Pie de columna
- Pie de página
- pie de página de la última página
- Resumen
- Encabezado de grupo
- Pie de página del grupo
- Fondo
- No hay datos
Analicemos en detalle cada rango de frecuencia de reporte.
Título
Esta banda se muestra al inicio del informe. Se puede colocar en su propia primera página configurando el atributo. isTitleNewPage="true".
Encabezado de página
La banda de encabezado de página se muestra al principio de cada página. Excluye la primera página si se utiliza la banda de título y la última página si se utiliza la banda de resumen con la configuración isSummaryWithPageHeaderAndFooter="false".
Encabezado de columna
Los encabezados de columna aparecen antes de la banda de detalles en cada página.
Detail
La sección de detalles se itera para cada registro de la fuente de datos proporcionada. También se permite que tenga varias bandas de detalles (1, 2, etc.).
Pie de columna
Esta sección aparece debajo de la banda de detalles en cada página donde esta esté presente. La configuración predeterminada es el final de la página, pero se puede cambiar para que se ubique debajo de la última banda de detalles configurando el atributo. isFloatColumnFooter="true".
Pie de página
Esta sección se mostrará al final de cada página, excluyendo la banda de resumen, la banda de título y la última banda que no sea de resumen.
Pie de página de la última página
Esta sección aparece en la última página, en lugar del pie de página habitual, cuando no se incluye una banda de resumen.
Resumen
La sección de resumen solo aparece al final del informe en una página nueva cuando isSummaryNewPage="true" está configurado, y con encabezado y pie de página cuando isSummaryWithPageHeaderAndFooter="true" se establece.
Encabezado de grupo
Esta sección solo aparece cuando está definida, cada vez que cambia la expresión del grupo, antes de la banda de detalles.
Pie de página del grupo
Esta sección solo se muestra si se ha definido un grupo, siempre antes de que cambie la expresión del grupo, después de la banda de detalles.
Fondo
Se muestra en todas las páginas como fondo para todas las demás bandas de información.
Sin límites
Esta banda aparecerá cuando no se haya pasado ninguna fuente de datos, o la fuente de datos esté vacía y whenNoDataType="NoDataSection" se establece.
Jasper contra Pentaho
Ahora aprenderemos sobre la diferencia entre Jasper y Pentaho.
Estas son las principales diferencias entre Jasper y Pentaho:
| Parámetros | Jaspe | Pentaho |
|---|---|---|
| Informes | Jasper utiliza Jaspersoft Studio para diseñar los informes. | Utiliza el Diseñador de Informes de Pentaho. |
| Soporte ETL | Jaspersoft utiliza la versión Talend Open Studio para fines ETL. | Utiliza Pentaho Data Integrator por defecto Herramienta ETL. |
| Panel de Control | La funcionalidad del panel de control solo está presente en la edición Enterprise de Jaspersoft. | Pentaho ofrece una amplia gama de funciones en sus paneles de control. |
| Inteligencia empresarial móvil | Jaspersoft ofrece mejor soporte para BI móvil. | Pentaho necesita recurrir a una herramienta de terceros para mejorar la experiencia de BI móvil. |
| Documentación | Mejor marketing, sitios y documentación. | El soporte de documentación es deficiente. |
| Mejores características | Es más fácil investigar y encontrar lo que necesitas. | Ofrece minería de datos e integración con iPhone. |
| Versión de pago | La versión paga ofrece funciones como consulta ad hoc Interfaz de usuario web e interfaz de usuario web para la creación de paneles de control. | Ofrece funciones como integración LDAP, inicio de sesión único (SSO) y auditoría. |
Los equipos ya invirtieron en el Java Los equipos suelen elegir Jasper, mientras que los equipos que necesitan una gran integración de datos junto con la generación de informes suelen elegir Pentaho.
Desafíos enfrentados al crear JasperReports
Estos son algunos de los desafíos a los que te enfrentarás al crear informes con JasperReports:
- Cambios fundamentales: cuando las reglas de negocio cambian o se mejoran, es necesario modificar la lógica central del informe.
- Los informes complejos, como los subinformes y los informes de tablas cruzadas, son buenos ejemplos.
- Informes gráficos o gráficos visuales, por ejemplo, gráficos de barras, gráficos de líneas XY, gráficos circulares, gráficos de series temporales y gráficos de medidores.
Desventajas de utilizar Jasper Reports
Estas son las desventajas de usar Jasper Reports.
- Una vez que se empiezan a realizar cambios en partes del paquete y a eliminar funciones, resulta muy difícil volver a la configuración predeterminada del paquete.
- Es demasiado rígido, y editar líneas y crear tablas cruzadas es una tarea complicada.
- Algunas tareas comunes, como especificar subtotales para un informe agrupado, son más fáciles en otros programas de diseño de informes.
- Jasper requiere que recopile informes antes de ejecutarlos. Esto significa que los desarrolladores de informes deben tener toda la información Java SDK instalado.
- A veces, cuando se edita el informe, no se muestra la misma vista previa que se muestra en la web.






















