Example usage for com.itextpdf.text FontFactory getFont

List of usage examples for com.itextpdf.text FontFactory getFont

Introduction

In this page you can find the example usage for com.itextpdf.text FontFactory getFont.

Prototype


public static Font getFont(final String fontname, final float size, final int style) 

Source Link

Document

Constructs a Font-object.

Usage

From source file:gov.utah.dts.det.ccl.actions.facility.information.license.LicensesPrintAction.java

License:Open Source License

@Action(value = "print-license-cert")
public void doPrintCertificate() {
    loadLicense();/*  w  ww. j a va  2s  .c o m*/

    try {
        ByteArrayOutputStream ba = LicenseCertificate.generate(license, request);
        if (ba != null && ba.size() > 0) {
            // This is where the response is set
            String filename = "license_certificate.pdf";
            response.setContentLength(ba.size());
            response.setContentType("application/pdf");
            response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
            response.setHeader("Pragma", "no-cache");
            response.setDateHeader("Expires", 0);
            response.setHeader("Content-disposition", "attachment; filename=\"" + filename + "\"");

            ServletOutputStream out = response.getOutputStream();
            ba.writeTo(out);
            out.flush();
        }
    } catch (Exception ex) {
        // Generate an error pdf
        ByteArrayOutputStream ba = null;
        try {
            ba = new ByteArrayOutputStream();
            Document document = new Document(PageSize.A4, 50, 50, 100, 100);
            @SuppressWarnings("unused")
            PdfWriter writer = PdfWriter.getInstance(document, ba);
            document.open();
            document.add(new Paragraph("An error occurred while generating the letter document.",
                    FontFactory.getFont("Times-Roman", 12, Font.NORMAL)));
            document.close();
            if (ba != null && ba.size() > 0) {
                // This is where the response is set
                // String filename = getTrackingRecordScreening().getPerson().getFirstAndLastName() + " - " +
                // screeningLetter.getLetterType() + ".pdf";
                response.setContentLength(ba.size());
                response.setContentType("application/pdf");
                response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
                response.setHeader("Pragma", "no-cache");
                response.setDateHeader("Expires", 0);
                // response.setHeader("Content-disposition", "attachment; filename=\"" + filename + "\"");
                response.setHeader("Content-disposition", "attachment");

                ServletOutputStream out = response.getOutputStream();
                ba.writeTo(out);
                out.flush();
            }

        } catch (Exception e) {
            log.error("AN ERROR OCCURRED GENERATING ERROR PDF DOCUMENT: " + e);
        }
    }
}

From source file:gov.utah.dts.det.ccl.actions.facility.information.license.LicensesPrintAction.java

License:Open Source License

@Action(value = "print-license-letter")
public void doPrintLetter() {
    loadLicense();//from w  w w. j a  v a  2  s.com

    try {
        ByteArrayOutputStream ba = LicenseLetter.generate(license, request);
        if (ba != null && ba.size() > 0) {
            // This is where the response is set
            String filename = "license_letter.pdf";
            response.setContentLength(ba.size());
            response.setContentType("application/pdf");
            response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
            response.setHeader("Pragma", "no-cache");
            response.setDateHeader("Expires", 0);
            response.setHeader("Content-disposition", "attachment; filename=\"" + filename + "\"");

            ServletOutputStream out = response.getOutputStream();
            ba.writeTo(out);
            out.flush();
        }
    } catch (Exception ex) {
        // Generate an error pdf
        ByteArrayOutputStream ba = null;
        try {
            ba = new ByteArrayOutputStream();
            Document document = new Document(PageSize.A4, 50, 50, 100, 100);
            @SuppressWarnings("unused")
            PdfWriter writer = PdfWriter.getInstance(document, ba);
            document.open();
            document.add(new Paragraph("An error occurred while generating the letter document.",
                    FontFactory.getFont("Times-Roman", 12, Font.NORMAL)));
            document.close();
            if (ba != null && ba.size() > 0) {
                // This is where the response is set
                // String filename = getTrackingRecordScreening().getPerson().getFirstAndLastName() + " - " +
                // screeningLetter.getLetterType() + ".pdf";
                response.setContentLength(ba.size());
                response.setContentType("application/pdf");
                response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
                response.setHeader("Pragma", "no-cache");
                response.setDateHeader("Expires", 0);
                // response.setHeader("Content-disposition", "attachment; filename=\"" + filename + "\"");
                response.setHeader("Content-disposition", "attachment");

                ServletOutputStream out = response.getOutputStream();
                ba.writeTo(out);
                out.flush();
            }

        } catch (Exception e) {
            log.error("AN ERROR OCCURRED GENERATING ERROR PDF DOCUMENT: " + e);
        }
    }
}

From source file:gov.utah.dts.det.ccl.actions.reports.ReportsPrintAction.java

private void generateErrorPdf() {
    // Generate an error pdf
    ByteArrayOutputStream ba = null;
    try {/*from w  ww.  j  a  v a  2s. c o m*/
        ba = new ByteArrayOutputStream();
        Document document = new Document(PageSize.A4, 50, 50, 100, 100);
        @SuppressWarnings("unused")
        PdfWriter writer = PdfWriter.getInstance(document, ba);
        document.open();
        document.add(new Paragraph("An error occurred while generating the report document.",
                FontFactory.getFont("Times-Roman", 12, Font.NORMAL)));
        document.close();
        if (ba != null && ba.size() > 0) {
            sendToResponse(ba, null);
        }
    } catch (Exception e) {
        log.error("AN ERROR OCCURRED GENERATING ERROR PDF DOCUMENT: " + e);
    }
}

From source file:jfx_horario.jefatura.JefaturaController.java

private void crearPdf(File fichero, int opcion) {
    // mtodo para generar un pdf
    try {//from  ww  w  . j  a v a  2  s . c  o  m
        OutputStream file = new FileOutputStream(fichero);
        Document document = new Document();
        PdfWriter.getInstance(document, file);
        document.open();
        Font titleFont = FontFactory.getFont(FontFactory.TIMES_BOLD, 18, BaseColor.BLACK);
        Paragraph docTitle = new Paragraph((String) comboProfes.getSelectionModel().getSelectedItem(),
                titleFont);
        document.add(docTitle);
        Font textH1 = FontFactory.getFont(FontFactory.TIMES_ITALIC, 14, BaseColor.BLACK);
        switch (opcion) {
        case 0:
            crearTablaEnPDF(document, textH1);
            break;
        case 1:
            crearListaClasesDiariasPDF(document, textH1);
            break;
        case 2:
            crearTablaEnPDF(document, textH1);
            crearListaClasesDiariasPDF(document, textH1);
            break;
        }
        document.close();
        file.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:jmemorize.gui.swing.actions.file.ExportToPDFAction.java

License:Open Source License

private Font getBackFront() {
    final Font backFont;
    final String backFontName = Settings.loadFont(FontType.CARD_FLIP).getFont().getFamily();
    backFont = FontFactory.getFont(backFontName, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

    if (backFont == null) {
        Model.getLogger().warning("FontFactory returned null (back) font for: " + backFontName);
    }/*from w  w  w. jav a 2s .  c o m*/
    return backFont;
}

From source file:jmemorize.gui.swing.actions.file.ExportToPDFAction.java

License:Open Source License

private Font getFrontFont() {
    final Font frontFont;
    final String frontFontName = Settings.loadFont(FontType.CARD_FRONT).getFont().getFamily();
    frontFont = FontFactory.getFont(frontFontName, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

    if (frontFont == null) {
        Model.getLogger().warning("FontFactory returned null (front) font for: " + frontFontName);
    }/*from   www  .j av a 2 s. c  o  m*/
    return frontFont;
}

From source file:jsimpresos.ConexionCorteCaja.java

public void crearPdf(int idCorte) {
    try {//from   w w w  .jav  a 2  s  .  c  o  m
        String query1 = "select * from detalleabono where idcorte=?";
        PreparedStatement st = this.getConexion().prepareStatement(query1);
        st.setInt(1, idCorte);
        ResultSet rs = st.executeQuery();
        ArrayList<Abono> abonos = new ArrayList();
        while (rs.next()) {
            abonos.add(new Abono(rs.getInt(1), rs.getDouble(2), rs.getString(3), rs.getString(4),
                    rs.getString(5), rs.getInt(6)));
        }
        String query2 = "select * from transaccionesmiembro where idcorte=?";
        PreparedStatement st2 = this.getConexion().prepareStatement(query2);
        st2.setInt(1, idCorte);
        ResultSet rs2 = st2.executeQuery();
        ArrayList<TransaccionesMiembro> transaccionesMiembro = new ArrayList();
        while (rs2.next()) {
            transaccionesMiembro.add(new TransaccionesMiembro(rs2.getInt(1), rs2.getString(2), rs2.getDouble(3),
                    rs2.getString(4), rs2.getInt(5)));
        }
        String query3 = "select * from cortesdecaja where idcorte =?";
        PreparedStatement st3 = this.getConexion().prepareStatement(query3);
        st3.setInt(1, idCorte);
        ResultSet rs3 = st3.executeQuery();
        String fecha = "";
        while (rs3.next()) {
            fecha = Fechas.convertirFecha(rs3.getString(2));
        }
        ArrayList<Abono> abonosEfectivo = new ArrayList();
        ArrayList<Abono> abonosTarjeta = new ArrayList();
        ArrayList<TransaccionesMiembro> recargasSaldo = new ArrayList();
        ArrayList<TransaccionesMiembro> transaccionesPaypal = new ArrayList();
        ArrayList<TransaccionesMiembro> registrosCliente = new ArrayList();
        for (int i = 0; i < abonos.size(); i++) {
            String tipo = abonos.get(i).getTipoPago();
            switch (tipo) {
            case "Efectivo":
                abonosEfectivo.add(abonos.get(i));
                break;
            case "Tarjeta":
                abonosTarjeta.add(abonos.get(i));
                break;
            }

        }
        for (int i = 0; i < transaccionesMiembro.size(); i++) {
            String tipo = transaccionesMiembro.get(i).getMovimiento();
            switch (tipo) {
            case "Recarga":
                recargasSaldo.add(transaccionesMiembro.get(i));
                break;
            case "Paypal":
                transaccionesPaypal.add(transaccionesMiembro.get(i));
                break;
            case "Registro":
                registrosCliente.add(transaccionesMiembro.get(i));
                break;
            }

        }
        int mayorEfectivo;
        if (abonosEfectivo.size() >= recargasSaldo.size() && abonosEfectivo.size() >= registrosCliente.size()) {
            mayorEfectivo = abonosEfectivo.size();
        } else {
            if (recargasSaldo.size() >= registrosCliente.size()) {
                mayorEfectivo = recargasSaldo.size();
            } else {
                mayorEfectivo = registrosCliente.size();
            }
        }
        int mayorOtros;
        if (abonosTarjeta.size() >= transaccionesPaypal.size()) {
            mayorOtros = abonosTarjeta.size();
        } else {
            mayorOtros = transaccionesPaypal.size();
        }
        Document documento = new Document();
        FileOutputStream ficheroPdf;
        try {
            File carpeta = new File("C:\\archivosPuntoDeVenta");
            if (!carpeta.exists()) {
                carpeta.mkdir();
            }
            ficheroPdf = new FileOutputStream("c:/archivosPuntoDeVenta/corte.pdf");
            PdfWriter.getInstance(documento, ficheroPdf).setInitialLeading(20);
            documento.setMargins(0, 0, 0, 0);
            documento.open();
            PdfPTable tabla = new PdfPTable(8);
            tabla.setWidths(new float[] { 20, 10, 10, 20, 10, 10, 20, 10 });
            tabla.setWidthPercentage(100);
            PdfPCell celdaVacia = new PdfPCell(new Paragraph(" "));
            celdaVacia.setBorder(Rectangle.NO_BORDER);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            PdfPCell celda1 = new PdfPCell(new Paragraph("Corte de caja del da " + fecha,
                    FontFactory.getFont("Arial", 12, Font.BOLD)));
            celda1.setColspan(3);
            celda1.setBorder(Rectangle.NO_BORDER);
            tabla.addCell(celda1);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            PdfPCell celda2 = new PdfPCell(
                    new Paragraph("Transacciones en efectivo: ", FontFactory.getFont("Arial", 11, Font.BOLD)));
            celda2.setColspan(3);
            celda2.setBorder(Rectangle.NO_BORDER);
            tabla.addCell(celda2);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            PdfPCell celda3 = new PdfPCell(
                    new Paragraph("Abonos en efectivo", FontFactory.getFont("Arial", 10, Font.BOLD)));
            tabla.addCell(celda3);
            PdfPCell celda4 = new PdfPCell(new Paragraph("Monto", FontFactory.getFont("Arial", 10, Font.BOLD)));
            tabla.addCell(celda4);
            tabla.addCell(celdaVacia);
            PdfPCell celda5 = new PdfPCell(
                    new Paragraph("Recargas de saldo", FontFactory.getFont("Arial", 10, Font.BOLD)));
            tabla.addCell(celda5);
            tabla.addCell(celda4);
            tabla.addCell(celdaVacia);
            PdfPCell celda6 = new PdfPCell(
                    new Paragraph("Registro de clientes", FontFactory.getFont("Arial", 10, Font.BOLD)));
            tabla.addCell(celda6);
            tabla.addCell(celda4);
            double totalAbonosEfectivo = 0;
            double totalRecargasSaldo = 0;
            double totalRegistrosCliente = 0;
            for (int i = 0; i <= mayorEfectivo; i++) {
                if (abonosEfectivo.size() > i) {
                    PdfPCell celda7 = new PdfPCell(
                            new Paragraph("Abono a la nota " + abonosEfectivo.get(i).getId(),
                                    FontFactory.getFont("Arial", 9)));
                    tabla.addCell(celda7);
                    PdfPCell celda8 = new PdfPCell(new Paragraph("$" + abonosEfectivo.get(i).getMonto(),
                            FontFactory.getFont("Arial", 9)));
                    tabla.addCell(celda8);
                    totalAbonosEfectivo += abonosEfectivo.get(i).getMonto();
                } else {
                    if (abonosEfectivo.size() == i) {
                        PdfPCell celda7 = new PdfPCell(new Paragraph("Total", FontFactory.getFont("Arial", 9)));
                        tabla.addCell(celda7);
                        PdfPCell celda8 = new PdfPCell(
                                new Paragraph("$" + totalAbonosEfectivo, FontFactory.getFont("Arial", 9)));
                        tabla.addCell(celda8);
                    } else {
                        tabla.addCell(celdaVacia);
                        tabla.addCell(celdaVacia);
                    }
                }
                tabla.addCell(celdaVacia);
                if (recargasSaldo.size() > i) {
                    PdfPCell celda7 = new PdfPCell(
                            new Paragraph("Recarga al cliente " + recargasSaldo.get(i).getIdMiembro(),
                                    FontFactory.getFont("Arial", 9)));
                    tabla.addCell(celda7);
                    PdfPCell celda8 = new PdfPCell(new Paragraph("$" + recargasSaldo.get(i).getMonto(),
                            FontFactory.getFont("Arial", 9)));
                    tabla.addCell(celda8);
                    totalRecargasSaldo += recargasSaldo.get(i).getMonto();
                } else {
                    if (recargasSaldo.size() == i) {
                        PdfPCell celda7 = new PdfPCell(new Paragraph("Total", FontFactory.getFont("Arial", 9)));
                        tabla.addCell(celda7);
                        PdfPCell celda8 = new PdfPCell(
                                new Paragraph("$" + totalRecargasSaldo, FontFactory.getFont("Arial", 9)));
                        tabla.addCell(celda8);
                    } else {
                        tabla.addCell(celdaVacia);
                        tabla.addCell(celdaVacia);
                    }
                }
                tabla.addCell(celdaVacia);
                if (registrosCliente.size() > i) {
                    PdfPCell celda7 = new PdfPCell(
                            new Paragraph("Registro del cliente " + registrosCliente.get(i).getIdMiembro(),
                                    FontFactory.getFont("Arial", 9)));
                    tabla.addCell(celda7);
                    PdfPCell celda8 = new PdfPCell(new Paragraph("$" + registrosCliente.get(i).getMonto(),
                            FontFactory.getFont("Arial", 9)));
                    tabla.addCell(celda8);
                    totalRegistrosCliente += registrosCliente.get(i).getMonto();
                } else {
                    if (recargasSaldo.size() == i) {
                        PdfPCell celda7 = new PdfPCell(new Paragraph("Total", FontFactory.getFont("Arial", 9)));
                        tabla.addCell(celda7);
                        PdfPCell celda8 = new PdfPCell(
                                new Paragraph("$" + totalRegistrosCliente, FontFactory.getFont("Arial", 9)));
                        tabla.addCell(celda8);
                    } else {
                        tabla.addCell(celdaVacia);
                        tabla.addCell(celdaVacia);
                    }
                }
            }
            PdfPCell celda9 = new PdfPCell(new Paragraph(
                    "Total de pagos en efectivo: $"
                            + (totalAbonosEfectivo + totalRecargasSaldo + totalRegistrosCliente),
                    FontFactory.getFont("Arial", 9, Font.BOLD)));
            celda9.setBorder(Rectangle.NO_BORDER);
            celda9.setColspan(8);
            tabla.addCell(celda9);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            PdfPCell celda10 = new PdfPCell(
                    new Paragraph("Otras transacciones: ", FontFactory.getFont("Arial", 11, Font.BOLD)));
            celda10.setColspan(3);
            celda10.setBorder(Rectangle.NO_BORDER);
            tabla.addCell(celda10);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            PdfPCell celda11 = new PdfPCell(
                    new Paragraph("Abonos con tarjeta", FontFactory.getFont("Arial", 10, Font.BOLD)));
            tabla.addCell(celda11);
            PdfPCell celda12 = new PdfPCell(
                    new Paragraph("Monto", FontFactory.getFont("Arial", 10, Font.BOLD)));
            tabla.addCell(celda12);
            tabla.addCell(celdaVacia);
            PdfPCell celda13 = new PdfPCell(
                    new Paragraph("Paypal", FontFactory.getFont("Arial", 10, Font.BOLD)));
            tabla.addCell(celda13);
            tabla.addCell(celda12);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            tabla.addCell(celdaVacia);
            double totalAbonosTarjeta = 0;
            double totalPaypal = 0;
            for (int i = 0; i <= mayorOtros; i++) {
                if (abonosTarjeta.size() > i) {
                    PdfPCell celda7 = new PdfPCell(
                            new Paragraph("Abono a la nota " + abonosTarjeta.get(i).getId(),
                                    FontFactory.getFont("Arial", 9)));
                    tabla.addCell(celda7);
                    PdfPCell celda8 = new PdfPCell(new Paragraph("$" + abonosTarjeta.get(i).getMonto(),
                            FontFactory.getFont("Arial", 9)));
                    tabla.addCell(celda8);
                    totalAbonosTarjeta += abonosTarjeta.get(i).getMonto();
                } else {
                    if (abonosTarjeta.size() == i) {
                        PdfPCell celda7 = new PdfPCell(new Paragraph("Total", FontFactory.getFont("Arial", 9)));
                        tabla.addCell(celda7);
                        PdfPCell celda8 = new PdfPCell(
                                new Paragraph("$" + totalAbonosTarjeta, FontFactory.getFont("Arial", 9)));
                        tabla.addCell(celda8);
                    } else {
                        tabla.addCell(celdaVacia);
                        tabla.addCell(celdaVacia);
                    }
                }
                tabla.addCell(celdaVacia);
                if (transaccionesPaypal.size() > i) {
                    PdfPCell celda7 = new PdfPCell(new Paragraph(
                            "Recarga con Paypal al cliente " + transaccionesPaypal.get(i).getIdMiembro(),
                            FontFactory.getFont("Arial", 9)));
                    tabla.addCell(celda7);
                    PdfPCell celda8 = new PdfPCell(new Paragraph("$" + transaccionesPaypal.get(i).getMonto(),
                            FontFactory.getFont("Arial", 9)));
                    tabla.addCell(celda8);
                    totalPaypal += transaccionesPaypal.get(i).getMonto();
                } else {
                    if (transaccionesPaypal.size() == i) {
                        PdfPCell celda7 = new PdfPCell(new Paragraph("Total", FontFactory.getFont("Arial", 9)));
                        tabla.addCell(celda7);
                        PdfPCell celda8 = new PdfPCell(
                                new Paragraph("$" + totalPaypal, FontFactory.getFont("Arial", 9)));
                        tabla.addCell(celda8);
                    } else {
                        tabla.addCell(celdaVacia);
                        tabla.addCell(celdaVacia);
                    }
                }
                tabla.addCell(celdaVacia);
                tabla.addCell(celdaVacia);
                tabla.addCell(celdaVacia);

            }
            documento.add(tabla);
            documento.close();
            abrirPDF();
        } catch (FileNotFoundException ex) {
            JOptionPane.showMessageDialog(null, "Error al generar el pdf");
        } catch (DocumentException ex) {
            JOptionPane.showMessageDialog(null, "Error al guardar pdf");
        }
    } catch (SQLException ex) {
        System.out.println(ex.getMessage());
        JOptionPane.showMessageDialog(null, "Error al conectar a la base de datos");
    }
}

From source file:jsimpresos.ConexionNotas.java

public void generarPdf(int idNota, String nombre, int cuenta) {
    Document documento = new Document();
    Nota nota = this.getNotaPorId(idNota);
    FileOutputStream ficheroPdf;/*from  w  w w .j  a  v  a 2s.  co  m*/
    try {
        File carpeta = new File("C:\\archivosPuntoDeVenta");
        if (!carpeta.exists()) {
            carpeta.mkdir();
        }
        ficheroPdf = new FileOutputStream("c:/archivosPuntoDeVenta/" + nombre + cuenta + ".pdf");
        PdfWriter.getInstance(documento, ficheroPdf).setInitialLeading(20);
        documento.setMargins(0, 0, 0, 0);
        documento.open();
        Image foto = Image.getInstance("c:/archivosPuntoDeVenta/logo.JPG");
        foto.scaleToFit(80, 90);
        PdfPTable tabla = new PdfPTable(5);
        tabla.setWidths(new float[] { 13, 12, 25, 25, 25 });
        tabla.setWidthPercentage(100);
        PdfPCell celda = new PdfPCell();
        celda.addElement(foto);
        celda.setBorder(Rectangle.NO_BORDER);
        celda.setRowspan(6);
        tabla.addCell(celda);
        PdfPCell celda2 = new PdfPCell(
                new Paragraph("NOTA DE PEDIDO", FontFactory.getFont("Arial", 15, Font.BOLD)));
        System.out.println(nota.getUsuario());
        celda2.setColspan(3);
        celda2.setUseAscender(true);
        celda2.setBorder(Rectangle.NO_BORDER);
        celda2.setVerticalAlignment(Element.ALIGN_MIDDLE);
        tabla.addCell(celda2);
        PdfPCell celdaFecha = new PdfPCell(new Paragraph("Fecha: " + nota.getFecha()));
        celdaFecha.setBorder(Rectangle.NO_BORDER);
        tabla.addCell(celdaFecha);
        PdfPCell celda3 = new PdfPCell(new Phrase("Calle del Rayo y 2 de Abril 31a. Col. centro, Parral, Chih.",
                FontFactory.getFont("Arial", 7, Font.BOLD, BaseColor.RED)));
        celda3.setColspan(2);
        celda3.setBorder(Rectangle.NO_BORDER);
        tabla.addCell(celda3);
        PdfPCell celda4 = new PdfPCell(new Phrase("Tel. 5230073 y 6271034745",
                FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.RED)));
        celda4.setBorder(Rectangle.NO_BORDER);
        tabla.addCell(celda4);
        Paragraph p = new Paragraph("No. " + nota.getIdNota(),
                FontFactory.getFont("Arial", 13, Font.BOLD, BaseColor.RED));
        PdfPCell celda5 = new PdfPCell();
        celda5.setUseAscender(true);
        celda5.setVerticalAlignment(Element.ALIGN_MIDDLE);
        celda5.setHorizontalAlignment(Element.ALIGN_MIDDLE);
        celda5.addElement(p);
        tabla.addCell(celda5);
        PdfPCell celdanueva = new PdfPCell(
                new Phrase(" ", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        celdanueva.setBorder(Rectangle.NO_BORDER);
        celdanueva.setColspan(4);
        tabla.addCell(celdanueva);
        PdfPCell celdanueva1 = new PdfPCell(
                new Phrase(" ", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        celdanueva1.setBorder(Rectangle.NO_BORDER);
        tabla.addCell(celdanueva1);
        PdfPCell celdanueva2 = new PdfPCell(
                new Phrase("Datos del cliente", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        celdanueva2.setBorder(Rectangle.NO_BORDER);
        celdanueva2.setColspan(3);
        tabla.addCell(celdanueva2);
        PdfPCell celdanueva3 = new PdfPCell(
                new Phrase(" ", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        celdanueva3.setBorder(Rectangle.NO_BORDER);
        tabla.addCell(celdanueva3);
        if (nota.getCliente() == null) {
            PdfPCell celda6 = new PdfPCell(
                    new Phrase("Cliente:        " + nota.getNombres() + " " + nota.getApPaterno(),
                            FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
            celda6.setBorder(Rectangle.NO_BORDER);
            celda6.setColspan(3);
            tabla.addCell(celda6);
            PdfPCell celdanueva4 = new PdfPCell(
                    new Phrase(" ", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
            celdanueva4.setBorder(Rectangle.NO_BORDER);
            tabla.addCell(celdanueva4);
            PdfPCell celda7 = new PdfPCell(new Phrase("Domicilio:       " + nota.getDomicilio(),
                    FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
            celda7.setBorder(Rectangle.NO_BORDER);
            celda7.setColspan(2);
            tabla.addCell(celda7);
            PdfPCell celda8 = new PdfPCell(new Phrase("Telfono: " + nota.getTelefono(),
                    FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
            celda8.setBorder(Rectangle.NO_BORDER);
            tabla.addCell(celda8);

        } else {
            PdfPCell celda6 = new PdfPCell(new Phrase(
                    "Cliente:        " + nota.getCliente().getNombres() + " "
                            + nota.getCliente().getApPaterno(),
                    FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
            celda6.setBorder(Rectangle.NO_BORDER);
            celda6.setColspan(3);
            tabla.addCell(celda6);
            PdfPCell celdanueva4 = new PdfPCell(
                    new Phrase(" ", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
            celdanueva4.setBorder(Rectangle.NO_BORDER);
            tabla.addCell(celdanueva4);
            PdfPCell celda7 = new PdfPCell(new Phrase("Domicilio:     " + nota.getCliente().getDomicilio(),
                    FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
            celda7.setBorder(Rectangle.NO_BORDER);
            celda7.setColspan(2);
            tabla.addCell(celda7);
            PdfPCell celda8 = new PdfPCell(new Phrase("Telfono: " + nota.getCliente().getTelefono(),
                    FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
            celda8.setBorder(Rectangle.NO_BORDER);
            tabla.addCell(celda8);
        }
        PdfPTable tabla2 = new PdfPTable(4);
        tabla2.setWidths(new float[] { 10, 70, 15, 15 });
        tabla2.setWidthPercentage(99.5f);
        PdfPCell celda21 = new PdfPCell(
                new Phrase("Cantidad", FontFactory.getFont("Arial", 11, Font.BOLD, BaseColor.BLACK)));
        tabla2.addCell(celda21);
        PdfPCell celda22 = new PdfPCell(
                new Phrase("Artculo", FontFactory.getFont("Arial", 11, Font.BOLD, BaseColor.BLACK)));
        tabla2.addCell(celda22);
        PdfPCell celda23 = new PdfPCell(
                new Phrase("Precio unitario", FontFactory.getFont("Arial", 11, Font.BOLD, BaseColor.BLACK)));
        tabla2.addCell(celda23);
        PdfPCell celda24 = new PdfPCell(
                new Phrase("Total", FontFactory.getFont("Arial", 11, Font.BOLD, BaseColor.BLACK)));
        tabla2.addCell(celda24);
        double total = 0;
        for (int i = 0; i < 6; i++) {
            if (i < nota.getArticulos().size()) {
                PdfPCell celda25 = new PdfPCell(new Phrase(nota.getArticulos().get(i).getCantidad() + "",
                        FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
                tabla2.addCell(celda25);
                PdfPCell celda26 = new PdfPCell(new Phrase(nota.getArticulos().get(i).getServicio() + "",
                        FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
                tabla2.addCell(celda26);
                PdfPCell celda27 = new PdfPCell(new Phrase(nota.getArticulos().get(i).getPrecio() + "",
                        FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
                tabla2.addCell(celda27);
                PdfPCell celda28 = new PdfPCell(new Phrase(
                        (nota.getArticulos().get(i).getCantidad() * nota.getArticulos().get(i).getPrecio())
                                + "",
                        FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
                tabla2.addCell(celda28);
                total += nota.getArticulos().get(i).getCantidad() * nota.getArticulos().get(i).getPrecio();
            } else {
                PdfPCell celda29 = new PdfPCell(
                        new Phrase(" ", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
                tabla2.addCell(celda29);
                tabla2.addCell(celda29);
                tabla2.addCell(celda29);
                tabla2.addCell(celda29);
            }

        }
        PdfPTable tabla3 = new PdfPTable(4);
        tabla3.setWidths(new float[] { 55, 25, 15, 15 });
        tabla3.setWidthPercentage(99.5f);
        PdfPCell celda31 = new PdfPCell(new Phrase("Observaciones: " + nota.getObservaciones(),
                FontFactory.getFont("Arial", 9, BaseColor.BLACK)));
        celda31.setRowspan(4);
        tabla3.addCell(celda31);
        PdfPCell celda32 = new PdfPCell(new Phrase(
                "Suma recibida de abono : " + nota.getAbonos().get(nota.getAbonos().size() - 1).getMonto(),
                FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        celda32.setRowspan(4);
        tabla3.addCell(celda32);
        PdfPCell celda33 = new PdfPCell(
                new Phrase("Total", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        tabla3.addCell(celda33);
        PdfPCell celda34 = new PdfPCell(
                new Phrase(total + "", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        tabla3.addCell(celda34);
        PdfPCell celda35 = new PdfPCell(
                new Phrase("Total abonado", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        tabla3.addCell(celda35);
        double totalAbonado = 0;
        for (int i = 0; i < nota.getAbonos().size(); i++) {
            totalAbonado += nota.getAbonos().get(i).getMonto();

        }
        PdfPCell celda36 = new PdfPCell(
                new Phrase(totalAbonado + "", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        tabla3.addCell(celda36);
        PdfPCell celda37 = new PdfPCell(
                new Phrase("Saldo actual", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        tabla3.addCell(celda37);
        PdfPCell celda38 = new PdfPCell(new Phrase((total - totalAbonado) + "",
                FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        tabla3.addCell(celda38);
        PdfPCell celda39 = new PdfPCell(
                new Phrase("Fecha entrega", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        tabla3.addCell(celda39);
        PdfPCell celda40 = new PdfPCell(new Phrase(nota.getFechaEntrega(),
                FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        tabla3.addCell(celda40);
        PdfPTable tabla4 = new PdfPTable(3);
        tabla4.setWidths(new float[] { 30, 30, 30 });
        tabla4.setWidthPercentage(99.5f);
        PdfPCell celda41 = new PdfPCell(
                new Phrase(" ", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        celda41.setBorder(Rectangle.NO_BORDER);
        celda41.setColspan(3);
        tabla4.addCell(celda41);
        PdfPCell celda42 = new PdfPCell(
                new Phrase(" ", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        celda42.setBorder(Rectangle.NO_BORDER);
        tabla4.addCell(celda42);
        PdfPCell celda43 = new PdfPCell(new Phrase("Firma de conformidad del cliente: ",
                FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        celda43.setBorder(Rectangle.NO_BORDER);
        tabla4.addCell(celda43);
        PdfPCell celda44 = new PdfPCell(
                new Phrase(" ", FontFactory.getFont("Arial", 10, Font.BOLD, BaseColor.BLACK)));
        celda44.setBorder(Rectangle.NO_BORDER);
        tabla4.addCell(celda44);
        tabla4.addCell(celda41);
        tabla4.addCell(celda41);
        tabla4.addCell(celda41);
        documento.add(tabla);
        documento.add(tabla2);
        documento.add(tabla3);
        documento.add(tabla4);
        documento.add(tabla);
        documento.add(tabla2);
        documento.add(tabla3);
        documento.add(tabla4);

        documento.close();

        abrirPDF("c:/archivosPuntoDeVenta/" + nombre + cuenta + ".pdf");
    } catch (FileNotFoundException ex) {
        //            JOptionPane.showMessageDialog(null, "Error con el pdf");
        //            System.out.println(ex.getMessage());
        cuenta++;
        generarPdf(idNota, "nota", cuenta);
        abrirPDF("c:/archivosPuntoDeVenta/" + nombre + cuenta + ".pdf");
    } catch (DocumentException ex) {
        JOptionPane.showMessageDialog(null, "Error al guardar pdf");
        System.out.println(ex.getMessage());
    } catch (IOException ex) {
        JOptionPane.showMessageDialog(null, "Error con el pdf");
    }
}

From source file:Login.ventas.fproyectos.java

/**
 * Creates new form cliente//from   w w  w .  j ava2  s. c  om
 * @param user
 */
public fproyectos(Login user) {
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    @SuppressWarnings("MismatchedReadAndWriteOfArray")
    String[] fecha = { "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre",
            "Octubre", "Noviembre", "Diciembre" };
    initComponents();
    Calendar rightNow = Calendar.getInstance();
    int ccyy = rightNow.get(Calendar.YEAR);
    int month = rightNow.get(Calendar.MONTH);
    setSize(d.width, d.height - 95);
    this.usuario = user;
    add(f);
    f.setLocation(jPanel1.getX(), jPanel1.getY());
    add(f3);
    f3.setLocation(jPanel1.getX(), jPanel1.getY());
    add(f4);
    f4.setLocation(jPanel1.getX(), jPanel1.getY());
    add(f5);
    f5.setLocation(jPanel1.getX(), jPanel1.getY());
    add(f2);
    f2.setLocation(jPanel1.getX(), jPanel1.getY());

    f2.getjButton1().addMouseListener(new java.awt.event.MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            try {
                ServiceHb helper = new ServiceHb();
                helper.iniciarTransaccion();
                Fcomisiones fc = helper.getFcomisiones(idcliente, idinstalacion);
                if (helper.getFcomisiones(idcliente, idinstalacion) == null) {
                    fc = new Fcomisiones();
                    Calendar d = Calendar.getInstance();
                    fc.setFecha(new java.sql.Date(d.getTime().getTime()));
                    fc.setClientes(
                            (Clientes) helper.obtenerObjeto(Clientes.class, Integer.parseInt(idcliente)));
                    fc.setInstalacion((Instalacion) helper.obtenerObjeto(Instalacion.class,
                            Integer.parseInt(idinstalacion)));
                    fc.setRentabilidad(f2.getjLabel20().getText());
                    fc.setValor1(f2.getjLabel11().getText().substring(2, f2.getjLabel11().getText().length()));
                    fc.setValor2(f2.getjLabel2().getText().substring(3, f2.getjLabel2().getText().length()));
                    fc.setDiferido(f2.getjLabel4().getText());
                    fc.setDias(numeroinstala);
                    helper.crearObjeto(fc);
                    helper.confirmarTransaccion();
                    helper.cerrarSesion();
                    JOptionPane.showMessageDialog(null,
                            "Comision prepara con fecha " + Funcion.DateFormatSql(d.getTime()));
                } else {
                    Calendar d = Calendar.getInstance();
                    fc.setFecha(new java.sql.Date(d.getTime().getTime()));
                    fc.setRentabilidad(f2.getjLabel20().getText());
                    fc.setValor1(f2.getjLabel11().getText().substring(2, f2.getjLabel11().getText().length()));
                    fc.setValor2(f2.getjLabel2().getText().substring(3, f2.getjLabel2().getText().length()));
                    fc.setDiferido(f2.getjLabel4().getText());
                    fc.setDias(numeroinstala);
                    helper.actualizarObjeto(fc);
                    helper.confirmarTransaccion();
                    helper.cerrarSesion();
                    JOptionPane.showMessageDialog(null,
                            "Actualizado / Comision prepara con fecha " + Funcion.DateFormatSql(d.getTime()));
                }
            } catch (Exception io) {
                System.out.println(io);
            }
        }
    });
    f2.getjButton2().addMouseListener(new java.awt.event.MouseAdapter() {
        @Override
        @SuppressWarnings("UseSpecificCatch")
        public void mouseClicked(MouseEvent e) {
            float ancho = 0;
            try {
                Document documento = new Document(PageSize.A4, 0, 0, 0, 0);
                ancho = documento.getPageSize().getWidth() - 100;
                FileOutputStream ficheroPdf;
                PdfWriter writer = null;
                PdfWriter writer2 = null;
                String direccion = "";
                Calendar now2 = Calendar.getInstance();
                try {
                    JFileChooser chooser = new JFileChooser();
                    chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
                    //Mostrar la ventana para abrir archivo y recoger la respuesta
                    //En el parmetro del showOpenDialog se indica la ventana
                    //  al que estar asociado. Con el valor this se asocia a la
                    //  ventana que la abre.
                    int respuesta = chooser.showOpenDialog(null);
                    String cadena = "";
                    if (respuesta == JFileChooser.APPROVE_OPTION) {
                        direccion = chooser.getSelectedFile().getAbsolutePath();
                    }
                    Calendar d = Calendar.getInstance();
                    ficheroPdf = new FileOutputStream(direccion + "/" + idcliente + idinstalacion + ".pdf");
                    writer = PdfWriter.getInstance(documento, ficheroPdf);
                } catch (IOException ex) {
                    System.out.println(ex.toString());
                }
                ServiceHb helper = null;
                try {
                    List<Productos> lt = null;
                    helper = new ServiceHb();
                    helper.iniciarTransaccion();
                    PdfPTable tabla;
                    PdfPCell casilla;
                    PdfPTable salto = null;
                    PdfPCell celda;
                    Font fontpersonalizado = FontFactory.getFont("ARIAL", 7, Font.BOLD);
                    Font fontpersonalizado2 = FontFactory.getFont("ARIAL", 7, Font.NORMAL);
                    documento.open();
                    PdfContentByte canvas = writer.getDirectContent();
                    fondos(documento, canvas);
                    //Materiales
                    double total = 0;
                    double total2 = 0;
                    double total3 = 0;
                    double total4 = 0;
                    double total5 = 0;
                    tabla = new PdfPTable(6);
                    tabla.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
                    tabla.setTotalWidth(ancho);
                    tabla.setLockedWidth(true);
                    celda = new PdfPCell(new Paragraph("ADQUISICION DE MATERIALES"));
                    celda.setColspan(6);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setBorder(PdfPCell.NO_BORDER);
                    tabla.addCell(celda);
                    float pagina = documento.getPageSize().getHeight() - 140;
                    final float max = pagina;
                    pagina = pagina - tabla.getRow(0).calculateHeights();
                    if (ltart != null) {
                        Object nuevo2[] = { "FECHA", "DETALLE", "CANT.", "PRECIO", "SUBTOTAL", "TOTAL DIARIO" };
                        for (Object obj : nuevo2) {
                            celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado)));
                            celda.setBorderColor(new Color(195, 195, 195));
                            celda.setColspan(1);
                            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                            tabla.addCell(celda);
                        }
                        pagina = pagina - tabla.getRow(1).calculateHeights();
                        int tam = 0;
                        double diario = 0;
                        int turno = 0;
                        for (int i = 0; i < ltart.size(); i++) {
                            turno = 0;
                            fact = helper.getFacturafecha(ltart.get(i).getIdfactura());
                            String fecha = "";
                            if (fact != null) {
                                fecha = Funcion.DateFormatSql(fact.getFecha());
                            }
                            if ((i + 1) == ltart.size()) {
                                diario = diario + Double.parseDouble(ltart.get(i).getTotal());
                                turno = 1;
                            } else {
                                fact2 = helper.getFacturafecha(ltart.get(i + 1).getIdfactura());
                                String fecha2 = "";
                                if (fact2 != null) {
                                    fecha2 = Funcion.DateFormatSql(fact2.getFecha());
                                    if (fecha.equalsIgnoreCase(fecha2)) {
                                        diario = diario + Double.parseDouble(ltart.get(i).getTotal());
                                    } else {
                                        diario = diario + Double.parseDouble(ltart.get(i).getTotal());
                                        turno = 1;
                                    }
                                }
                            }
                            String uni = "$ " + df.format(Double.parseDouble(ltart.get(i).getUnitario()))
                                    .replace(",", ".");
                            String tot = "$ "
                                    + df.format(Double.parseDouble(ltart.get(i).getTotal())).replace(",", ".");
                            total = total + Double.parseDouble(ltart.get(i).getTotal());
                            if (turno == 0) {
                                Object nuevo[] = { fecha, ltart.get(i).getDescripcion(),
                                        ltart.get(i).getCantidad(), uni, tot, "" };
                                for (Object obj : nuevo) {

                                    celda = new PdfPCell(
                                            new Paragraph((String) obj, new Font(fontpersonalizado2)));
                                    if (((String) obj).equalsIgnoreCase("")) {
                                        celda.setBorder(Rectangle.RIGHT);
                                    }
                                    celda.setBorderColor(new Color(195, 195, 195));
                                    celda.setColspan(1);
                                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                                    tabla.addCell(celda);
                                }
                            } else {
                                Object nuevo[] = { fecha, ltart.get(i).getDescripcion(),
                                        ltart.get(i).getCantidad(), uni, tot,
                                        "$ " + df.format(diario).replace(",", ".") };
                                int va = 0;
                                for (Object obj : nuevo) {
                                    va++;
                                    celda = new PdfPCell(
                                            new Paragraph((String) obj, new Font(fontpersonalizado2)));
                                    if (va == 5) {
                                        celda.setBorder(Rectangle.BOTTOM);
                                    }
                                    celda.setColspan(1);
                                    celda.setBorderColor(new Color(195, 195, 195));
                                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                                    tabla.addCell(celda);
                                }
                                diario = 0;
                            }
                            pagina = pagina - tabla.getRow(tam).getMaxHeights();
                            tam++;
                            if (pagina < 11) {
                                salto = new PdfPTable(1);
                                casilla = new PdfPCell(new Phrase("", new Font(fontpersonalizado)));
                                casilla.setMinimumHeight(90);
                                casilla.setBorder(PdfPCell.NO_BORDER);
                                salto.addCell(casilla);
                                documento.add(salto);

                                documento.add(tabla);
                                documento.newPage();
                                fondos(documento, canvas);
                                tabla = new PdfPTable(6);
                                tabla.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
                                tabla.setTotalWidth(ancho);
                                tabla.setLockedWidth(true);
                                pagina = max;
                                tam = 0;
                            }

                        }
                    }
                    salto = new PdfPTable(1);
                    casilla = new PdfPCell(new Phrase("", new Font(fontpersonalizado)));
                    casilla.setMinimumHeight(90);
                    casilla.setBorder(PdfPCell.NO_BORDER);
                    salto.addCell(casilla);
                    documento.add(salto);

                    celda = new PdfPCell(new Paragraph("Total", new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(1);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    celda = new PdfPCell(
                            new Paragraph("Adquisicin de Materiales", new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(4);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    celda = new PdfPCell(new Paragraph("$ " + df.format(total).replace(",", "."),
                            new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(1);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    documento.add(tabla);
                    documento.newPage();
                    fondos(documento, canvas);
                    /*Parte 2*/

                    tabla = new PdfPTable(4);
                    tabla.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
                    tabla.setTotalWidth(ancho);
                    tabla.setLockedWidth(true);
                    tabla.setWidths(new int[] { 1, 3, 1, 1 });
                    celda = new PdfPCell(new Paragraph("MANO DE OBRA TECNICOS"));
                    celda.setColspan(4);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setBorder(PdfPCell.NO_BORDER);
                    tabla.addCell(celda);
                    pagina = documento.getPageSize().getHeight() - 140;
                    pagina = pagina - tabla.getRow(0).calculateHeights();

                    if (list != null) {
                        Object nuevo2[] = { "FECHA", "DETALLE", "CANT.", "SUBTOTAL" };
                        for (Object obj : nuevo2) {
                            celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado)));
                            celda.setBorderColor(new Color(195, 195, 195));
                            celda.setColspan(1);
                            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                            tabla.addCell(celda);
                        }
                        pagina = pagina - tabla.getRow(1).calculateHeights();
                        int tam = 0;
                        double diario = 0;
                        int turno = 0;
                        for (Ctepagar list1 : list) {
                            if (list1.getDetalle().contains("ci:")) {
                                String fecha = list1.getFecha();
                                String desc = list1.getDetalle();
                                String[] cadena = desc.split(" ");
                                String result = "";
                                int contador = 0;
                                for (String n : cadena) {
                                    if (n.contains("ci:")) {
                                        result = result + ", ";
                                        contador++;
                                    } else {
                                        result = result + n + " ";
                                    }
                                }
                                result = result.substring(0, result.length() - 2);
                                String uni = "$ "
                                        + df.format(Double.parseDouble(list1.getValor())).replace(",", ".");
                                String tot = "$ "
                                        + df.format(Double.parseDouble(list1.getValor())).replace(",", ".");
                                total2 = total2 + Double.parseDouble(list1.getValor());
                                Object nuevo[] = { fecha, result, "" + contador, tot };
                                for (Object obj : nuevo) {
                                    celda = new PdfPCell(
                                            new Paragraph((String) obj, new Font(fontpersonalizado2)));
                                    celda.setBorderColor(new Color(195, 195, 195));
                                    celda.setColspan(1);
                                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                                    tabla.addCell(celda);
                                }
                                pagina = pagina - tabla.getRow(tam).getMaxHeights();
                                tam++;
                                if (pagina < 90) {
                                    salto = new PdfPTable(1);
                                    casilla = new PdfPCell(new Phrase("", new Font(fontpersonalizado2)));
                                    casilla.setMinimumHeight(90);
                                    casilla.setBorder(PdfPCell.NO_BORDER);
                                    salto.addCell(casilla);
                                    documento.add(salto);

                                    documento.add(tabla);
                                    documento.newPage();
                                    fondos(documento, canvas);
                                    tabla = new PdfPTable(4);
                                    tabla.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
                                    tabla.setTotalWidth(ancho);
                                    tabla.setLockedWidth(true);
                                    tabla.setWidths(new int[] { 1, 3, 1, 1 });
                                    pagina = max;
                                    tam = 0;
                                }
                            }
                        }
                    }
                    salto = new PdfPTable(1);
                    casilla = new PdfPCell(new Phrase("", new Font(fontpersonalizado)));
                    casilla.setMinimumHeight(90);
                    casilla.setBorder(PdfPCell.NO_BORDER);
                    salto.addCell(casilla);
                    documento.add(salto);

                    celda = new PdfPCell(new Paragraph("Total", new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(1);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    celda = new PdfPCell(new Paragraph("Mano de Obra Tcnicos", new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(2);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    celda = new PdfPCell(new Paragraph("$ " + df.format(total2).replace(",", "."),
                            new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(1);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    documento.add(tabla);

                    documento.newPage();
                    fondos(documento, canvas);

                    tabla = new PdfPTable(3);
                    tabla.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
                    tabla.setTotalWidth(ancho);
                    tabla.setLockedWidth(true);
                    tabla.setWidths(new int[] { 1, 3, 1 });
                    celda = new PdfPCell(new Paragraph("TRANSPORTE"));
                    celda.setColspan(3);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setBorder(PdfPCell.NO_BORDER);
                    tabla.addCell(celda);
                    pagina = documento.getPageSize().getHeight() - 140;
                    pagina = pagina - tabla.getRow(0).calculateHeights();

                    if (list != null) {
                        Object nuevo2[] = { "FECHA", "DETALLE", "SUBTOTAL" };
                        for (Object obj : nuevo2) {
                            celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado)));
                            celda.setBorderColor(new Color(195, 195, 195));
                            celda.setColspan(1);
                            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                            tabla.addCell(celda);
                        }
                        pagina = pagina - tabla.getRow(1).calculateHeights();
                        int tam = 0;
                        for (Ctepagar list1 : list) {
                            if (list1.getDetalle().contains("Transporte")) {
                                String fecha = list1.getFecha();
                                String desc = list1.getDetalle();
                                String result = "";
                                String uni = "$ "
                                        + df.format(Double.parseDouble(list1.getValor())).replace(",", ".");
                                String tot = "$ "
                                        + df.format(Double.parseDouble(list1.getValor())).replace(",", ".");
                                total3 = total3 + Double.parseDouble(list1.getValor());
                                Object nuevo[] = { fecha, desc, tot };
                                for (Object obj : nuevo) {
                                    celda = new PdfPCell(
                                            new Paragraph((String) obj, new Font(fontpersonalizado2)));
                                    celda.setBorderColor(new Color(195, 195, 195));
                                    celda.setColspan(1);
                                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                                    tabla.addCell(celda);
                                }
                                pagina = pagina - tabla.getRow(tam).getMaxHeights();
                                tam++;
                                if (pagina < 50) {
                                    salto = new PdfPTable(1);
                                    casilla = new PdfPCell(new Phrase("", new Font(fontpersonalizado2)));
                                    casilla.setMinimumHeight(90);
                                    casilla.setBorder(PdfPCell.NO_BORDER);
                                    salto.addCell(casilla);
                                    documento.add(salto);

                                    documento.add(tabla);
                                    documento.newPage();
                                    fondos(documento, canvas);
                                    tabla = new PdfPTable(3);
                                    tabla.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
                                    tabla.setTotalWidth(ancho);
                                    tabla.setLockedWidth(true);
                                    tabla.setWidths(new int[] { 1, 3, 1 });
                                    pagina = max;
                                    tam = 0;
                                }
                            }
                        }
                    }
                    salto = new PdfPTable(1);
                    casilla = new PdfPCell(new Phrase("", new Font(fontpersonalizado)));
                    casilla.setMinimumHeight(90);
                    casilla.setBorder(PdfPCell.NO_BORDER);
                    salto.addCell(casilla);
                    documento.add(salto);

                    celda = new PdfPCell(new Paragraph("Total", new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(1);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    celda = new PdfPCell(new Paragraph("Transporte", new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(1);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    celda = new PdfPCell(new Paragraph("$ " + df.format(total3).replace(",", "."),
                            new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(1);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    documento.add(tabla);

                    documento.newPage();
                    fondos(documento, canvas);

                    tabla = new PdfPTable(3);
                    tabla.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
                    tabla.setTotalWidth(ancho);
                    tabla.setLockedWidth(true);
                    tabla.setWidths(new int[] { 1, 3, 1 });
                    celda = new PdfPCell(new Paragraph("COMBUSTIBLE"));
                    celda.setColspan(3);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setBorder(PdfPCell.NO_BORDER);
                    tabla.addCell(celda);
                    pagina = documento.getPageSize().getHeight() - 140;
                    pagina = pagina - tabla.getRow(0).calculateHeights();

                    if (list != null) {
                        Object nuevo2[] = { "FECHA", "DETALLE", "SUBTOTAL" };
                        for (Object obj : nuevo2) {
                            celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado)));
                            celda.setBorderColor(new Color(195, 195, 195));
                            celda.setColspan(1);
                            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                            tabla.addCell(celda);
                        }
                        pagina = pagina - tabla.getRow(1).calculateHeights();
                        int tam = 0;
                        for (Ctepagar list1 : list) {
                            if (list1.getDetalle().contains("Combustible")) {
                                String fecha = list1.getFecha();
                                String desc = list1.getDetalle();
                                String result = "";
                                String uni = "$ "
                                        + df.format(Double.parseDouble(list1.getValor())).replace(",", ".");
                                String tot = "$ "
                                        + df.format(Double.parseDouble(list1.getValor())).replace(",", ".");
                                total4 = total4 + Double.parseDouble(list1.getValor());
                                Object nuevo[] = { fecha, desc, tot };
                                for (Object obj : nuevo) {
                                    celda = new PdfPCell(
                                            new Paragraph((String) obj, new Font(fontpersonalizado2)));
                                    celda.setBorderColor(new Color(195, 195, 195));
                                    celda.setColspan(1);
                                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                                    tabla.addCell(celda);
                                }
                                pagina = pagina - tabla.getRow(tam).getMaxHeights();
                                tam++;
                                if (pagina < 50) {
                                    salto = new PdfPTable(1);
                                    casilla = new PdfPCell(new Phrase("", new Font(fontpersonalizado)));
                                    casilla.setMinimumHeight(90);
                                    casilla.setBorder(PdfPCell.NO_BORDER);
                                    salto.addCell(casilla);
                                    documento.add(salto);

                                    documento.add(tabla);
                                    documento.newPage();
                                    fondos(documento, canvas);
                                    tabla = new PdfPTable(3);
                                    tabla.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
                                    tabla.setTotalWidth(ancho);
                                    tabla.setLockedWidth(true);
                                    tabla.setWidths(new int[] { 1, 3, 1 });
                                    pagina = max;
                                    tam = 0;
                                }
                            }
                        }
                    }
                    salto = new PdfPTable(1);
                    casilla = new PdfPCell(new Phrase("", new Font(fontpersonalizado)));
                    casilla.setMinimumHeight(90);
                    casilla.setBorder(PdfPCell.NO_BORDER);
                    salto.addCell(casilla);
                    documento.add(salto);

                    celda = new PdfPCell(new Paragraph("Total", new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(1);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    celda = new PdfPCell(new Paragraph("Combustible", new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(1);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    celda = new PdfPCell(new Paragraph("$ " + df.format(total4).replace(",", "."),
                            new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(1);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    documento.add(tabla);

                    documento.newPage();
                    fondos(documento, canvas);

                    //Extras

                    tabla = new PdfPTable(3);
                    tabla.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
                    tabla.setTotalWidth(ancho);
                    tabla.setLockedWidth(true);
                    tabla.setWidths(new int[] { 1, 3, 1 });
                    celda = new PdfPCell(new Paragraph("EXTRAS"));
                    celda.setColspan(3);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setBorder(PdfPCell.NO_BORDER);
                    tabla.addCell(celda);
                    pagina = documento.getPageSize().getHeight() - 140;
                    pagina = pagina - tabla.getRow(0).calculateHeights();

                    if (list != null) {
                        Object nuevo2[] = { "FECHA", "DETALLE", "SUBTOTAL" };
                        for (Object obj : nuevo2) {
                            celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado)));
                            celda.setBorderColor(new Color(195, 195, 195));
                            celda.setColspan(1);
                            celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                            tabla.addCell(celda);
                        }
                        pagina = pagina - tabla.getRow(1).calculateHeights();
                        int tam = 0;
                        for (Ctepagar list1 : list) {
                            if (!list1.getDetalle().contains("Combustible")
                                    && !list1.getDetalle().contains("ci:")
                                    && !list1.getDetalle().contains("Transporte")) {
                                String fecha = list1.getFecha();
                                String desc = list1.getDetalle();
                                String result = "";
                                String uni = "$ "
                                        + df.format(Double.parseDouble(list1.getValor())).replace(",", ".");
                                String tot = "$ "
                                        + df.format(Double.parseDouble(list1.getValor())).replace(",", ".");
                                total5 = total5 + Double.parseDouble(list1.getValor());
                                Object nuevo[] = { fecha, desc, tot };
                                for (Object obj : nuevo) {
                                    celda = new PdfPCell(
                                            new Paragraph((String) obj, new Font(fontpersonalizado2)));
                                    celda.setBorderColor(new Color(195, 195, 195));
                                    celda.setColspan(1);
                                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                                    tabla.addCell(celda);
                                }
                                pagina = pagina - tabla.getRow(tam).getMaxHeights();
                                tam++;
                                if (pagina < 50) {
                                    salto = new PdfPTable(1);
                                    casilla = new PdfPCell(new Phrase("", new Font(fontpersonalizado)));
                                    casilla.setMinimumHeight(90);
                                    casilla.setBorder(PdfPCell.NO_BORDER);
                                    salto.addCell(casilla);
                                    documento.add(salto);

                                    documento.add(tabla);
                                    documento.newPage();
                                    fondos(documento, canvas);
                                    tabla = new PdfPTable(3);
                                    tabla.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
                                    tabla.setTotalWidth(ancho);
                                    tabla.setLockedWidth(true);
                                    tabla.setWidths(new int[] { 1, 3, 1 });
                                    pagina = max;
                                    tam = 0;
                                }
                            }
                        }
                    }
                    salto = new PdfPTable(1);
                    casilla = new PdfPCell(new Phrase("", new Font(fontpersonalizado)));
                    casilla.setMinimumHeight(90);
                    casilla.setBorder(PdfPCell.NO_BORDER);
                    salto.addCell(casilla);
                    documento.add(salto);

                    celda = new PdfPCell(new Paragraph("Total", new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(1);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    celda = new PdfPCell(new Paragraph("Extra", new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(1);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    celda = new PdfPCell(new Paragraph("$ " + df.format(total5).replace(",", "."),
                            new Font(fontpersonalizado2)));
                    celda.setBorderColor(new Color(195, 195, 195));
                    celda.setColspan(1);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);

                    documento.add(tabla);

                    documento.newPage();
                    fondos(documento, canvas);

                    //Final Vendedor

                    tabla = new PdfPTable(3);
                    tabla.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);
                    tabla.setTotalWidth(ancho);
                    tabla.setLockedWidth(true);
                    tabla.setWidths(new int[] { 1, 3, 1 });
                    celda = new PdfPCell(new Paragraph(nombrecliente));
                    celda.setColspan(3);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    celda.setBorder(PdfPCell.NO_BORDER);
                    tabla.addCell(celda);

                    celda = new PdfPCell(new Paragraph("Venta"));
                    celda.setColspan(3);
                    celda.setHorizontalAlignment(Element.ALIGN_LEFT);
                    celda.setBorder(PdfPCell.NO_BORDER);
                    tabla.addCell(celda);

                    pagina = documento.getPageSize().getHeight() - 140;
                    pagina = pagina - tabla.getRow(0).calculateHeights();

                    Object nuevo2[] = { "FECHA", "DETALLE", "TOTAL" };
                    for (Object obj : nuevo2) {
                        celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado)));
                        celda.setBorderColor(new Color(195, 195, 195));
                        celda.setColspan(1);
                        celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                        tabla.addCell(celda);
                    }
                    Object nuevo3[] = { "", nombreinstalacion, totalinstalacion };
                    for (Object obj : nuevo3) {
                        celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado2)));
                        celda.setBorderColor(new Color(195, 195, 195));
                        celda.setColspan(1);
                        celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                        tabla.addCell(celda);
                    }
                    celda = new PdfPCell(new Paragraph("INVERSION", new Font(fontpersonalizado)));
                    celda.setBorder(PdfPCell.NO_BORDER);
                    celda.setColspan(3);
                    celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                    tabla.addCell(celda);
                    Object nuevo4[] = { "Uso de Materiales", "", "$ " + df.format(total).replace(",", ".") };
                    for (Object obj : nuevo4) {
                        celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado2)));
                        celda.setBorder(PdfPCell.NO_BORDER);
                        celda.setColspan(1);
                        celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                        tabla.addCell(celda);
                    }
                    Object nuevo5[] = { "Mano de obra tcnicos", "",
                            "$ " + df.format(total2).replace(",", ".") };
                    for (Object obj : nuevo5) {
                        celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado2)));
                        celda.setBorder(PdfPCell.NO_BORDER);
                        celda.setColspan(1);
                        celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                        tabla.addCell(celda);
                    }
                    Object nuevo6[] = { "Transporte", "", "$ " + df.format(total3).replace(",", ".") };
                    for (Object obj : nuevo6) {
                        celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado2)));
                        celda.setBorder(PdfPCell.NO_BORDER);
                        celda.setColspan(1);
                        celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                        tabla.addCell(celda);
                    }
                    Object nuevo7[] = { "Combustible", "", "$ " + df.format(total4).replace(",", ".") };
                    for (Object obj : nuevo7) {
                        celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado2)));
                        celda.setBorder(PdfPCell.NO_BORDER);
                        celda.setColspan(1);
                        celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                        tabla.addCell(celda);
                    }
                    Object nuevo71[] = { "Extras", "", "$ " + df.format(total5).replace(",", ".") };
                    for (Object obj : nuevo71) {
                        celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado2)));
                        celda.setBorder(PdfPCell.NO_BORDER);
                        celda.setColspan(1);
                        celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                        tabla.addCell(celda);
                    }
                    Object nuevo8[] = { "Total Inversin", "",
                            "$ " + df.format(total + total2 + total3 + total4).replace(",", ".") };
                    for (Object obj : nuevo8) {
                        celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado2)));
                        celda.setBorder(PdfPCell.NO_BORDER);
                        celda.setColspan(1);
                        celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                        tabla.addCell(celda);
                    }
                    celda = new PdfPCell(new Paragraph(""));
                    celda.setColspan(3);
                    celda.setHorizontalAlignment(Element.ALIGN_LEFT);
                    celda.setBorder(PdfPCell.NO_BORDER);
                    tabla.addCell(celda);

                    Object nuevo9[] = { "Utilidad del proyecto", "", "$ "
                            + df.format(proyectoval - total - total2 - total3 - total4).replace(",", ".") };
                    for (Object obj : nuevo9) {
                        celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado)));
                        celda.setColspan(1);
                        celda.setBorder(PdfPCell.NO_BORDER);
                        celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                        tabla.addCell(celda);
                    }
                    Object nuevo10[] = { "Rentabilidad ", "", df.format(porcent).replace(",", ".") + " %" };
                    for (Object obj : nuevo10) {
                        celda = new PdfPCell(new Paragraph((String) obj, new Font(fontpersonalizado)));
                        celda.setBorder(PdfPCell.NO_BORDER);
                        celda.setColspan(1);
                        celda.setHorizontalAlignment(Element.ALIGN_CENTER);
                        tabla.addCell(celda);
                    }

                    salto = new PdfPTable(1);
                    casilla = new PdfPCell(new Phrase("", new Font(fontpersonalizado)));
                    casilla.setMinimumHeight(90);
                    casilla.setBorder(PdfPCell.NO_BORDER);
                    salto.addCell(casilla);
                    documento.add(salto);

                    documento.add(tabla);

                    /*Fin Parte 3*/
                    documento.close();
                    helper.cerrarSesion();
                } catch (Exception ex) {
                    documento.close();
                }
                JOptionPane.showMessageDialog(null, "PDF Generado");
            } catch (Exception io) {
                System.out.println(io);
            }
        }
    });
    f.getjTable1().addMouseListener(new java.awt.event.MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            int row = f.getjTable1().getSelectedRow();
            int col = f.getjTable1().getSelectedColumn();
            if (col == 4) {
                f2.setVisible(true);
                f.setVisible(false);
                idcliente = f.getjTable1().getValueAt(row, 5).toString();
                idinstalacion = f.getjTable1().getValueAt(row, 6).toString();
                f2.getjLabel15().setText(f.getjTable1().getValueAt(row, 0).toString());
                f2.getjLabel8().setText(f.getjTable1().getValueAt(row, 2).toString());
                nombrecliente = f.getjTable1().getValueAt(row, 0).toString();
                nombreinstalacion = f.getjTable1().getValueAt(row, 2).toString();
                updateTablas up = new updateTablas(1);
                up.start();
            }
        }
    });
    f5.getjComboBox1().addActionListener(new java.awt.event.ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            DefaultTableModel temp2 = (DefaultTableModel) f5.getjTable2().getModel();
            for (int i = temp2.getRowCount() - 1; i >= 0; i--) {
                temp2.removeRow(i);
            }
            f5.setComi(null);
            f5.setNinstalacion("");
            f5.setNcliente("");
            f5.setList(null);
            f5.setId("");
            updateTablas up = new updateTablas(4);
            up.start();
        }
    });
    f3.getjTable1().addMouseListener(new java.awt.event.MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent e) {
            int row = f3.getjTable1().getSelectedRow();
            int col = f3.getjTable1().getSelectedColumn();
            if (col == 6) {
                visible(f4);
                fcomisiones = f3.getjTable1().getValueAt(row, 6).toString();
                try {
                    ServiceHb helper = new ServiceHb();
                    helper.iniciarTransaccion();
                    Fcomisiones ft = (Fcomisiones) helper.obtenerObjeto(Fcomisiones.class,
                            Integer.parseInt(fcomisiones));
                    numeroinstala = ft.getDias();
                    f4.setIdcliente("" + ft.getClientes().getId());
                    f4.setIdinstalacion("" + ft.getInstalacion().getId());
                    f4.getDiasint().setText(numeroinstala);
                    helper.cerrarSesion();
                } catch (Exception io) {

                }
                f4.getjLabel1().setText(fcomisiones);
                f4.getC1().setText(f3.getjTable1().getValueAt(row, 0).toString());
                f4.getC2().setText(f3.getjTable1().getValueAt(row, 1).toString());
                double campo1 = Double
                        .parseDouble(f3.getjTable1().getValueAt(row, 3).toString().replace("$ ", ""));
                double campo2 = Double
                        .parseDouble(f3.getjTable1().getValueAt(row, 4).toString().replace("-$ ", ""));
                f4.getC3().setText(f3.getjTable1().getValueAt(row, 3).toString());
                f4.getC4().setText(f3.getjTable1().getValueAt(row, 4).toString());
                f4.getC5().setText(f3.getjTable1().getValueAt(row, 5).toString());
                f4.getC6().setText("$ " + df.format((campo1 - campo2)).replace(",", "."));

                updateTablas up = new updateTablas(3);
                up.start();
            }
        }
    });

    setVisible(false);
}

From source file:modelo.cobros.Pago.java

public void imprimirPDF() {
    Document documento = new Document();
    FileOutputStream ficheroPdf;//  w  w w  . jav  a2  s . c o m
    try {
        String userhome = System.getProperty("user.home");
        ficheroPdf = new FileOutputStream(userhome + "/Desktop/ejemplo.PDF");
        PdfWriter.getInstance(documento, ficheroPdf).setInitialLeading(20);
    } catch (Exception ex) {
        System.out.println(ex.toString());
    }
    try {
        documento.open();
        Paragraph parrafo1 = new Paragraph("FERRETERIA", FontFactory.getFont("arial", 24, Font.BOLD));
        documento.add(parrafo1);
        parrafo1.setAlignment(Chunk.ALIGN_MIDDLE);
        documento.add(new Paragraph(" "));
        documento.add(new Paragraph(" "));
        Paragraph parrafo4 = new Paragraph("FECHA: " + factura.getFecha(), FontFactory.getFont("arial", 12));
        documento.add(parrafo4);
        Paragraph parrafo2 = new Paragraph("VENDEDOR: " + factura.getVendedor().getNombre(),
                FontFactory.getFont("arial", 12));
        documento.add(parrafo2);
        Paragraph parrafo3 = new Paragraph("CLIENTE: " + factura.getCliente().getNombre(),
                FontFactory.getFont("arial", 12));
        documento.add(parrafo3);
        documento.add(new Paragraph(" "));
        documento.add(new Paragraph(" "));
        PdfPTable tabla = new PdfPTable(5);
        //el numero indica la cantidad de Columnas
        tabla.addCell("Cdigo");
        tabla.addCell("Descripcin");
        tabla.addCell("Cantidad");
        tabla.addCell("Unidad");
        tabla.addCell("Precio");
        for (LineaDetalle linea : factura.getDetalles()) {
            tabla.addCell(linea.getProducto().getCodigo());
            tabla.addCell(linea.getProducto().getDescripcion());
            tabla.addCell(Integer.toString(linea.getCantidad()));
            tabla.addCell(linea.getProducto().getUnidadMedida());
            tabla.addCell(String.valueOf(linea.getProducto().getPrecio()));
        }
        // esto nos crea una tabla de 3 Columnas por dos Filas
        documento.add(tabla);
        documento.add(new Paragraph(" "));
        documento.add(new Paragraph("SUBTOTAL A PAGAR: " + String.valueOf(factura.subTotal())));
        documento.add(new Paragraph("DESCUENTO: " + String.valueOf(factura.getDescuento())));
        documento.add(new Paragraph("TOTAL A PAGAR: " + String.valueOf(factura.calculateTotalPago())));

        documento.close();
    } catch (Exception ex) {
        System.out.println(ex.toString());
    }
}