List of usage examples for com.itextpdf.text Font NORMAL
int NORMAL
To view the source code for com.itextpdf.text Font NORMAL.
Click Source Link
From source file:com.prjhuellvotweb.controlador.PDF.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //Preguntar por la sesion del usuario admin HttpSession sessionOk = request.getSession(true); if (sessionOk.getAttribute("admin") != null) { //cambiar a tipo application/pdf response.setContentType("application/pdf;charset=UTF-8"); //flujo de salida OutputStream out = response.getOutputStream(); String texto = request.getParameter("report"); //texto = "Reporte de los proyectos Sena CTGI (Centro tecnologico de gestion industrial) donde se dan a conocer" // + " los nombres de los proyectos y cantidad de votos obtenidos para cada proyecto."; try {/* w ww . java 2s . com*/ Connection con = Conexion.conectar("mysql"); DAOVoto dao = new DAOVoto(); List<List> lista = dao.estadisticaNumeroVotos(); Voto t = dao.contarVotos(); int to = t.getIdUsuario(); if (!lista.isEmpty() && lista.size() > 0) { try { //programar pdf Document documento = new Document(); //asosciar documento con la salida PdfWriter.getInstance(documento, out);// salida del cocumento en pdf //abrir documento documento.open(); Paragraph par2 = new Paragraph(); Paragraph par4 = new Paragraph(); //agregar una imagen logo sena al pdf Image imagenes = Image .getInstance(getServletContext().getRealPath("") + "/Multimedia/reportes.png"); //Centrar la imagen imagenes.setAlignment(Element.ALIGN_CENTER); //tamao de la imagen imagenes.scaleToFit(530, 520); //agg imagen al documento F:\\Documentos\\yo\\huellvot 2 17-06-2016\\PrjHuellVotWeb\\web\\iCO.png //documento.add(imghuellvot); documento.add(imagenes); //Agg salto de linea par2.add(new Phrase(Chunk.NEWLINE)); par2.add(new Phrase(Chunk.NEWLINE)); //fuente del pdf, tipo de fuente famimilia tamao de letra //Importar ttf que contiene el tipo de letra FontFactory.register( "C:\\Users\\pc\\Desktop\\PrjHuellVotWeb\\web\\fonts\\roboto\\Roboto-Bold.ttf", "Roboto"); //Font fondescripcion = FontFactory.getFont("Roboto"); Font fondescripcion = new Font(Font.getFamily("Roboto"), 16, Font.NORMAL, BaseColor.BLACK); //texto de la descripcion par2.add(new Phrase(texto, fondescripcion)); //justificar descripcion par2.setAlignment(Element.ALIGN_JUSTIFIED); //Agg salto de linea par2.add(new Phrase(Chunk.NEWLINE)); par2.add(new Phrase(Chunk.NEWLINE)); //agregar descripcion al documento documento.add(par2);//agregar todas las propiedades de la descripcin //crear una tabla PdfPTable tabla = new PdfPTable(5);//( Numero de columnas de la tabla) //columnas de la tabla, cabezera y agg un estilo PdfPCell celda = new PdfPCell( new Paragraph("Nmero", FontFactory.getFont("Roboto", 14, Font.BOLD))); PdfPCell celda1 = new PdfPCell( new Paragraph("Nombre", FontFactory.getFont("Roboto", 14, Font.BOLD))); celda1.setColspan(3); PdfPCell celda2 = new PdfPCell( new Paragraph("Votos", FontFactory.getFont("Roboto", 14, Font.BOLD))); //Color de fondo celda.setBackgroundColor(new BaseColor(252, 115, 35)); celda1.setBackgroundColor(new BaseColor(252, 115, 35)); celda2.setBackgroundColor(new BaseColor(252, 115, 35)); //Centrar celda.setHorizontalAlignment(Element.ALIGN_CENTER); celda1.setHorizontalAlignment(Element.ALIGN_CENTER); celda2.setHorizontalAlignment(Element.ALIGN_CENTER); //padding celda.setPadding(8.0f); celda1.setPadding(8.0f); celda2.setPadding(8.0f); //agg columna ala tabla tabla.addCell(celda); tabla.addCell(celda1); tabla.addCell(celda2); for (int i = 0; i < lista.size(); i++) { List l = lista.get(i); //Convertir el entero a string String num = String.valueOf(l.get(0)); String nom = String.valueOf(l.get(1)); String tot = String.valueOf(l.get(2)); //Agregar valores a las celdas PdfPCell c = new PdfPCell( new Paragraph(num, FontFactory.getFont("Roboto", 12, Font.BOLD))); PdfPCell c1 = new PdfPCell( new Paragraph(nom, FontFactory.getFont("Roboto", 12, Font.BOLD))); c1.setColspan(3); PdfPCell c2 = new PdfPCell( new Paragraph(tot, FontFactory.getFont("Roboto", 12, Font.BOLD))); //Padding para las celdas c.setPadding(4.0f); c1.setPadding(4.0f); c2.setPadding(4.0f); //Centrar contenido de celda c.setHorizontalAlignment(Element.ALIGN_CENTER); c2.setHorizontalAlignment(Element.ALIGN_CENTER); //mostrar los resultados de cada columna los agrega a la tabla tabla.addCell(c); tabla.addCell(c1); tabla.addCell(c2); } PdfPCell c1 = new PdfPCell(new Paragraph("Total Votos: ", fondescripcion)); c1.setColspan(4); PdfPCell c2 = new PdfPCell(new Paragraph("" + to, fondescripcion)); c1.setHorizontalAlignment(Element.ALIGN_CENTER); c2.setHorizontalAlignment(Element.ALIGN_CENTER); c1.setPadding(4.0f); c2.setPadding(4.0f); tabla.addCell(c1); tabla.addCell(c2); //Agrega la tabla a el documento documento.add(tabla); //agregar fecha Font fonfecha = new Font(Font.getFamily("Roboto"), 12, Font.NORMAL, BaseColor.LIGHT_GRAY); par4.add(new Phrase("Expedido por HuellVot", fonfecha)); DateFormat formato = DateFormat.getDateInstance(DateFormat.FULL); par4.add(new Paragraph(formato.format(new Date()))); documento.add(par4); //cerrar el documento documento.close(); } catch (DocumentException | IOException e) { e.getMessage(); System.out.println("Error al generar el reporte PDF" + e); } } else { try { Document documento = new Document(); PdfWriter.getInstance(documento, out);// salida del cocumento en pdf //abrir documento documento.open(); System.out.println("no hat datos"); //agregar una imagen logo sena al pdf Image imagenes = Image.getInstance( "C:\\Users\\pc\\Desktop\\PrjHuellVotWeb\\web\\Multimedia\\reportes.png"); //Centrar la imagen imagenes.setAlignment(Element.ALIGN_CENTER); //tamao de la imagen imagenes.scaleToFit(530, 520); //agg imagen al documento F:\\Documentos\\yo\\huellvot 2 17-06-2016\\PrjHuellVotWeb\\web\\iCO.png //documento.add(imghuellvot); documento.add(imagenes); Paragraph par1 = new Paragraph(); Paragraph par2 = new Paragraph(); //Agg salto de linea par1.add(new Phrase(Chunk.NEWLINE)); par1.add(new Phrase(Chunk.NEWLINE)); //fuente del pdf, tipo de fuente famimilia tamao de letra //Importar ttf que contiene el tipo de letra FontFactory.register( "C:\\Users\\pc\\Desktop\\PrjHuellVotWeb\\web\\fonts\\roboto\\Roboto-Bold.ttf", "Roboto"); //Font fondescripcion = FontFactory.getFont("Roboto"); Font fondescripcion = new Font(Font.getFamily("Roboto"), 16, Font.NORMAL, BaseColor.BLACK); //texto de la descripcion par1.add(new Phrase("lo sentimos pero no hay datos para mostrar.!", fondescripcion)); //justificar descripcion par1.setAlignment(Element.ALIGN_CENTER); //Agg salto de linea par1.add(new Phrase(Chunk.NEWLINE)); par1.add(new Phrase(Chunk.NEWLINE)); //agregar descripcion al documento documento.add(par1);//agregar todas las propiedades de la descripcin //agregar fecha Font fonfecha = new Font(Font.getFamily("Roboto"), 12, Font.NORMAL, BaseColor.LIGHT_GRAY); par2.add(new Phrase("Expedido por HuellVot", fonfecha)); DateFormat formato = DateFormat.getDateInstance(DateFormat.FULL); par2.add(new Paragraph(formato.format(new Date()))); documento.add(par2); //cerrar el documento documento.close(); } catch (DocumentException ex) { ex.getMessage(); System.out.println("Error al generar el reporte PDF sin datos registrados" + ex); } } } finally { out.close(); } } else { sessionOk.invalidate(); response.sendRedirect("index.jsp"); } }
From source file:com.sapito.pdf.PDFView.PDFGeneratorActivosFijos.java
public void crearPDFInversion(HttpServletResponse hsr1, ArrayList<HashMap> resultados, double granTotalDepActual, double granTotalValorActual, double granTotalValorOr) throws Exception { Document dcmntaf = new Document(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter.getInstance(dcmntaf, baos); System.out.println(resultados.get(0).size()); dcmntaf.open();/*from w w w .ja va 2 s . c om*/ dcmntaf.open(); dcmntaf.addTitle("Sapito PDFs"); dcmntaf.addSubject("Pdf de sapito"); //------------------------ TAIS ______________________________ Image tais = Image.getInstance(new URL("http://localhost:8080/SAPITO/resources/img/tais-banner.jpg")); dcmntaf.add(tais); //--------------------- BODY --------------------------------------------------------- Image body = Image.getInstance(new URL("http://localhost:8080/SAPITO/resources/img/body.png")); body.setAlignment(Image.UNDERLYING); body.setTransparency(new int[] { 0x00, 0x10 }); body.setAbsolutePosition(50, 250); dcmntaf.add(body); //------------------------------------------------------------------------------------------- Image footer = Image.getInstance(new URL("http://localhost:8080/SAPITO/resources/img/footer.jpg")); footer.setAbsolutePosition(50, 20); dcmntaf.add(footer); //---------------------- TITLE --------------------------- String titulo = "Reporte de Inversin"; //Cambiar el titulo del PDF aqui Font f = new Font(FontFamily.HELVETICA, 25.0f, Font.BOLD, BaseColor.BLACK); Chunk c = new Chunk(titulo + " \n ", f); c.setBackground(BaseColor.WHITE); Paragraph title = new Paragraph(c); title.setAlignment(Element.ALIGN_CENTER); String titulo2 = "Reporte de Activos Fijos por Tipo"; //Cambiar el titulo del PDF aqui Font f2 = new Font(FontFamily.HELVETICA, 12.0f, Font.NORMAL, BaseColor.BLACK); Chunk c2 = new Chunk(titulo2 + " \n ", f2); c2.setBackground(BaseColor.WHITE); Paragraph title2 = new Paragraph(c2); title2.setAlignment(Element.ALIGN_LEFT); title2.setIndentationLeft(50); //------------------------- CONTENIDO ------------------------------------------------------- dcmntaf.add(title); //Titulo del PDF dcmntaf.add(title2); PdfPTable table = new PdfPTable(4); // PdfPCell cell; // cell = new PdfPCell(new Phrase("Tipo de A", FontFactory.getFont("TIMES_ROMAN", 12, Font.BOLD, BaseColor.BLACK))); // table.addCell(cell); table.addCell("Tipo de Activo fijo"); table.addCell("Valor Original"); table.addCell("Depreciacin Actual "); table.addCell("Valor Actual"); // Iterator it = resultados.get(0).entrySet().iterator(); for (int i = 0; i < resultados.size(); i++) { table.addCell(resultados.get(i).get("tipo").toString()); table.addCell(resultados.get(i).get("valorOriginal").toString()); table.addCell(resultados.get(i).get("depreciacionActual").toString()); table.addCell(resultados.get(i).get("valoreActual").toString()); } // while (it.hasNext()) { // Map.Entry e = (Map.Entry) it.next(); // System.out.println(e.getKey() + " " + e.getValue()); // // table.addCell(e.getValue().toString()); // } dcmntaf.add(table); String titulo3 = "Reporte Total de Activos Fijos"; //Cambiar el titulo del PDF aqui Font f3 = new Font(FontFamily.HELVETICA, 12.0f, Font.NORMAL, BaseColor.BLACK); Chunk c3 = new Chunk(titulo3 + " \n ", f3); c3.setBackground(BaseColor.WHITE); Paragraph title3 = new Paragraph(c3); title3.setAlignment(Element.ALIGN_LEFT); title3.setIndentationLeft(50); dcmntaf.add(title3); PdfPTable table2 = new PdfPTable(3); // PdfPCell cell; // cell = new PdfPCell(new Phrase("Tipo de A", FontFactory.getFont("TIMES_ROMAN", 12, Font.BOLD, BaseColor.BLACK))); // table.addCell(cell); table2.addCell("Valor Original Total"); table2.addCell("Depreciacin Anual Total"); table2.addCell("Valor Total"); table2.addCell(granTotalValorOr + ""); table2.addCell(granTotalDepActual + ""); table2.addCell(granTotalValorActual + ""); dcmntaf.add(table2); PdfPTable table3 = new PdfPTable(1); table3.setWidthPercentage(100.0f); table3.setWidths(new float[] { 2.0f }); table3.setSpacingBefore(10); // define font for table header row Font font = FontFactory.getFont(FontFactory.COURIER_BOLD); font.setColor(BaseColor.WHITE); // define table header cell PdfPCell cell = new PdfPCell(); cell.setBackgroundColor(BaseColor.BLUE); cell.setPadding(5); // write table header cell.setPhrase(new Phrase("Resultado", font)); table3.addCell(cell); Depreciacion dep = new Depreciacion(); String bla = a + " "; table3.addCell(bla); //-------------------------- FIN CONTENIDO ----------------- dcmntaf.close(); dcmntaf.close(); byte[] bytes = baos.toByteArray(); hsr1.setContentType("application/pdf"); hsr1.setContentLength(bytes.length); hsr1.getOutputStream().write(bytes); }
From source file:com.softwaremagico.tm.pdf.complete.FadingSunsTheme.java
License:Open Source License
public static BaseFont getFooterFont() { if (footerFont == null) { Font font = FontFactory.getFont("/" + TITLE_FONT_NAME, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 0.5f, Font.NORMAL, BaseColor.BLACK); footerFont = font.getBaseFont(); }/* w ww . j a v a2 s .c o m*/ return footerFont; }
From source file:com.softwaremagico.tm.pdf.complete.FadingSunsTheme.java
License:Open Source License
public static BaseFont getLineFont() { if (lineFont == null) { Font font = FontFactory.getFont("/" + LINE_FONT_NAME, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 0.8f, Font.NORMAL, BaseColor.BLACK); lineFont = font.getBaseFont();/*from w w w . jav a2 s . co m*/ } return lineFont; }
From source file:com.softwaremagico.tm.pdf.complete.FadingSunsTheme.java
License:Open Source License
public static BaseFont getTitleFont() { if (titleFont == null) { Font font = FontFactory.getFont("/" + TITLE_FONT_NAME, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 0.8f, Font.NORMAL, BaseColor.BLACK); titleFont = font.getBaseFont();// w w w.j a v a 2 s .co m } return titleFont; }
From source file:com.softwaremagico.tm.pdf.complete.FadingSunsTheme.java
License:Open Source License
public static BaseFont getHandwrittingFont() { if (handwrittingFont == null) { Font font = FontFactory.getFont("/" + HANDWRITTING_FONT_NAME, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 0.8f, Font.NORMAL, BaseColor.BLACK); handwrittingFont = font.getBaseFont(); }/*ww w . j a va 2 s . c o m*/ return handwrittingFont; }
From source file:com.swayam.bhasha.engine.io.writers.impl.PDFGenerator.java
License:Apache License
private Paragraph getParagraph(Para para) throws DocumentException, IOException, DocGenerationException { int align = para.getAlignment(); int pdfAlign; switch (align) { case Para.CENTER: pdfAlign = Paragraph.ALIGN_CENTER; break;/*ww w . jav a2 s.c o m*/ case Para.RIGHT: pdfAlign = Paragraph.ALIGN_RIGHT; break; case Para.JUSTIFIED: pdfAlign = Paragraph.ALIGN_JUSTIFIED; break; case Para.LEFT: default: pdfAlign = Paragraph.ALIGN_LEFT; break; } List<ParaText> paraTextList = para.getParaTextList(); Paragraph paragraph = new Paragraph(); paragraph.setAlignment(pdfAlign); for (ParaText paraText : paraTextList) { int fontStyle = Font.NORMAL; if (paraText.isBold()) { fontStyle |= Font.BOLD; } if (paraText.isUnderline()) { fontStyle |= Font.UNDERLINE; } if (paraText.isItalic()) { fontStyle |= Font.ITALIC; } Font font = FontFactory.getFont(paraText.getFontFamily(), BaseFont.IDENTITY_H, BaseFont.EMBEDDED, paraText.getFontSize(), fontStyle, new BaseColor(paraText.getColor().getRGB())); // its very important to set the leading every time the font is set // otherwise, the chunks/phrases overlap. // paragraph.setLeading(font.getSize() * 1.5f); paragraph.add(new Phrase(paraText.getText(), font)); } return paragraph; }
From source file:com.VanLesh.macsv10.macs.Models.Pdf.java
License:GNU General Public License
private static void addContent(Document doc, Calculation calc) { try {//from w ww .j a v a 2 s.c o m //special font so we can render greek characters BaseFont bfComic = BaseFont.createFont("/system/fonts/DroidSansFallback.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); Font font1 = new Font(bfComic, 12); Font tgfont, tipfont; if (calc.getRollover() > calc.getDrag()) { tipfont = redFont; tgfont = smallBold; } else { tipfont = smallBold; tgfont = redFont; } Anchor anchor = new Anchor("Site", subFont); anchor.setName("Site Parameters"); Paragraph identifier = new Paragraph("Calculation ID: " + calc.getTitle(), font1); Paragraph engineer = new Paragraph("Engineer: " + calc.getEngineerName(), font1); Paragraph jobsite = new Paragraph("Jobsite: " + calc.getJobSite(), font1); Paragraph latitude = new Paragraph("Latitude: " + calc.getLatitude(), font1); Paragraph longitude = new Paragraph("Longitude: " + calc.getLongitude(), font1); Anchor vehicleAnchor = new Anchor("Vehicle", subFont); vehicleAnchor.setName("Vehicle"); Paragraph vehicleclass = new Paragraph("Vehicle Class: " + calc.getVehicle().getVehicleClass(), font1); Paragraph vehicletype = new Paragraph("Vehicle Type: " + calc.getVehicle().getVehicleType(), font1); Paragraph vehicleweight = new Paragraph("Wv: " + calc.getVehicle().getWv(), font1); Paragraph vehicletracklength = new Paragraph("Tl: " + calc.getVehicle().getTrackL(), font1); Paragraph vehicletrackwidth = new Paragraph("Tw: " + calc.getVehicle().getTrackW(), font1); Paragraph vehiclebladewidth = new Paragraph("Wb: " + calc.getVehicle().getBladeW(), font1); Anchor soilAnchor = new Anchor("Soil", subFont); soilAnchor.setName("Soil"); Paragraph soiltype = new Paragraph("Soil Type: " + calc.getSoil().getName(), font1); Paragraph soilunitweight = new Paragraph("\u03B3: " + calc.getSoil().getunitW(), font1); Paragraph soilfrictionangle = new Paragraph("\u03A6: " + calc.getSoil().getfrictA(), font1); Paragraph soilcohesion = new Paragraph("c: " + calc.getSoil().getC(), font1); Anchor measurementsAnchor = new Anchor("Measurements", subFont); anchor.setName("Measurements"); Paragraph beta = new Paragraph("\u03B2: " + calc.getBeta(), font1); Paragraph theta = new Paragraph("\u03B8: " + calc.getTheta(), font1); Paragraph Ha = new Paragraph("Ha: " + calc.getHa(), font1); Paragraph La = new Paragraph("La: " + calc.getLa(), font1); Paragraph Db = new Paragraph("Db: " + calc.getD_b(), font1); Anchor resultsAnchor = new Anchor("Results", subFont); int drag = (int) calc.getDrag(); int roll = (int) calc.getRollover(); Paragraph Tg = new Paragraph("Anchor cap Sliding : " + drag, tgfont); Paragraph tipover = new Paragraph("Anchor cap Overturning: " + roll, tipfont); doc.add(anchor); doc.add(identifier); doc.add(engineer); doc.add(jobsite); doc.add(latitude); doc.add(longitude); doc.add(vehicleAnchor); doc.add(vehicleclass); doc.add(vehicletype); doc.add(vehicleweight); doc.add(vehicletracklength); doc.add(vehicletrackwidth); doc.add(vehiclebladewidth); doc.add(soilAnchor); doc.add(soiltype); doc.add(soilunitweight); doc.add(soilfrictionangle); doc.add(soilcohesion); doc.add(measurementsAnchor); doc.add(beta); doc.add(theta); doc.add(Ha); doc.add(La); doc.add(Db); doc.add(resultsAnchor); doc.add(Tg); doc.add(tipover); Log.e("addingcontent", "complete"); } catch (Exception e) { Font font1 = new Font(Font.FontFamily.HELVETICA, 24, Font.NORMAL, BaseColor.BLACK); } }
From source file:com.wabacus.system.component.application.report.abstractreport.AbsReportType.java
License:Open Source License
protected void addDataCell(Object configbean, String value, int rowspan, int colspan, int align) { if (dataFont == null) { int datafontsize = 0; if (this.pdfbean != null) datafontsize = this.pdfbean.getDatafontsize(); if (datafontsize <= 0) datafontsize = 6;// w ww . j a v a2 s . com dataFont = new Font(PdfAssistant.getInstance().getBfChinese(), datafontsize, Font.NORMAL); } PdfPCell cell = new PdfPCell(new Paragraph(value, dataFont)); cell.setColspan(colspan);//?? cell.setRowspan(rowspan); // }catch(Exception e) cell.setHorizontalAlignment(align);//?? cell.setVerticalAlignment(Element.ALIGN_MIDDLE); if (pdfbean != null && pdfbean.getInterceptorObj() != null) { pdfbean.getInterceptorObj().displayPerColDataWithoutTemplate(this, configbean, rowspan, value, cell); } pdfDataTable.addCell(cell); }
From source file:comedor.actions.OperacionesComedorAction.java
private void crearPDF() throws IOException, DocumentException { Restaurante restaurante = godr.obtenerDatosRestaurante(); //Creamos el directorio donde almacenar los pdf sino existe File file = new File(RUTA_CUENTAS); //Especificamos la ruta if (!file.exists()) { //Si el directorio no existe if (file.mkdir()) { //Creamos el directorio //Le asignamos los permisos 777 file.setExecutable(true);// ww w . j a va2 s. c o m file.setReadable(true); file.setExecutable(true); } else { System.err.println("Error al crear el directorio especificado"); throw new IOException(); //Lanzamos una excepcion } } if (file.exists()) { //Si el directorio existe //Creamos el documento Document documento = new Document(); //Creamos el OutputStream para el fichero pdf FileOutputStream destino = new FileOutputStream(RUTA_CUENTAS + nombreDocumento); //Asociamos el FileOutputStream al Document PdfWriter.getInstance(documento, destino); //Abrimos el documento documento.open(); //Aadimos el nombre del restaurante Font titulo = FontFactory.getFont(FontFactory.TIMES, 16, Font.BOLDITALIC); Chunk chunk = new Chunk(restaurante.getNombre(), titulo); Paragraph parrafo = new Paragraph(chunk); parrafo.setAlignment(Element.ALIGN_CENTER); documento.add(parrafo); //Aadimos la imagen String path = request.getServletContext().getRealPath("/img/elvis.png"); Image foto = Image.getInstance(path); foto.scaleToFit(100, 100); foto.setAlignment(Chunk.ALIGN_MIDDLE); documento.add(foto); //Aadimos los datos del restaurante Font datos = FontFactory.getFont(FontFactory.TIMES, 12, Font.NORMAL); chunk = new Chunk(getText("cuenta.cif") + ": " + restaurante.getCif(), datos); documento.add(new Paragraph(chunk)); chunk = new Chunk(getText("cuenta.direccion") + ": " + restaurante.getDireccion(), datos); documento.add(new Paragraph(chunk)); chunk = new Chunk(getText("cuenta.telefono") + ": " + restaurante.getTelefono(), datos); documento.add(new Paragraph(chunk)); //Aadimos los datos de la cuenta chunk = new Chunk(getText("cuenta.cuentaId") + ": " + cuenta.getId(), datos); documento.add(new Paragraph(chunk)); SimpleDateFormat formatoFecha = new SimpleDateFormat("dd-MM-yyyy"); chunk = new Chunk(getText("cuenta.fecha") + ": " + formatoFecha.format(cuenta.getFecha()), datos); documento.add(new Paragraph(chunk)); SimpleDateFormat formtoHora = new SimpleDateFormat("HH:mm:ss"); chunk = new Chunk(getText("cuenta.hora") + ": " + formtoHora.format(cuenta.getFecha()), datos); documento.add(new Paragraph(chunk)); //Aadimos los datos del pedido //Obtenemos el usuario, es decir, del camarero con el nombre que tenemos registrado en la session chunk = new Chunk(getText("cuenta.camarero") + ": " + session.get("usuario").toString(), datos); documento.add(new Paragraph(chunk)); documento.add(new Chunk(Chunk.NEWLINE)); //Salto de linea //Aadimos la tabla con los datos del pedido //Creamos una tabla PdfPTable tabla = new PdfPTable(4); //Especificamos el numero de columnas //Aadimos la cabecera de la tabla tabla.addCell(getText("cuenta.producto")); tabla.addCell(getText("cuenta.unidades")); tabla.addCell(getText("cuenta.pvp")); tabla.addCell(getText("cuenta.total")); for (Producto producto : pedido.getListaProductos()) { tabla.addCell(producto.getNombre()); tabla.addCell(String.valueOf(producto.getUnidades())); tabla.addCell(String.valueOf(producto.getPrecio())); tabla.addCell(String.valueOf(producto.getPrecio() * producto.getUnidades())); if (producto instanceof Hamburguesa) { Hamburguesa h = (Hamburguesa) producto; for (Producto extra : h.getListaProductosExtra()) { tabla.addCell("(E) " + extra.getNombre()); tabla.addCell(String.valueOf(extra.getUnidades())); tabla.addCell(String.valueOf(extra.getPrecio())); tabla.addCell(String.valueOf(extra.getPrecio() * extra.getUnidades())); } } } //Aadimos la tabla al documento documento.add(tabla); documento.add(new Chunk(Chunk.NEWLINE)); //Salto de linea //Aadimos una tabla con los impuestos y el total a pagar tabla = new PdfPTable(3); //Especificamos el numero de columnas tabla.addCell(getText("cuenta.baseImponible") + ": " + pedido.getImporte() + ""); tabla.addCell(""); tabla.addCell(""); DecimalFormat formato = new DecimalFormat("#.##"); for (Impuesto dato : listaImpuestos) { tabla.addCell(""); tabla.addCell(dato.getNombre() + ": " + dato.getValor()); double impuesto = (pedido.getImporte() * dato.getValor()) / 100; tabla.addCell( getText("cuenta.impuesto") + " " + dato.getNombre() + ": " + formato.format(impuesto)); } tabla.addCell(getText("cuenta.total") + ": " + cuenta.getCantidad() + ""); tabla.addCell(""); tabla.addCell(""); //Aadimos la tabla al documento documento.add(tabla); //Cerramos el documento documento.close(); } else { //Si el directoiro no existe System.err.println("OperacionesComedorAction. Error no existe el directorio especificado"); throw new IOException(); //Lanzamos una excepcion } }