Hola a todos, hace unos dias tuve una pregunta de uno de mis alumnos del curso de Introducción a Oracle APEX sobre como habilitar el PDF en un reporte en APEX y veo conveniente contestarle con un articulo en mi blog.

Antes que nada para vizualizar el reporte en PDF en APEX necesitamos tener instalado nuestro APEX con la configuración del Oracle APEX Listener.

Voy a tomar como ejemplo este Reporte Interactivo sobre Departamentos. (de la aplicacion de ejemplo usado en el curso)

 Vamos a editar la página, para ello hacemos click en «Edit Print Attributes«

Como podemos ver en la siguiente imagen, necesitamos configurar el print server.

Para ello ingresamos a la administracion de nuestra instancia

 Ingresamos a «Manage Instance«

Seleccionamos la opcion «Instance Settings» del cuadro de Instance Settings

Nos aparecerá que tenemos seleccionado la opcion External (Apache FOP) como la Print Server

Lo vamos a cambiar y colocar en Oracle APEX Listener

Guardamos los cambios y salimos de la administracion.

Nos volvemos a loguear en nuestro workspace y vamos a editar el reporte interactivo, para ello vamos a «Edit Print Attributes» y en la sección «Printing» vemos que ya no nos sale el error que nos indicaba que no habia print server.

Luego vamos al tab «Report Attributes» y en la sección «Download» tildamos la opción PDF.

Guardamos los cambios y ejecutamos la página, en el boton Actions seleccionamos Download y vemos que parecen todas las opciones de descarga

Hacemos click en el boton PDF y nos muestra la ventana para abrir o descargar el PDF

Abrimos el PDF

Y nos muestra el reporte de Departamentos como una tabla. Cabe destacar que si queremos darle formato a nuestros reportes necesitamos utilizar alguna herramienta de diseño de reportes e integrarlo a APEX.

En el curso que estoy preparando de Oracle APEX Avanzado explicaré como darle formato a nuestros reportes interactivos usando la integracion de JasperReportsIntegration de Opal Consulting y el diseñador de Reportes IReport.

Bueno hasta aqui éste articulo y será hasta pronto.

Saludos!!!