109 lines
4.3 KiB
Plaintext
109 lines
4.3 KiB
Plaintext
<%@ 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" %>
|
|
|
|
<html>
|
|
<head>
|
|
<title>Control de PDF LIQUIDACION</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<%
|
|
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<columna1.length;i++){
|
|
tabla.addCell(columna1[i]);
|
|
tabla.addCell(columna2[i]);
|
|
}
|
|
documento.add(tabla);
|
|
|
|
/*Cerramos el documento*/
|
|
documento.close();
|
|
|
|
}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;
|
|
}
|
|
|
|
%>
|
|
</body>
|
|
</html>
|
|
|