Una de mis herramientas favoritas para crear informes desde Java sobre base de datos es JasperReports (Community JasperReports Library) que es una librería open source para el desarrollo de informes con Java sobre diferentes tipos de fuentes de datos (multiple data source).
Hace muchos años que empecé a realizar informes utilizando la herramienta de iReport, pero no es la que voy a utilizar hoy ya que sus desarrolladores han cambiado de plataforma para el nuevo proyecto con Jaspersoft Studio, es decir, se pasan a Eclipse cuando antes iReport funcionaba sobre Netbeans Platform.
Con JasperReports podemos crear informes complejos que incluyan gráficos, imágenes, subinformes, … Podemos acceder a nuestros a través de JDBC, TableModels, JavaBeans, XML, Hibernate, CSV,… La publicación y exportación de los informes puedes a ser una gran variedad de formatos, desde el clásico PDF a RTF, XML, XLS, CSV, HTML, XHTML, text, DOCX o OpenOffice.
JasperReports con Jaspersoft Studio
Jaspersoft Studio is the free, open source, eclipse-based report designer for JasperReports and
JasperReports Server.
Esto es lo que vamos a ver
- INSTALACIÓN Y CONFIGURACIÓN BÁSICA
- DEFINIENDO UNA FUENTE DE DATOS CON POSTGRESQL
- TABLA Y CONSULTA PARA EL INFORME
- CREAMOS NUESTRO PRIMER INFORME CON JASPERREPORTS
- DISEÑAMOS NUESTRO PRIMER INFORME
1. INSTALACIÓN Y CONFIGURACIÓN BÁSICA
Vamos a instalar Jaspersoft Studio en nuestro equipo, lo podemos descagar en http://community.jaspersoft.com/project/jaspersoft-studio/releases solo nos pedirán un registro de usuario.
Una vez en nuestro sistema ejecutamos la instalación y listo, este el aspecto que tiene nuestro generador de informes:
Estos son los detalles de Tibco la empresa autora de JasperSoft Studio que se engloba dentro de los desarrollos de una de sus filiales Tibco JasperSoft:
2. DEFINIENDO UNA FUENTE DE DATOS CON POSTGRESQL
Si no dispones de una instalación de PostgreSQL no te preocupes puedes utilizar otra base de datos lo único que tendrás que añadir será el driver propio de la conexión a esa base de datos y los datos de la conexión como voy a indicar a continuación para PostgreSQL.
Si quieres instalar y obtener información sobre PostgreSQL la puedes obtener en mi guía sobre PostgreSQL, la misma información también la tienes disponible en mi guía sobre MySQL (MariaDB).
Echas las presentaciones vamos al grano para eso necesitamos definir en primer lugar la fuente de datos que vamos a utilizar, por eso vamos a ver como creamos un nuevo Data Adapter JDBC para nuestra conexión con PostgreSQL:
Usamos el Wizard de Jaspersoft Studio seleccionando Database JDBC Connection:
Seleccionamos la conexión Database JDBC Connection, donde damos un nombre a nuestra conexión y definimos la localización de la base de datos como se muestra en la imagen:
Desde aquí también podemos definir otras propiedades de nuestra conexión en Connection Properties:
Para hacer el test solo nos queda indicar la localización del driver de la base de datos que estamos utilizando en nuestro ejemplo, en mi caso utilizo PostgreSQL, y lo añado indicando la carpeta donde se encuentra instalado, si quieres usar otra base de datos deberás descargar el driver e indicar su localización:
Una vez completados los datos, evaluamos que hemos introducido correctamente todos los parámetros con la opción Test:
Una vez finalizado este último paso ya tenemos configurada una fuente de datos que podremos seleccionar y utilizar para diferentes informes que realizamos sobre esa conexión.
3. TABLA Y CONSULTA PARA EL INFORME
Para este ejemplo utilizo una tabla del desarrollo de Learning Project para PostgreSQL, si quieres descargarte la base de datos de 8 tablas que utilizo para este proyecto y los datos para su población, lo puedes hacer aquí:
PostgreSQL SQL - Creación de las tablas
PostgreSQL Script SQL para poblar la base de datos Customerdb
Para hacerlo más fácil para este ejemplo, puedes también simplemente crear esta tabla sin relaciones adicionales, ya que lo que buscamos es introducirnos en el desarrollo de JasperReports con Jaspersoft Studio:
CREATE TABLE cb_country ( idcountry serial NOT NULL, country character varying(100) NOT NULL, description character varying(255), countrycode character(2) NOT NULL, hasregion character(1) NOT NULL DEFAULT 'N'::bpchar, regionname character varying(60), expressionphone character varying(20), displaysequence character varying(20) NOT NULL, isdefault character(1) DEFAULT 'N'::bpchar, ibannodigits numeric, ibancountry character varying(2), isactive boolean NOT NULL DEFAULT true, idlanguage character varying(6), idcurrency integer, CONSTRAINT pk_cb_country PRIMARY KEY (idcountry), CONSTRAINT un_cb_country_countrycode UNIQUE (countrycode) ); ALTER TABLE cb_country OWNER TO xulescode; COMMENT ON TABLE cb_country IS 'Tabla donde se definen todos los países con sus características principales: idioma, nombre, ..., y diferentes datos íntrinsecos a cada país.';
Algunos países para que puedas poblar está tabla de forma sencilla:
INSERT INTO cb_country (idcountry, country, description, countrycode, hasregion, regionname, expressionphone, displaysequence, isdefault, ibannodigits, ibancountry, isactive, idlanguage, idcurrency) VALUES (270, 'United States', 'United States of America', 'US', 'Y', 'State', 'Y', '@C@, @R@ @P@', 'Y', NULL, '', true, 'en_US', 7); INSERT INTO cb_country (idcountry, country, description, countrycode, hasregion, regionname, expressionphone, displaysequence, isdefault, ibannodigits, ibancountry, isactive, idlanguage, idcurrency) VALUES (273, 'Belgium', 'Belgium', 'BE', 'N', '', '', 'B-@P@ @C@', 'N', 16, 'BE', true, NULL, 7); INSERT INTO cb_country (idcountry, country, description, countrycode, hasregion, regionname, expressionphone, displaysequence, isdefault, ibannodigits, ibancountry, isactive, idlanguage, idcurrency) VALUES (274, 'Holland', 'Holland', 'NL', 'N', '', 'Y', 'NL @P@ @C@', 'N', 18, 'NL', true, 'nl_NL', 7); INSERT INTO cb_country (idcountry, country, description, countrycode, hasregion, regionname, expressionphone, displaysequence, isdefault, ibannodigits, ibancountry, isactive, idlanguage, idcurrency) VALUES (276, 'Switzerland', 'Switzerland', 'CH', 'N', '', '', 'CH-@P@ @C@', 'N', 21, 'CH', true, 'de_CH', 7); INSERT INTO cb_country (idcountry, country, description, countrycode, hasregion, regionname, expressionphone, displaysequence, isdefault, ibannodigits, ibancountry, isactive, idlanguage, idcurrency) VALUES (277, 'Austria', 'Österreich', 'AT', 'N', '', '', 'A-@P@ @C@', 'N', 20, 'AT', true, 'de_AT', 7);
Si quieres más, aquí tiene el script para hacer un INSERT en la tabla creado con 240 países:
Archivo privado - Acceso prohibido
La consulta que utilizaremos para este informe será un SELECT sobre todos los campos de la tabla, ya que la selección de campos lo haremos al crear el informe. Estamos simplificando lo más posible la consulta para centrarnos en el desarrollo y creación de informes, ya que se puede utilizar la consulta con toda la complejidad que necesitemos, incluyendo la llamada a funciones procedurales.
Esta es la que utilizaremos en la creación del informe en el siguiente apartado:
SELECT idcountry, country, description, countrycode, hasregion, regionname, expressionphone, displaysequence, isdefault, ibannodigits, ibancountry, isactive, idlanguage, idcurrency FROM cb_country ORDER BY country;
Y estos algunos de los resultados que obtenemos ejecutando la consulta en un gestor de bases de datos en este caso PgAdmin:
4. CREAMOS NUESTRO PRIMER INFORME CON JASPERREPORTS
Empezaremos con nuestro primer informe con JasperSoft Studio seleccionando una de las plantillas base para el diseño, para empezar seleccionamos New Report (nuevo informe) y ya podemos seleccionar la plantilla que utilizaremos:
En el siguiente paso se nos indica la carpeta donde se guardará nuestro informe que tendrá un formato jrxml, de momento dejamos la configuración por defecto e introducimos el nombre de nuestro informe en mi caso i_cb_countries.jrxml:
Ahora el Wizard nos permite que seleccionemos un Data Source, aquí seleccionamos el que creamos anteriormente:
Añadimos la consulta tal y como se nos indica, puedes copiar directamente el SQL que te proporcioné con anterioridad:
Es momento de seleccionar los campos que queremos mostrar en el informe, esto es el procedimiento habitual, ya que hay que campos que puedes necesitar en el informe para condicionar como se muestran los resultados, por ejemplo, pero que no quieres que se muestren directamente en el informe:
Aquí puedes ver los campos que yo he seleccionado para este informe:
El último apartado del Wizard nos permite crear grupos, esta opción es muy interesante y útil para agrupar resultados por una de las columnas, para este sencillo informe lo dejaremos en blanco y ya entraremos en profundidad más adelantes:
Generamos el informe pulsando el botón de Finish y nos saldrá el aviso de la correcta creación de nuestro informe:
5.DISEÑAMOS NUESTRO PRIMER INFORME
Ya hemos creado nuestro informe, ahora mismo puedes pulsar el botón Preview y se ejecutará el informe por defecto en la vista previa que viene integrada en Jaspersoft Studio, así es como se ven el informe que hemos creado:
En la siguiente imagen te detallo las partes más importantes del generador de informes:
Vamos a hacer unos cambios sencillos para ir familiarizándonos con el entorno y aprendiendo como se trabaja con el desarrollo de informe con Jaspersoft Studio.
Editor de consultas SQL
Con JasperReports y en concreto desde la aplicación JasperSoft Studio podemos actualizar la consulta en cualquier momento, esto nos va a permitir añadir nuevos campos si se nos olvidó alguno, o cambiar la consulta por completo si es necesario.
Para modificar la consulta pulsa el botón que se indica en la imagen y se abrirá un editor donde podrás editar la consulta:
También tiene otras funcionalidades adicionales como: editor gráfico de consulta, añadido de parámetros, ordenación, …, esto lo veremos con más detalle cuando necesitemos profundizar en el diseño de informes con JasperReports.
Diseño – Editor de expresiones (Expression editor)
Inicialmente en nuestro informe vamos a tener etiquetas (Label) y expresiones (Expressions), en la paleta del diseñador los verás como Static Text y Text Field respectivamente.
Para añadir un nuevo Text Field simplemente arrástralo desde la paleta al informe, este añadirá el elemento al informe, este tiene una expresión que nos permitirá hacer referencia a los elementos de la base de datos: fields ($F{database-field}), y también, a otro tipo de expresiones como son parámetros (parameters: $F{parameter}) y valores calculados ($V{variable}).
Para abrir el editor puedes hacer click sobre el elemento que quieras modificar y te aparecerá la siguiente ventana:
Diseño – Editar etiquetas (Label)
Las etiquetas (Label) son los Static Text que nos permitirán añadir texto plano a nuestro informe y enriquecer nuestro diseño mediante la modicación de la fuente, tamaño, colores, … , todo esto se encuentra dentro de las propiedades de Static Text. Una vez añadida la etiqueta a nuestro informe también podemos modificar el texto directamente sobre el generador:
Fin del Diseño
Como podrás ver en mi informe finalizado he modificado los nombre de las columnas que son Static Text y actualizado también los campos de la cabecera y el pié de página, te recomiendo que explores añadiendo y modificando campos para familiarizarte con el programa JasperSoft Studio, aquí está mi informe finalizado:
Vista previa del informe
Vamos a ver como queda el informe finalmente, para ello JasperSoft Studio incorpora un botón de Preview para visualizar nuestro informe con JasperReports dentro del programa, como se muestra en la imagen.
Vista previa en formato PDF
Este mismo informe lo podemos ejecutar y mostrar en varios formatos simplemente indicando la salida que queremos para la ejecución de nuestro informe, ahora vamos a ver como generar la salida en PDF, como ves en la imagen selecciona esta opción y ejecuta nuevamente el informe pulsando el botón Preview:
Si lo has realizado verás como se abre automáticamente el informe en PDF, la vista previa también aparece visible tal y como vimos anteriormente. Si tienes curiosidad puedes descargar aquí el resultado final del informe en PDF:
Código fuente jrxml
Para finalizar puedes echar un vistazo al código fuente de nuestro informe en formato jrxml que es lo que interpreta el diseñador de informes, cualquier modificación que realices aquí se trasladará directamente al diseñador:
Espero que te haya sido útil
Muchísimas gracias por el tutorial!
Muchas gracias a ti por tu comentario, un placer que te haya gustado y servido de ayuda. Saludos.
gracias, muy claro
Muchas gracias por tu valoración Diego, espero que encuentras alguna publicación más que te sirva de mi web, un saludo.
Hola, como estas? Muy buenos posts!
Pregunta… estoy haciendo un proyecto para la universidad en NetBeans 8.1. Esta vinculado a una base de datos hecha en mysql. Hasta ahí todo bien. Ahora tenía pensado emitir reportes y había pensado en JasperReports para ello pero cuando empezas este post comentás que se pasaron a Eclipse. La pregunta sería si hay alguna manera de utilizar algunas librerías de jasperreports en esta versión de NetBeans o bien hay alguna versión de NetBeans que funciones con cierta versión de las librerías?
Mis pruebas llegaron hasta instalar netbeans 7.4 y levantar las librerías de jasperreports versión 5.5 pero tampoco logro emitir un reporte…
Desde ya muchas gracias!
Saludos!
Hola Alejandro.
Lo que han cambiado es la herramienta para el desarrollo gráfico de informes, no confundas la utilización de una plataforma para la creación de un proyecto con el uso de un IDE, tanto Eclipse como Netbeans tienen unas plataformas para el desarrollo de software, es decir, iReport utiliza Netbeans Platform y Jasper Studio utiliza Eclipse Platform.
Por lo tanto el cambio de la herramienta gráfica no influye para nada en la utilización de Jasper Reports en cualquier entorno ya sea Eclipse, Netbeans, …
Puedes utilizar las librerías de Jasper Reports en cualquier proyecto independientemente de la versión de Netbeans, los problemas que estas teniendo me imagino que vendrán derivados de que te falta alguna librería por incorporar a tu proyecto Netbeans, ten en cuenta que Jasper Reports utiliza muchas librerías de terceros, y por esto tienes que incluir estas librerías en tu proyecto Netbeans, desde los drivers de la conexión a la base de datos, a las librerías de xml, iText, dom, …, que utiliza.
Espero que con esto te encamine a solucionar tus problemas, cuando soluciones tus problemas (que lo harás), coméntalo aquí, gracias.
Tengo previsto publicar un ejemplo de ejecución de informes desde Java, pero hasta Agosto no lo podré publicar debido a que estoy liado con otros proyectos.
Saludos!
Instalar jasperReport e IReport en Netbeans 8.0
http://sandritascs.blogspot.com/2014/10/instalar-jasperreport-e-ireport-en.html
Hola buenos dias, gracias por el tutorial, tengo una aplicación web que genero tras pasarle varios parametros en PDF y no tengo ningun problema.
La cuestión es que ahora necesito que sea el propio usuario quien introduzca un parametro, como puedo capturarlo para continuar con la SQL ?
Lo tengo dentro de un
Gracias
Hola Raúl.
Esta respuesta se me quedó en el tintero, esta cuestión que planteas es más un problema de gestión web que de JasperReports en sí mismo, desconozco tu aplicación, pero lo que deberías hacer es crear un form donde captures los parámetros necesarios para tu informe y el submit ejecutar dinámicamente la creación del informe mediante el paso de los parámetros capturados.
Saludos, perdón por tardar tanto en responder.
Gracias Julio, hermano, por su conocimiento. Hice todo el ejercicio del proyecto Customer, desde el comienzo hasta el informe en PDF y funcionó muy bien. Te agradezco mucho, ya que estoy practicando para trabajar, amigo. Estoy a su orden.
Me alegro mucho Tito, un placer que mis publicaciones te sirvan de ayuda.
Saludos.
Hola Julio,
muy bueno tu tutorial, me sirvio para crear mi reporte.
podrias indicarme como llamarlo de una aplicacion con primefaces?
Saludos
Excelente tutorial!!
Una pregunta, como puedo realizar una conexion a una base de datos oracle?
Gracias de antemano y nuevamente felicitaciones.
Hola Carlos.
Muchas gracias por tu valoración, para establecer una conexión con Oracle puedes utilizar una conexión con JDBC tal y como he hecho yo en este ejemplo con PostgreSQL, simplemente necesitas los valores para establecer la conexión típicos: usuario, clave, puerto, dirección,… , al seleccionar Oracle el propio JasperSoft Studio ya te presenta el formato adecuado para la conexión. Tienes que incluir el driver de Oracle y los datos de la conexión sería algo así (Link con explicaciones de la conexiones JDBC en inglés):
Oracle (thin driver)
Driver: oracle.jdbc.OracleDriver
Sample URL: jdbc:oracle:thin:@mydb_hostname.com:1521:your_db_instance_name
Sample URL: jdbc:oracle:thin:@remotehost:1521:orcl
Standard format: jdbc:oracle:thin:@//HOSTNAME[:PORT]/SERVICE
Nota: no suelo trabajar con Oracle habitualmente, pero según tengo entendido JasperReports solo soporta oracle 11g y 12c, con el driver de Oracle 10g, esto ya lo tienes que investigar tú porque no conozco bien los problemas con versiones antiguas de Oracle.
Espero que te sirva de ayuda.
Saludos.
Buenos dias,
No consigo editar el elemento «Line» para que quede totalmente horizontal. He revisado todas sus propiedades y no consigo que deje de salir en diagonal.
Gracias!
Hola. Tengo un report con origen de datos un xml en local y no me muestra los campos, cargados. Los tengo en teoría bien referenciados en la descripción correspondiente con el XPath completo. En la configuración del Data Adapter tengo marcado «Usar la expresión XPath» y el test de conexión lo realiza bien. ¿A que puede ser debido?. Gracias.
Para imprimir etiquetas preciso definir em qual posição do formulário deverá começar.
Por exemplo: se o formulário tiver 6 etiquetas e precisar começar a imprimir a partir da 3 posição. Como faço?
Hola, te hago una consulta, existe alguna forma de poder insertar texto desde un archivo de texto plano (.txt)?? Desde ya te agradezco cualquier tipo de información que me puedas hacer llegar.
Gracias y saludos
Buenas noches, estoy tratando de hacer reportes pero ya me he roto la cabeza mas de 10 veces, tengo un problema al pasar parametros a mi reporte, lo mas curioso es que ya he realizado 6 de los cuales 4 solo hacen consulta y no necesita parametros para la consulta y los otros dos si les he puesto parametros pero me dieron problemas no me ejecutaba pero tampoco me mostraba error y de repente estos ya se podian mostrar , no se como hacer con el resto necesito ayuda urgente puesto que estoy realizando una tesis
Muchísimas gracias por el tutorial, excelente pagina dedicada a Java y PostgreSQL, por favor hacen falta unos buenos tutos de JavaEE + JSF + PrimeFace + PosgreSQL, es lo que ando buscando para especializarme.
Saludos
Muchas gracias por tu valoración, encantado de que te haya sido útil.
Saludos.
Buenas tardes Julio.
Muchas gracias por el tutorial.
Estamos trabajando con un diseño de 22 hojas pero solo he podido agregar un máximo de tres hojas, me podrías ayudar para poder agregar kas 22 hojas que necesito
Muchas gracias.
Hola Imelda.
Para poder ayudarte necesitaría más información, el número de hojas debe depender del Detail, con lo que no puedo saber si es un problema debido al diseño, debido a la consulta SQL (si la utilizas), …
Un saludo.
Estamos trabajando un diseño de un cuestionario el cual consta de 22 hojas, hemos intentado agregar hojas pero lo mas que deja es 3 como máximo, y queremos tener un solo reporte con las 22 hojas.
Hola julio gracias por tu post mira, tengo un problema, si ya tengo creado el archivo no compilador jrxml y quiero abrirlo nuevamente, por que no me visualiza nuevamente??, me sale en pantalla en blanco sin ningun contenido y quiero eitarlo, estoy con jasper report studio en eclipse, agradeceria tu pronta respuesta urgente mil gracias
Hola Ivan.
Este suele ser un problema de la versión de Jasper Report Studio, cuando cargues el archivo guardado verifica en la consola de errores que no te da error en la carga, después puedes comprobar que el fichero jrxml está bien formado en la pestaña de edición.
A mi me pasó algo parecido en Linux con un Ubuntu con la versión 6.3.0, y lo que tuve que cambiar fue la forma en la que arrancaba el programa modificando el fichero runubuntu.sh.
Si has generado un fichero desde el programa y lo quieres abrir desde el mismo, lo más probable es que sea un problema relacionado con el sistema operativo y el programa.
Espero que te sirva de guía para solucionar tu problema.
Un saludo.
Estamos trabajando un diseño de un cuestionario el cual consta de 22 hojas, hemos intentado agregar hojas pero lo mas que deja es 3 como máximo, y queremos tener un solo reporte con las 22 hojas.
Hola,
Excelente post, pero quería hacerte una pregunta, ya cree el reporte y me funciona excelente, pero al tratar de llamarlo desde mi aplicación en struts 1.3, no me complila, he probado varios códigos pero no logro que funcione, tienes un código basico para llamar el reporte, te lo agradecería mucho.
Hola César.
Muchas gracias por tu valoración, no tengo un código disponible para compartir, los problemas que tienes de no compilación suelen tener que ver con la falta de librerías o de permisos de acceso, ya que JasperReports incluye bastantes en su uso más simple. Es la herramienta que uso hasta en proyectos PHP.
Un saludo.
Buenas noches,
Realice todos los pasos, estoy utilizando la misma BD (postgresql) pero ahora quiero vincularlo con un proyecto de Eclipse. Es decir que al presionar un botón me muestre el reporte.
Tienes algún otro tutorial? o podrías escribirme al correo, abraham.garces2109@gmail.com
Hola Abraham.
No tengo ningún tutorial de como vincularlo al proyecto de eclipse en este momento, si te puedo decir que tienes que utilizar la librería de JasperReports vinculando todas las librerías dependientes que necesita JasperReport, está es la manera que utilizo en mis proyectos Java, y también, en proyectos PHP donde tengo un desarrollado un plugin que me permite ejecutarlos.
Estas herramientas no es posible compartirlas de momento, espero publicar este año algún tutorial que se indique como ejecutar informes desde Java.
Un saludo.
ID ALUMNO PAIS
1 JUAN PERU
2 PEDRO MEXICO
3 PABLO ARGENTINA
TENGO UN REPORTE EN JASPER CON PASO DE PARAMETRO. PERO QUISIERA QUE POR CADA FILA DE MI CONSULTA ME LO IMPRIMIERA EN UNA HOJA (SI SON 3 REGISTROS TRES HOJAS).
ALGUNA IDEA DE COMO HACERLO?
Hola Nicolas.
Para hacer esto tienes que crear un grupo (GROUP) con uno de los campos para realizar el salto de página por registro, una vez creado el grupo en sus propiedades encontrarás un campo booleano que pone: Empezar en una nueva página (Star new page), marcando está opción en el grupo ya obtendrás tu resultado con un página por registro.
Espero que te sirva de ayuda, y disculpa por el retraso en contestar.
Un saludo.
Excelente tutoríal, no se puede hacer mejor 👍🏻. Me gustaría preguntarte porqué a mi los informes me funcionan correctamente en el entorno de desarrollo pero cuando se pasan al servidor (Tomcat), el resultado es bueno pero me cambia el tipo de letra y el tamaño con lo que se descoloca todo. Muchísimas gracias de antemano.
Buen tutorial, Julio.
Llevo utilizando Jasper Report desde hace bastante tiempo y ahora me topo con el siquiente problema: generar el mismo reporte en diferentes idiomas.
Mi primera solución es crear dos jrxml exactamente iguales pero con los labels en su correspondiente idioma. Sin embargo esta solución no es del todo adecuada ya que los reportes se van actualizando periódicamente (principalmente por el cambio de textos estáticos) y supone el doble de trabajo.
¿Sabrías alguna forma de solucionar esto? Se me ocurre la posibilidad de coger estos literales desde los archivos de idioma de cuanquier aplicación (.properties…), pero no se cómo aplicarlo.
Gracias por tu tiempo,
Joseba
Como puedo configurar en el text field que toda la información pueda salir completa y no sólo una parte …por favor
De ante mano gracias por su ayuda
hola buen trabajo el tuyo tengo una duda, tengo un reporte y quiero editar su tamaño en hoja carta a4 pero al imprimir me sale tipo de hoja legal
Buenos días
En primer lugar lo felicito por el contenido de calidad, y aprovecho para hacer una consulta:
Estoy buscando la forma de setear las propiedades de un text field o Static Text con los parámetros del reporte o los campos de la consulta SQL.
Quiero, por ejemplo, asignarle un parámetro de entrada a la propiedad «first Line Indent» en el archivo XML de Jasper, permitiendo que estas propiedades sean dinámicas según el valor ingresado. Es esto posible?
Saludos
Saludos a todos.Yo ya tengo instalado el jasperserver y el jaspersoft, ya me están funcionando, pero ahora quiero desde mi aplicación java levantar los reportes que están en el jasperserver, tengo entendido que hace falta el jasperclient para hacer eso, pero la librería del jasperclient me esta dando muchos errores sobre todo con los ficheros de dto que me faltan casi todos y no lo encuentro por ningún lado. Tienen alguna idea de como resolver eso.
En fin como levanto los reportes desde mi aplicación java.
Gracias.
Hola Osmel.
En primer lugar, pedirte disculpas por tardar tanto en responder, para levantar un informe en una aplicación Java necesitas incluir todas las librerías asociadas no solamente las librerías de JasperReports, ten en cuenta que JasperReports necesita las siguientes librerías: JasperReports Library – Requirements.
Un saludo.
Que tal, buenas tardes, a mi me sirvió mucho de repaso ya que tenia mucho tiempo que no lo manejaba y ahora en el trabajo tengo que hacer reportes con JasperReports, esta muy bien explicada, muchísimas Grxs. 🙂
Buenos días. muchas gracias a ti por tu valoración, encantado de que te sirva de ayuda.
This is really helpful, thanks.
Muchas gracias por la información.
Actualmente genero reportes en con JasperReport en español, mi duda es… hay forma de generar esos reportes pero ahora en ingles?
Agradezco la atención.
Buen día Julio,
Tengo un requerimiento a resolver, y nose si se puede hacer. Tengo una aplicaciòn web de control de stock, con jasper hago etiquetas de còdigo de barra, el usuario genera la etiqueta e imprime la cantidad a travès del servicio de la impresora. Lo que se necesita ahora es, seleccionar diferentes còdigos de barrra, ponerle la cantidad a cada uno e imprimir masivamente.
Me explico?
Gracias.
hola , tengo un proyecto web que funciona con informes creados en jasper, el problema que se me presenta con algunos reportes que son demasiado detallados es que tumba la aplicación por el tiempo de respuesta, solo puedo imprimir hasta un máximo de 200, por lo cual me toca usar un top 200 en el query que conecto al jasper por plsql, pero algunas empresas exigen que puedan cargar de ese reporte hasta 3000 hojas, cada hoja es un reporte y trae la info del select del query, pero como comento cuando quito el top 200 del select y son más de 200 el informe o imprime en blanco o se bloquea la aplicación. Mi pregunta es hay alguna forma de darle a la aplicación el tiempo necesario para crear el reporte completo así sean 7 minutos (es el tiempo que se demoró el jasper en cargar 2300 reportes de estos en su IDE ) sin que la aplicación los deje de procesar. Ya revise y la aplicación no tiene un Time Out para ser propio de la libreria que usa java para exportar el archivo