Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / iReport / Reporte Padrón electoral con imágenes y Data Matrix

Reporte Padrón electoral con imágenes y Data Matrix

Autor jc mouse lunes, marzo 2, 2015

En este post diseñaremos un reporte de un padrón electoral con dos columnas que contendrá los certificados de sufragio entregados a los ciudadanos una vez que estos emiten su voto, estos certificados por lo general contienen la información básica de las personas, una fotografía y un código Data Matrix, QR o de barras.

Certificado de sufragio bolivia

 

Certificado de Sufragio Bolivia

Necesitamos

  • iReport Designer 5.1
  • Base de datos MySQL

Tiempo: 30 minutos

Nivel: Intermedio

Paso 1. Base de datos

Para este ejemplo, se hará uso de la siguiente tabla:

-- 
-- Estructura de tabla para la tabla 'padron_electoral'
-- 

CREATE TABLE padron_electoral (
  ci varchar(7) NOT NULL,
  people_name varchar(16) NOT NULL,
  second_name varchar(16) NOT NULL,
  lastname1 varchar(16) NOT NULL,
  lastname2 varchar(16) NOT NULL,
  num_table int(20) NOT NULL,
  data_matrix varchar(33) NOT NULL,
  PRIMARY KEY  (ci)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- 
-- Volcar la base de datos para la tabla 'padron_electoral'
-- 

INSERT INTO padron_electoral VALUES ('1111111', 'Alan', '', 'Brito', 'Delgado', 23, 'R-2109-3A77-1');
INSERT INTO padron_electoral VALUES ('2222222', 'Pato', 'Carlos', 'Bustos', 'de las Casas', 44, 'R-2109-3A67-6');
INSERT INTO padron_electoral VALUES ('3333333', 'Mario', 'La', 'Neta', '', 1, 'R-2222-3277-2');
INSERT INTO padron_electoral VALUES ('4444444', 'Jessica', '', 'Galindo', 'Tejuro', 44, 'R-8K79-OO77-1');
INSERT INTO padron_electoral VALUES ('5555555', 'Soila', 'Gran', 'Cerda', 'Asquerosa', 2, 'R-2PO9-3A77-A');
INSERT INTO padron_electoral VALUES ('6666666', 'Susana', '', 'Oria', 'Podrida', 5, 'R-4509-3A99-X');
INSERT INTO padron_electoral VALUES ('7777777', 'Zacarias', '', 'Flores', 'del Campo', 4, 'R-26209-3A37-1');
INSERT INTO padron_electoral VALUES ('8888888', 'Aquiles', '', 'Castro', 'Todo', 56, 'R-2288-3A88-D');

Nuestro proyecto consta de una sola tabla llamada «padron_electoral«, entre sus campos tenemos el campo CI (Carnet de identidad o DNI en otros países), este campo que es la llave primaria, también nos servirá para apuntar las fotos de las personas inscritas en el padrón, es decir si una persona tiene el CI = 1234567, su fotografía equivalente será 1234567.JPG

Dicho esto, necesitamos para este ejemplo, 8 imágenes de 60×70 pixeles, si lo deseas puedes usar las nuestras descargando las imágenes en este enlace «Fotos Carnet«

fotos carnet

Nuestra tabla también contiene un campo que llamamos data_matrix, en este campo se coloca la información que se desea mostrar en el reporte con formato imagen de Código Data Matrix

El resto de los campos son los datos más comunes que pueden tener este tipo de reportes (nombre, segundo nombre, apellidos, numero de mesa, etc)

Paso 2.  Reporte y Configuración de página

Abre JasperReport y crea un nuevo reporte en blanco de tamaño de papel A4 y salva en disco.

Ve al menú FORMAT -> PAGE FORMAT y en la opción columnas (columns) coloca 2 y presiona OK

Siguiendo estos pasos Jasper nos crea una hoja de reporte que estará dividida en dos columnas como se puede apreciar en la siguiente imagen:

ireport columnas

Paso 3. Conexión y Report Query

Crea una nueva conexión a tu base de dato de prueba, a continuación crea un Query de la forma:

«select * from padron_electoral«

Paso 4. Parámetros de entrada

Nuestro ejemplo consta de un solo parámetro de entrada que corresponde a la dirección en donde tenemos almacenadas nuestras ocho fotografias, el parámetro se llama «dirPhoto» y es de tipo String, créalo haciendo clic derecho en «parameters» -> «Agregar Parameter»

Paso 5. Diseño del reporte

Valiendote de la paleta de componentes de Jasper crea el siguiente modelo de certificado:

DNI report

A tener en cuenta, las dimensiones del certificado de sufragio son de 241×142 pixeles equivalentes a una tarjeta de 8.5×5 cm.

Añade el Text Field expression a nombre, apellidos, numero de mesa, CI y Numero de registro, como se haría en cualquier otra reporte.

La fotografía

Añade un componente «imagen» de dimensiones 60×70 pixeles, al añadir una imagen, jasper te pedirá que indiques una ruta de una imagen, no selecciones nada y cierra la ventana.

Teniendo la imagen seleccionada, abre en sus propiedades el Image Expression de la imagen y coloca la siguiente expresión:

image expression

Le estamos indicando que se cree un nuevo archivo pasando como parámetros, la dirección de la carpeta en donde están nuestras fotografías y el campo CI junto a la extensión .JPG para formar un archivo, por ejemplo: «c:\misfotos\1234567.jpg»

Código Data Matrix

Desde la paleta arrastra al reporte un componente «Barcode«, aparecerá una ventana en donde podrás elegir el tipo de código de barra que quieras agregar, busca «DataMatrix» en la segunda columna que corresponde a la librería Barcode4J, presiona «Use Barcode4J» para cerrar la ventana.

barcode data matrix

Las dimensiones del Data Matrix es de 32×32 pixeles, modifica estas en el menú de propiedades del componente, a continuación busca la sección de «Barcode» -> «Shape» y selecciona la opción «Force Square«

Numeración de Certificados

Cada certificado, es único y debe tener un orden correlativo que permita llevar un control por parte del usuario, para este fin, se debe añadir un nuevo Text Field y en su propiedad «Text Field Expression» escribir:

$V{REPORT_COUNT}

Para terminar el reporte, añadir algún encabezado, titulo, numeración de página, etc.

republica de los cocos

Ejecuta el reporte, cuando te pida el parámetro «dirPhoto«, escribes la dirección en donde tienes almacenadas las 8 fotografías, por ejemplo «E:\mis fotos\»

Debes tener algo como esto:

padron electoral bolivia

Descargas

Reporte *. JRXML

Fotos tamaño carnet

Enjoy!!! 🙂

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Incrementar limite máximo de importación en PhpMyAdmin

Incrementar limite máximo de importación en PhpMyAdmin

En ocasiones el limite máximo de importación de base de datos que ofrece PhpMyAdmin (2MB) no es suficiente para lo que q...

Reportes con imagenes en Java (Video)

Reportes con imagenes en Java (Video)

Video Tutorial que muestra una de las maneras de utilizar y mostrar imagenes en iReport, pasando estas como parametros d...

Primeros pasos con JavaFX

Primeros pasos con JavaFX

¿Qué es javaFX? JavaFX es una familia de productos y tecnologías de Sun Microsystems, adquirida por Oracle Corporation,...

Tutoriales para creación de videojuegos gratis en descarga directa

Tutoriales para creación de videojuegos gratis en descarga directa

La comunidad 3D Buzz  era una de los lugares donde la gente curiosa de aprender a realizar videojuegos buscaba recursos...

Impresión de Interfaz Gráfica de Usuario

Impresión de Interfaz Gráfica de Usuario

En este post veremos como imprimir secciones de un formulario en java implementando la Interface Printable. La clase que...

Descargar video de TikTok sin marca de agua

Descargar video de TikTok sin marca de agua

TikTok es una plataforma de microvideos muy popular entre los jóvenes el cual cuenta ya con millones de videos cortps de...

8 comentarios en “Reporte Padrón electoral con imágenes y Data Matrix”

  1. mauricio dice:

    Muchas gracias por compartir este excelente proyecto,me podrías ayudar para poder imprimir desde un botón,me falta el método donde llamo al Jasper,desde ya muchas gracias.

  2. rolando mendoza dice:

    amigo cuando creo el jar y lo ejecuto en otra pc no me muestra ni un reporte ya probe con colocar los jasper dentro de dist pero nada ayudame por favor

  3. Ernesto Encarnacion dice:

    Saludos hermano, tengo una inquietud, tu ejemplo me funciona a la perfección, pero si el registro no tiene foto en la carpeta, el reporte no se visualiza, como harías para decirle al reporte que si no tiene foto, deje el campo image vacio o ponga una silueta, gracias.

    1. Mouse dice:

      No tengo el ireport instalado ahora pero puedes probar con la siguiente expresión:

      ( (new File($P{dirPhoto},»1234567.jpg»)).exists() )?new File($P{dirPhoto},»1234567.jpg»):new File($P{dirPhoto},»foto_silueta.jpg»)

      comprueba si fotografía de persona dado su ID existe, sino muestra otra imagen, (una silueta por ejemplo)

      1. Ernesto Encarnacion dice:

        Excelente, hermano, muchas gracias por el código, he hecho tu ejemplo por completo, pero al visualizarse en el explorador en vez de dos columnas solo se visualiza en una sola columna, he buscado por todos lados y no he encontrado la respuesta a esto, he probado con otras tablas, otros ejemplos de dos columnas y por igual al visualizarse desde el browser, solamente se visualiza en una sola columna, inclusive descargué tu ejemplo y por igual, podrías ayudarme con esto por favor!!! Gracias de Antemano.

  4. Jaime Gattorno dice:

    Muchas gracias amigo, me has sacado de un buen apuro con este ejemplo.

  5. adalid dice:

    que tal bueno estoy haciendo un sistema de carnetizacion de jugadores la idea es hacerlo con tu ejemplo de padron electoral para imprimir los carnet bueno cuando lo ise el modelo de carnet y puej me funciono todo bien al momento de mostrar los datos y la foto en vista previa, el error que tengo es al momento de llamarlo al jrxml desde java me da este error Error loading byte data : 8232141.jpg ya no me muestra el reporte

    1. Mouse dice:

      verifica el tamaño de las imágenes, de preferencia usa imágenes pequeñas

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

Si trabajas con redes sociales (RRSS) a continuación te muestro tres herramintas gratuitas que te ayudaran a la hora de...

Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a...

En este post, aprenderemos como conectar Visual Basic 6 con SQL Server, abrir una tabla, leer su contenido y mostrar est...

Lo que veremos en este post es la configuración del driver para PHP de SQL Server que ha creado Microsoft el cual permit...

Herramientas

Generador de Enlaces a Whatsapp