Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
en Oracle Apex 5
Written by Clarisa Maman Orfali
Todos los que hemos trabajado en desarrollar aplicaciones ya sean
para escritorio como web, se nos presenta un requerimiento
determinante que es el de poder imprimir los reportes que se crean
en la aplicacin.
Es por ello que al trabajar con Oracle APEX siendo una herramienta
sin costo embebida en la base de datos Oracle, siempre he
investigado diferentes formas de poder imprimir los reportes y que
sean sin costo.
Es por ello que en esta oportunidad les traigo una solucin muy
interesante basada en un paquete construido en puro PL/SQL llamado
jrxml2pdf que nos permite mostrar reportes PDF listos para imprimir
desde nuestra aplicacin en APEX y para construir el reporte que
queremos imprimir en formato PDF vamos a trabajar con una
herramienta grfica gratuita y Open Source llamada iReport Designer.
Paquete PL/SQL jrxml2pdf
El paquete PL/SQL jrxml2pdf es una solucin escrita en cdigo
PL/SQL puro y que genera archivos PDF tomando la informacin
desde la tabla jrxml-report-definition el cual nos permite ingresar el
cdigo XML del reporte creado y lo mejor de todo es que no se
necesita ningn middleware.
Podemos
disear
nuestros
reportes
grficamente
y
muy
sencillamente usando iReport Designer, como lo veremos en un
momento, y con unos simples pasos mostrar dichos reportes en
nuestras aplicaciones en APEX.
Este paquete fue escrito por Andreas Weiden basndose en el
paquete AS_PDF3 escrito por Anton Scheffer y el tipo de licencia que
maneja es la GLP y MIT las cuales se encuentran descriptas en el
paquete.
Descargar Paquete
Descargamos el Paquete jrxml2pdf en nuestra PC desde el siguiente
link: http://sourceforge.net/projects/pljrxml2pdf/ (en mi caso lo
descargar en el escritorio) y lo descomprimimos.
Instalar el paquete jrxml2pdf
Puede darse el caso de que al hacer doble clic en el icono para abrir
el programa de iReport Designer, se muestre el splash de inicio pero
finalmente no se abra el programa.
Para que el programa se abra necesitamos indicarle el java home en
el archivo de configuracin del iReport.
Primero buscamos la ruta del jdk7, el cual para este ejemplo
corresponde a:
C:\Program Files\Java\jdk1.7.0_79
Luego, ingresamos a la carpeta donde se encuentran los archivos del
iReport-4.8.0.Por ejemplo si tenemos la carpeta en el escritorio:
C:\Users\Admin\Desktop\iReport-4.8.0
Hacemos doble click en la carpeta etc y abrimos con un editor de
textos el archivo ireport.conf.
Debajo de la lnea: #jdkhome="/path/to/jdk"
Ingresamos la siguiente lnea:
jdkhome="C:\Program Files\Java\jdk1.7.0_79"
Name: apex-demo
o
o
Username: mi_username
Password: mi_password
Hacemos clic en el Step 2 para crear un nuevo reporte y que se inicie el asistente.
1. Seleccionar Template
Se abre el asistente y seleccionamos el template Coffee Landscape, y hacemos
clic en el botn Launch Report Wizard:
2. Nombre y Ubicacin
1. Report Name: reporte-empleados
2. Location: C:\Users\Admin\Documents\iReport
3. File: C:\Users\Admin\Documents\iReport\reporte-empleados.jrxml
Agrupar
por
seleccionamos
(Group
By)
nada.
Hacemos
clic
en
el
botn
Next
>
Personalizar el Reporte
Desde el panel central del diseador del reporte, eliminamos las dos
imgenes, tanto la de la mancha de caf como los granos de caf,
simplemente seleccionamos los elementos con el mouse y los
eliminamos.
Posteriormente ingresamos una imagen en la esquina superior
derecha.
Hacemos clic en el icono de imagen en el panel de la derecha donde
se encuentra la paleta de elementos y lo arrastramos al sector (band)
del Title en el panel central.
Seleccionamos otra imagen y hacemos lo mismo y la colocamos en el
lado izquierdo.
Adems dichas imgenes las podemos dejar copiadas en la misma
carpeta donde se guarda el reporte, en m caso los nombres de las
imgenes son: apex1.jpg y apex2.jpg.
$V{REPORT_COUNT}%2 == 0
END;
3. En la seccin Condicin
1. Si Se Hace Clic en el Botn: IMPRIMIR
4.
Guardamos todos los cambios hacienda clic en el botn
Guardar
Ejecutamos la Pgina y podemos ver que el reporte se visualiza
correctamente en nuestra aplicacin en APEX.