Ejemplo+de+iText

download Ejemplo+de+iText

of 11

Transcript of Ejemplo+de+iText

iText PDF: your Java-PDF library

Ejemplo de documento

con

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

22/08/2010

Geniz v. 1.0

1

De la Coleccin Aprenda en N DiapositivasQu 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

2

De la Coleccin Aprenda en N DiapositivasA 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

4

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

5

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

6

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

7

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