0% encontró este documento útil (0 votos)
864 vistas11 páginas

Crear PDFs con iText en Java

iText es una librería Java que permite generar documentos PDF dinámicamente. El documento muestra un ejemplo de cómo utilizar iText para crear un PDF que incluye párrafos, una tabla con datos de arreglos, e imágenes. El código genera el PDF con el contenido especificado y lo guarda en un archivo.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
864 vistas11 páginas

Crear PDFs con iText en Java

iText es una librería Java que permite generar documentos PDF dinámicamente. El documento muestra un ejemplo de cómo utilizar iText para crear un PDF que incluye párrafos, una tabla con datos de arreglos, e imágenes. El código genera el PDF con el contenido especificado y lo guarda en un archivo.
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

iText PDF: your Java-PDF library

Ejemplo de documento

con

en N sliders
Por: Ing. Domnguez Geniz Amalio Javier < [email protected] > < [email protected] > http://ajdgeniz.wordpress.com

22/08/2010

Geniz v. 1.0

De la Coleccin Aprenda en N Diapositivas


Qu es iText?

iText es una librera escrita en java por Bruno Lowagie y otros, que permite a los desarrolladores generar dinmicamente documento en formato PDF, ofrece ventajas como: El documento puede contener entradas escrita por el usuario a travs de variables. El contenido puede ser personalizado El documento puede ser ejecutado desde un entorno Web o Desktop Se puede generar un documento a partir de archivos XML o Bases de datos Agregar firmas digitales al PDF Dividir, concatenar y manipular paginas del PDF

Las Marcas y Logotipos Mostrados, son marcas registradas de sus respectivas empresas y/o proyectos en Mxico y Otros Pases o ambos.
22/08/2010

Puede obtener esta librera desde su pagina oficial en: http://itextpdf.com

Geniz v. 1.0 Update 1

De la Coleccin Aprenda en N Diapositivas


A continuacin haremos un ejemplo donde utilizaremos los prrafos, tablas y veremos como insertar una imagen adems de agregarle una fuente en especifico. Primeramente recuerde tener a la mano la librera de iText en este caso he utilizado la versin 5.0,2: /*Primeramente y como en todo archivo java haremos las importaciones necesarias*/ import java.io.*; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Paragraph; import com.itextpdf.text.Phrase; import com.itextpdf.text.pdf.*; import com.itextpdf.text.Font; import com.itextpdf.text.Chunk; import com.itextpdf.text.PageSize; import com.itextpdf.text.Image; import com.itextpdf.text.pdf.PdfPTable; import com.itextpdf.text.FontFactory; import com.itextpdf.text.BaseColor; import javax.swing.JOptionPane;
22/08/2010 Geniz v. 1.0 Update 1 3

De la Coleccin Aprenda en N Diapositivas

public class docItext { public void generarPDF()throws Exception{ /*Primero definimos todas las cadenas del encabezado del documento y los demas datos a utilizar*/ String encabezado="Geniz Software - Http://ajdgeniz.wordpress.com"+"\n"+ "Esta es una frase que estara en el encabezado del documento"+"\n"+"\n"+"\n"+"\n" +"\n"+"\n"+"\n"; /*colocaremos tambien la fecha de creacion*/ java.util.Date date = new java.util.Date(); /*Fuente utilizada para formatear el encabezado en este caso sera arial 12 en negrita*/ Font fuente= new Font(Font.getFamily("ARIAL"), 12, Font.BOLD); /*Definimos un texto que se incluira antes de la tabla*/

22/08/2010

Geniz v. 1.0 Update 1

De la Coleccin Aprenda en N Diapositivas

String choro="Mi primer documento en iText\n" + "Este es un documento elaborado con iText 5.0 por Geniz"+"\n" + "No olviden visitar mis demas tutoriales y codigos http://ajdgeniz.worpdress.com" +"\n"+"\n"+"\n"+"\n"; /*Tambien haremos una tabla a partir de un par de arreglos en otro caso podria haber sido un resultset de una base de datos*/ String[] columna1={ "id1","id2","id3","id4","id5"}; String[] columna2={ "valor1","valor2","valor3","valor4","valor5"};

fuentes

en

/*Ahora almacenaremos la imagen que ira en la parte superior y la alineamos a la izquierda*/ Image imagen=Image.getInstance(("logo.png")); imagen.setAlignment(Image.LEFT | Image.TEXTWRAP);

/*Ahora que ya tenemos el contenido del documento empezaremos a estructurarlo*/

22/08/2010

Geniz v. 1.0 Update 1

De la Coleccin Aprenda en N Diapositivas

try{
/*Primero pasaremos nuestras cadenas a elementos de iText*/ /*definimos una frase que sera el string encabezado y le aplicamos la fuente*/ Paragraph linea = new Paragraph(encabezado,fuente); /*Definimos un parrafo*/ Phrase para=new Phrase(choro); /*Pasamos la fecha a un String y la agregamos a un parrafo*/ Paragraph fecha=new Paragraph(String.valueOf(date)+"\n"+"\n"); /*Ahora definimos la tabla donde el arguemento recibido indica el numero de columnas y la propiedad setWidthPercentage permite indicarle que ocupe todo el ancho de la pagina*/ PdfPTable tabla=new PdfPTable(2); tabla.setWidthPercentage(100);

22/08/2010

Geniz v. 1.0 Update 1

De la Coleccin Aprenda en N Diapositivas

/*Ahora que ya tenemos todos los elemtnos es hjora de agregarlos al documento, para ello primeramente definimos un docuemnto e indicando el tamao*/ Document documento = new Document(PageSize.LETTER); /*Definimos el nombre del archivo de salida con extension .PDF*/ String file="Hola.pdf"; /*a traves del siguiente metodo (getInstance)y un flujo de salida del paquete .io asociamos el documento de iText con el archivo de java*/ PdfWriter.getInstance(documento, new FileOutputStream(file)); /*Definimos las celdas que seran los encabezados de la tabla*/ PdfPCell celda1 =new PdfPCell (new ID",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.RED)));; PdfPCell celda2 =new PdfPCell (new Valor",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.RED)));

Paragraph("Columna1Paragraph("Columna2-

22/08/2010

Geniz v. 1.0 Update 1

De la Coleccin Aprenda en N Diapositivas


/*Abrimos el documento y agregamos los elementos en el orden que deben aparecer*/ documento.open(); documento.add(imagen); documento.add(linea); documento.add(para); documento.add(fecha); tabla.addCell(celda1); tabla.addCell(celda2); /*Ahora a traves de un for insertaremos el contenido del arreglo en la tabla*/ for(int i=0;i<columna1.length;i++){ tabla.addCell(columna1[i]); tabla.addCell(columna2[i]); } documento.add(tabla); /*Cerramos el documento*/ documento.close(); /* LaunchApplication.execute(file);//Ignoren esta linea de codigo es una de mis clases para pruebas*/

22/08/2010

Geniz v. 1.0 Update 1

De la Coleccin Aprenda en N Diapositivas

}catch(DocumentException e){ JOptionPane.showMessageDialog(null,e.getMessage(),"Error", JOptionPane.ERROR_MESSAGE); return; }catch(IOException e){ JOptionPane.showMessageDialog(null,e.getMessage(),"Error", JOptionPane.ERROR_MESSAGE); return; }

22/08/2010

Geniz v. 1.0 Update 1

De la Coleccin Aprenda en N Diapositivas

public static void main(String[]args)throws Exception{ /*invocamos al metodo generarPDF*/ docItext app=new docItext(); app.generarPDF();

}
}

22/08/2010

Geniz v. 1.0 Update 1

10

De la Coleccin Aprenda en N Diapositivas

Finalmente el resultado en pantalla---------

No olviden visitar mi blog en: http://ajdgeniz.wordpress.com o en: http://www.javamexico.org/blogs/ajdgeniz http://mygnet.net/colaboradores/javier_dominguez_geniz.14691/ O en las redes sociales: http://twitter.com/ajdgeniz http://www.facebook.com/ajdgeniz

22/08/2010

Geniz v. 1.0 Update 1

11

También podría gustarte