iText, Generación de archivo Pdf en Java

Estándar

Durante la realización de algún programa es posible que llegue a necesitar crear algún tipo de recibo y/o reporte con el fin de tener una confirmación mas solida de las operaciones realizadas, la fecha en que se realizaron, o simplemente que se desee imprimir un comprobante de las mismas.

En estos casos el formato en el que normalmente se solicita es un archivo Pdf.

No es de extrañar por tanto que exista una librería en Java con la cual se puedan crear documentos en dicho formato de una forma bastante sencilla, que a su vez nos permite hacer uso de las funciones de formateo y localización que vienen incluidas con el formato.

Por esto se presenta este tutorial el cual cubre como dar de alta dicha librería para su uso en un proyecto del IDE Eclipse, mas un ejemplo sencillo de un programa

Antes de comenzar quisiera agradecer a Geek-tutorials.com que es donde encontré el tutorial que sirve de base para este, enlace al mismo que puede encontraste en la sección de referencias [1]

Creando el proyecto

Se asumirá ya se tiene instalado en entorno Eclipse, por lo que se comenzara con crear un nuevo proyecto, con el nombre ReciboPDF y presionamos finalizar

Creando el proyecto

Figura – Creando el proyecto de ejemplo

Notara que en el explorador de paquetes ahora esta nuestro nuevo proyecto, de clic sobre el signo + y notara la estructura del proyecto como se ve en la figura 2

Figura 2 - Estructura del proyecto

Figura 2 – Estructura del proyecto

Ahora presione el botón derecho del ratón sobre el proyecto y vaya a nueva->carpeta y cree una carpeta llamada lib

Figura 3 – Nueva carpeta

Lib

Figura 4 – Carpeta para las librerías

Esta carpeta la usaremos para poner la librería iText, no es esencial del todo, pero es buena practica mantener las librerías en su propia carpeta.

Ahora descargue la librería desde http://sourceforge.net/projects/itext/ descargara un archivo itext-5.4.2.zip cuyo contenido se observa en la figura 5

05_contenido

Figura 5 – Contenidos de itext-5.4.2.zip

De ese archivo zip extraiga itextpdf-5.4.2.jar a la carpeta lib del proyecto

Ahora regrese a eclipse y presione F5 o a renovar en el menú contextual, con eso obtendrá algo como la figura 6, con el archivo jar ahora en la carpeta lib

06_lib_agregada

Figura 6 – Librería detectada

Si bien la librería ya se encuentra en el directorio del proyecto aun falta agregarla a la ruta de construcción del proyecto, para esto presione con el botón derecho del raton sobre el nombre del proyecto y vaya a propiedades

07_via_de_construccion

Figura 7 – Via de Construcción Java

En el dialogo de propiedades seleccione “Via de Construcción Java” y vaya a la pestaña de propiedades como se ve en la figura 7

Ahí presione el boton añadir archivos Jar y seleccione itextpdf-5.4.2.jar como se ve en la figura 8 y presione aceptar

08_librerias

Figura 8 – Librerías

Vera que iText ahora aparece entre las librerías del proyecto, como muestra la figura 9

09_agregar_librerias

Figura 9 – Librerías del proyecto

Con esto ya podra usar la librería desde el proyecto, para prueba cree un paquete pruebaPDF y una nueva clase llamada PruebaPDF con el código:


package pruebaPDF;

import com.itextpdf.text.Document;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.Paragraph;

import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;

public class PruebaPDF {

    public void ITextHelloWorld() throws Exception{
        Document document = new Document();
        Calendar cal = Calendar.getInstance();
        Date fecha = new Date( cal.getTimeInMillis() );
        SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");

        String parrafo = "Usaremos este parrafo como ejemplo de lo sencillo que es el uso de la libreria, "
						 + "pues como podria observar en el codigo esta cadena no lleva saltos de linea, "
						 + "mismos que la libreria agrego.";

        String parrafo2 = "A su vez podemos agregar datos con una simple concatenación, como ejemplo ponemos"
		                  + "la fecha del dia en el formato deseado: "
						  + formato.format(fecha)
						  + " y como podemos ver tambien hacer uso de las diversas funciones de formateo de"
						  + "fecha y numeros, incluso formatos personalidades.";

        PdfWriter.getInstance(document, new FileOutputStream("recibo.pdf"));
        document.open();
        document.add(new Paragraph(parrafo));
        document.add(new Paragraph(parrafo2));
        document.close();

    }

    public static void main(String args[]){
        try{
            PruebaPDF p = new PruebaPDF();

            p.ITextHelloWorld();

        }catch(Exception e){
            System.out.println(e);
        }
    }
}

Si ejecuta el programa en el directorio raíz del proyecto encontrara un archivo recibo.pdf con el contenido mostrado en la figura 10

10_resultado

Figura 10 – Resultado

Con esto ya tiene un ejemplo sencillo de como usar la libreria, en futuras entradas veremos mas sobre el formateo de datos y de fechas.

Espero que esto ayude a los que deseen usar la librería y nos vemos en otra entrada

Referencias:
1 – Setup iText for project & Hello World – http://www.geek-tutorials.com/java/itext/setup_itext.php
2 – iText®, a JAVA-PDF library – http://sourceforge.net/projects/itext/

Anuncios

14 comentarios en “iText, Generación de archivo Pdf en Java

  1. Pingback: Creando encabezados y conteo de paginas en archivos Pdf con Java e iText. | #blogeando

  2. Pingback: Agregar Imagenes a documentos Pdf con iText | #blogeando

  3. Pingback: Agregando un membrete a un documento Pdf con iText | #blogeando

  4. Pingback: Enviado correos electronicos con JavaMail | #blogeando

  5. Pingback: Acceder a una base de datos MySQL desde Java | #blogeando

  6. Pingback: Agregando enlaces a paginas Web a archivos Pdf con iText | #blogeando

  7. Pingback: Acceder a un servidor FTP con Java y Apache Commons Net | #blogeando

  8. Pingback: Organización del código de un proyecto iText | #blogeando

  9. Pingback: Agregando Librerias a un proyecto en NetBeans | #blogeando

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s