Documente Academic
Documente Profesional
Documente Cultură
Ejemplo de documento
con
en N sliders
Por: Ing. Domnguez Geniz Amalio Javier < ajdgeniz@hotmail.com > < ajdgeniz@yahoo.com.mx > http://ajdgeniz.wordpress.com
22/08/2010
Geniz v. 1.0
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
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
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);
22/08/2010
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
/*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
22/08/2010
}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
public static void main(String[]args)throws Exception{ /*invocamos al metodo generarPDF*/ docItext app=new docItext(); app.generarPDF();
}
}
22/08/2010
10
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
11