Trabajar con archivos PDF mediante iText (introducción)

Hola que tal nuevamente buscando contenido para compartir con ustedes, les cuento que me surgió la necesidad y curiosidad de aprender a generar archivos pdf desde java y quiero compartirlo con ustedes, lo primero que debemos hacer es saber que es itext, quien lo creo como funciona, que licencia tiene estos datos no son muy importantes en primera instancia pero sí que es adecuado saberlos.

iTex según wikipedia:

iText es una biblioteca Open Source para crear y manipular archivos PDF, RTF, y HTML en Java. Fue escrita por Bruno Lowagie, Paulo Soares, y otros; está distribuida bajo la Mozilla Public License con la LGPL como licencia alternativa.

Como podemos ver esa librería la podemos utilizar de la manera que más nos convenga ya que es Open Source y tiene licencia LGPL pueden ver más información de estas cosas si dan clic en los enlaces de la descripción.

Acto seguido debemos de bajar la librería que no es mas que un archivo .jar el cual podemos descargar directamente desde esta dirección.

Me costó un poco averiguar las clases que maneja esta librería para poder generar el pdf pero entre otras solo utilizaremos las necesarias para poder crear un archivo sencillo el cual contendrá solo una línea de texto, ya en otras entradas veremos cosas mas interesantes.

Nota importante: hay dos maneras de utilizar la librería que acabamos de descargar, la primera es copiarla en la misma ubicación donde crearemos el archivo java desde el cual vamos a trabajar, esto se recomienda si vamos a distribuir nuestro programa o lo vamos a ejecutar en diferentes computadoras (como en programas escolares que hacemos aquí entregamos allá) y la mas recomendable y que utilizo yo es copiar la librería al directorio de librerías que tiene java para estos casos el cual es en mi caso: C:\Program Files\Java\jdk1.6.0\jre\lib\ext en la carpeta ext encontraremos otros jar’s que son utilizados por java. Al pegar nuestra librería en ese directorio automáticamente podemos usarla desde cualquier lugar en nuestra computadora que elijamos para crear nuestro código.

Vamos a ver el código que estará perfectamente bien explicado.

[code lang="java"]
/**
* @(#)MiPrimerPDF.java
*
*
* @author Roberto León Cruz
* @version 1.00 2010/5/11
*/

//Librerias de java que necesitamos
import java.io.FileOutputStream;
import java.io.IOException;

//Librerias que nos proporciona ITEXT
//que son necesarias para crear el pdf

import com.itextpdf.text.Document; //contiene opciones
//para formato de nuestro documento como el tamaño
//de la pagina entre otras.

import com.itextpdf.text.DocumentException;//se encarga
//de capturar los posibles errores..

import com.itextpdf.text.Paragraph;//hace referencia a
//un parrafo,

import com.itextpdf.text.pdf.PdfWriter; //contiene el
//codigo necesario para crear un archivo PDF

public class MiPrimerPDF
{

//en esta ocacion no vamos a utilizar el constructor
//por lo que si queremos podemos borrarlo pero siempre
//es una buena practica de programacion ponerlo.
public MiPrimerPDF()
{

}

//crearemo nuestro pdf directamente del metodo main
public static void main(String[] args)
{
//creamos una variable de tipo documento
Document documento = new Document();

//como vamos a trabajar con ficheros/archivos
//debemos hacerlo dentro de un bloque try
//para capturar los posibles errores
try
{
//le decimos que nos genere un archivo en PDF
// pasandole como parametros el contenido de
//dicho archivo y el nombre de nuestro PDF
PdfWriter.getInstance(documento,
new FileOutputStream("EjemploPDF.pdf"));
//abrimos nuestro documento para poder escribir en él.
documento.open();
//diriamos que escribimos un nuevo parrafo en nuestro
//documento el cual contiene solo una linea de texto.
documento.add(new Paragraph("http://robertoleon.com.mx/"));
}
//aqui capturamos los errores que pudiera generar
//nuestro documeto
catch (DocumentException de)
{
//imprimimos los errores
System.err.println(de.getMessage());
}
//aqui capturamos los errores que pudiera
//generar la creacion de nuestro archivo
catch (IOException ioe)
{
//imprimimos los errores
System.err.println(ioe.getMessage());
}

//finalmente cerramos nuestro documento
documento.close();
//mandamos a imprimir que nuestro archivo esta listo
System.out.println("Archivo generado exitosamente");
}

}
[/code]

Ejecutamos el código y nos va a generar un archivo pdf llamado EjemploPDF.pdf en la misma ubicación donde tenemos nuestro código java, el archivo generado solo tendrá una línea de texto pero con el código es suficiente para que ustedes puedan modificarlo y agregar más texto.

Como podemos ver es un ejemplo realmente sencillo, pero que seguramente les servirá a muchos, mas adelante veremos más opciones de esta gran librería.

Cortesia: J. Roberto León c.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

HOLA... soy nuevo en esto de

HOLA... soy nuevo en esto de utilizar iText pero realize el codigo en eclipse juno y no me funciona... me marca error lo siguiente:

import com.itextpdf.text.Document; //contiene opciones
//para formato de nuestro documento como el tamaño
//de la pagina entre otras.

import com.itextpdf.text.DocumentException;//se encarga
//de capturar los posibles errores..

import com.itextpdf.text.Paragraph;//hace referencia a
//un parrafo,

import com.itextpdf.text.pdf.PdfWriter; //contiene el
//codigo necesario para crear un archivo PDF

espero su respuesta... gracias

que error te manda?

que error te manda?

Imagen de Sr. Negativo

tal vez le falte agregar las

tal vez le falte agregar las librerías al classpath

Imagen de ingscjoshua

te faltaran los jars?

Puede que te falten los jars de las librerias