<%@ page import="java.io.*" %> <%@ page import="java.lang.*" %> <%@ page import="com.itextpdf.text.Document" %> <%@ page import="com.itextpdf.text.DocumentException" %> <%@ page import="com.itextpdf.text.Paragraph" %> <%@ page import="com.itextpdf.text.Phrase" %> <%@ page import="com.itextpdf.text.pdf.*" %> <%@ page import="com.itextpdf.text.Font" %> <%@ page import="com.itextpdf.text.Chunk" %> <%@ page import="com.itextpdf.text.PageSize" %> <%@ page import="com.itextpdf.text.Image" %> <%@ page import="com.itextpdf.text.pdf.PdfPTable" %> <%@ page import="com.itextpdf.text.FontFactory" %> <%@ page import="com.itextpdf.text.BaseColor" %> Control de PDF LIQUIDACION <% out.println("Generacion de PDF"); /*Primero definimos todas las cadenas del encabezado del documento y los demas datos autilizar*/ String encabezado="Factura Para: 275"+"\n"+"Igualatorio Médico Quirurgico y de Especialidades de Navarra"+"\n"+"PAULINO CABALLERO 51"+"\n"+"31004 PAMPLONA"+"\n"+"CIF: A31005432"+"\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*/ String choro="Honorarios Enero 2012\n"+ "Fecha Factura: "+"\n"+ "Factura Numero: N.I.F: 11111111H "+"\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={ "1","2","990020","990021"}; String[] columna2={ "CONSULTA","REVISION","INGRESO POR PROCESO MEDICO","INTERCONSULTA INGRESADOS"}; /*Ahora almacenaremos la imagen que ira en la parte superior y la alineamos a laizquierda*/ Image imagen=Image.getInstance(("/root/apache-tomcat-6.0.20/webapps/tarisan/liquidaciones/logo_imq.jpg")); imagen.setAlignment(Image.LEFT | Image.TEXTWRAP); /*Ahora que ya tenemos el contenido del documento empezaremos a estructurarlo*/ try{ System.out.println("1"); /*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 lapagina*/ PdfPTable tabla=new PdfPTable(2);tabla.setWidthPercentage(100); /*Ahora que ya tenemos todos los elemtnos es hora 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="/root/apache-tomcat-6.0.20/webapps/tarisan/peticiones/LIQUIDA.pdf"; /*a traves del siguiente metodo (getInstance)y un flujo de salida del paquete .ioasociamos 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))); /*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