Files
2025-06-09 13:55:08 +02:00

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>