Este post esta dedicado a la creación de reportes con imágenes usando el programa iReport Designer.
Cuando se desarrolla un software con el lenguaje java y base de datos que hace uso de imágenes, estos archivos de imagen por lo general se almacenan en un directorio junto a la aplicación y en la base de datos se registra solamente los nombres de las imágenes. El problema surge cuando queremos mostrar estos registros en un reporte junto a sus imágenes. En el siguiente tutorial te mostramos una forma de mostrar esas imágenes en los reportes.
Necesitamos
Tiempo: 15 minutos
Nivel: Intermedio
TUTORIAL
Paso 1: Base de Datos MySQL
Crea una base de datos y añade una tabla llamada «people«, su estructura será la siguiente:
CREATE TABLE people ( people_id int(10) NOT NULL auto_increment, people_name varchar(64) NOT NULL, people_mail varchar(32) NOT NULL, people_photo varchar(12) NOT NULL, PRIMARY KEY (people_id) );
Nuestra tabla esta formada por cuatro campos, el campo de nuestro interés es el campo «people_photo» que es el campo donde se almacena el «nombre de la imagen» de la forma «tu_imagen.jpg«.
Paso 2. Conexión a la base de datos
Abre iReport Designer y crea un nuevo reporte en blanco. A continuación crea una nueva conexión a la base de datos que se crea en el paso 1
Seguidamente se debe crear el Report Query, la consulta es «select * from people»
Paso 3. Diseño del reporte
Haciendo uso de las herramientas de iReport Designer, crea el reporte como muestra la siguiente imagen:
Importante: Cuando agregues el objeto «image» te pedirá que indiques un nombre de archivo, presiona «Cancelar» para que se agregue un objeto image vacío.
Hasta este punto puedes ejecutar el reporte y tendrás algo como esto:
El resultado es un reporte como cualquier otro, no muestra imagen alguna porque no hay ninguna asignada al objeto image. Si todo esta bien haste este punto, podemos continuar.
Paso 4. Agregar las imágenes
La base de datos almacena solo los nombres de las imágenes (imagen.jpg), necesitamos el resto de la ubicación de los archivos JPG, para este ejemplo todas las imágenes se encuentras en una sola carpeta de nuestra disco duro. Para indicarle al reporte esta ubicación, creamos un «parámetro de entrada» llamado «dirPhoto» de tipo «java.lang.String«
Selecciona el objeto image y dirígete a la ventana propiedades, busca la propiedad «Image Expression» y presiona el botón […] para abrir la ventana de propiedades. En esta ventana escribimos la siguiente expresión:
Lo que hacemos con esta expresión, es crear un objeto FILE indicando con el parámetro de entrada «$P{dirPhoto}» la ruta de la carpeta que contiene nuestras imágenes y con el campo «$F{people_photo}» el nombre de la imagen que se extrae de la base de datos. Cuando se ejecute el reporte se formara un File de tipo «c:\tu_aplicacion\imagenes\foto_001.jpg«, «c:\tu_aplicacion\imagenes\foto_002.jpg«, etc.
Ejecuta el reporte
Para utilizarlo desde tu aplicación java, solo debes pasar el parámetro de entrada con la ruta de tu carpeta de imágenes.
Archivos utilizados en este tutorial «Reporte con imagenes»
FIN
JTable es un componente swing java que nos permite mostrar datos en una tabla de una base de datos, sin embargo a difere[...]
Antes de programar un videojuego, es necesario saber: Cómo representar figuras en la pantalla Cómo se manejan las coorde[...]
Cuarta parte de esta pequeña serie de tutoriales sobre [Crea tu blog con el patrón MVC y php] En esta cuarta entrega ver[...]
Cuando creamos reportes en iReport que son un poco complicadas o reportes personalizados, osea, tratando de evitar el cl[...]
Ya tengo varios post sobre conexión a base de datos en varios lenguajes y claro no podía faltar c#, el siguiente tutoria[...]
A continuación te mostramos una guía sobre la nueva nueva función ‘estado‘ de WhatsApp. Primero que nada, a[...]