• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
iText
 

iText

on

  • 23,028 views

Ejemplo que muestra el funcionamiento de iText con java para la generacion de un documento PDF, se muestra como insertar un parrafo, tabla, imagen,etc...

Ejemplo que muestra el funcionamiento de iText con java para la generacion de un documento PDF, se muestra como insertar un parrafo, tabla, imagen,etc...

Statistics

Views

Total Views
23,028
Views on SlideShare
14,907
Embed Views
8,121

Actions

Likes
10
Downloads
0
Comments
2

6 Embeds 8,121

http://ajdgeniz.wordpress.com 8107
url_unknown 5
http://webcache.googleusercontent.com 4
http://www.slideshare.net 2
http://http.ajdgeniz.wordpress.com 2
https://ajdgeniz.wordpress.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

12 of 2 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    iText iText Presentation Transcript

    • iText PDF: your Java-PDF library Ejemplo de documento con en N sliders Por: Ing. Domínguez Geniz Amalio Javier < ajdgeniz@hotmail.com > < ajdgeniz@yahoo.com.mx > http://ajdgeniz.wordpress.com 22/08/2010 Geniz v. 1.0 1
    • De la Colección … Aprenda en N Diapositivas ¿Qué es iText? iText es una librería escrita en java por Bruno Lowagie y otros, que permite a los desarrolladores generar dinámicamente documento en formato PDF, ofrece ventajas como: • El documento puede contener entradas escrita por el usuario a través 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 Puede obtener esta librería desde su pagina oficial en: Las Marcas y Logotipos http://itextpdf.com Mostrados, son marcas registradas de sus respectivas empresas y/o proyectos en México y Otros Países o ambos. 22/08/2010 Geniz v. 1.0 Update 1 2
    • De la Colección … Aprenda en N Diapositivas A continuación haremos un ejemplo donde utilizaremos los párrafos, tablas y veremos como insertar una imagen además de agregarle una fuente en especifico. Primeramente recuerde tener a la mano la librería de iText en este caso he utilizado la versión 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 Colección … 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 Colección … Aprenda en N Diapositivas String choro="Mi primer documento en iTextn" + "Este es un documento elaborado con iText 5.0 por Geniz"+"n" + "No olviden visitar mis demas tutoriales y codigos fuentes en 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"}; /*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 Colección … 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 Colección … 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 tamaño*/ 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 Paragraph("Columna1- ID",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.RED)));; PdfPCell celda2 =new PdfPCell (new Paragraph("Columna2- Valor",FontFactory.getFont("arial",10,Font.BOLD,BaseColor.RED))); 22/08/2010 Geniz v. 1.0 Update 1 7
    • De la Colección … 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 8
    • De la Colección … 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 9
    • De la Colección … 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 Colección … 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