com.pdfs.GeneradorVisitas.java Source code

Java tutorial

Introduction

Here is the source code for com.pdfs.GeneradorVisitas.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.pdfs;

import com.demo.model.CreditoSfLtNtCt;
import com.demo.model.DatosVisitaDomiciliaria;
import com.demo.util.LogSistema;
import com.itextpdf.text.Anchor;
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.text.NumberFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author casiopea
 */
public class GeneradorVisitas {

    private Document documento = new Document(PageSize.LETTER, 30, 30, 20, 20);
    private String rutaimg;
    private Font tituloN1 = FontFactory.getFont("arial", 16, Font.BOLD, BaseColor.BLACK);
    private Font tituloN2 = FontFactory.getFont("arial", 12, Font.BOLD, BaseColor.BLACK);
    private Font tituloN3 = FontFactory.getFont("arial", 10, Font.NORMAL, BaseColor.BLACK);
    private Font cuerpo = FontFactory.getFont("arial", 11, Font.NORMAL, BaseColor.BLACK);
    private Font cuerpo2 = FontFactory.getFont("arial", 9, Font.NORMAL, BaseColor.BLACK);
    private Font cuerpoNegritas = FontFactory.getFont("arial", 11, Font.BOLD, BaseColor.BLACK);
    private Font cuerpoMini = FontFactory.getFont("arial", 8, Font.NORMAL, BaseColor.BLACK);
    private Locale locale = new Locale("es", "MX"); // elegimos Argentina
    private NumberFormat nf = NumberFormat.getCurrencyInstance(locale);
    private Image foto;

    public GeneradorVisitas(String rutafirma) {
        rutaimg = rutafirma;
        try {
            foto = Image.getInstance(rutaimg + "firma.jpg");
            foto.scaleToFit(100, 100);
            foto.setAbsolutePosition(60, 715);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public boolean generarVisitas(List<DatosVisitaDomiciliaria> creditos, String nombre) {
        FileOutputStream ficheroPdf = null;
        //rutaimg = rutafirma;
        try {
            System.out.println("nombre  " + nombre);
            System.out.println("ruta " + rutaimg);

            File nombrearchivo = new File(nombre);
            LogSistema.guardarlog("ruta " + nombrearchivo.getAbsolutePath());

            ficheroPdf = new FileOutputStream(nombrearchivo);
            LogSistema.guardarlog("descriptor " + ficheroPdf.getFD().valid());

            // Se asocia el documento al OutputStream y se indica que el espaciado entre
            // lineas sera de 20. Esta llamada debe hacerse antes de abrir el documento
            PdfWriter pw = PdfWriter.getInstance(documento, ficheroPdf);
            pw.setInitialLeading(20);
            // Se abre el documento.
            documento.open();
            System.out.println("ABRIO EL DOCUMENTO");

            String prod;
            int cont = 0;
            LogSistema.guardarlog("al generar " + creditos.size());
            for (DatosVisitaDomiciliaria ct : creditos) {
                prod = ct.getProducto().toUpperCase();
                if (prod.contains("EXPRESS")) {
                    System.out.println("ENTRO A CT EXPRESS");
                    if (cont == 0) {
                        addCreditosExpress(ct);
                        cont++;
                    } else {
                        documento.newPage();
                        addCreditosExpress(ct);
                    }

                    //sofom 
                } else if (prod.compareTo("A_LINEA CREDITO TELMEX PF 50") == 0
                        || prod.compareTo("A_LINEA CREDITO TELMEX PM 50") == 0
                        || prod.compareTo("EX LINEA CREDITO TELMEX PF") == 0
                        || prod.compareTo("EX LINEA CREDITO TELMEX PM") == 0
                        || prod.compareTo("A_LINEA CREDITO TELMEX PERSONAL 38") == 0
                        || prod.compareTo("EX LINEA CREDITO TELMEX PERSONAL 38") == 0
                        || prod.compareTo("A_LINEA CREDITO TELNOR PERSONAL 38") == 0) {
                    if (cont == 0) {
                        addCreditosTelmexSOFOM(ct);
                        cont++;
                    } else {
                        documento.newPage();
                        addCreditosTelmexSOFOM(ct);
                    }
                    //linea telmex
                } else if (prod.compareTo("LINEA CREDITO TELMEX PF") == 0
                        || prod.compareTo("LINEA CREDITO TELMEX PM") == 0
                        || prod.compareTo("EXLINEA CREDITO TELMEX PF") == 0
                        || prod.compareTo("EXLINEA CREDITO TELMEX PM") == 0
                        || prod.compareTo("LINEA CREDITO TELNOR PF") == 0
                        || prod.compareTo("EX LINEA CREDITO TELNOR PF") == 0
                        || prod.compareTo("EXLINEA CREDITO TELNOR PM") == 0
                        || prod.compareTo("A_LINEA CREDITO TELNOR PF 50") == 0
                        || prod.compareTo("A_LINEA CREDITO TELNOR PM 50") == 0
                        || prod.compareTo("LINEA CREDITO TELNOR PM") == 0
                        || prod.compareTo("A_EX LINEA CREDITO TELNOR PF 50") == 0
                        || prod.compareTo("A_EXLINEA CREDITO TELNOR PM 50") == 0) {
                    if (cont == 0) {
                        addCreditosTelmex(ct);
                        cont++;
                    } else {
                        documento.newPage();
                        addCreditosTelmex(ct);
                    }
                }
            }

            documento.close();

            return true;

        } catch (FileNotFoundException ex) {
            LogSistema.guardarlog(ex.getMessage() + " " + new Date());
            return false;
        } catch (DocumentException ex) {
            LogSistema.guardarlog(ex.getMessage() + " " + new Date());
            return false;
        } catch (IOException ex) {
            LogSistema.guardarlog(ex.getMessage() + " " + new Date());
            return false;
        } finally {
            try {
                ficheroPdf.close();
            } catch (IOException ex) {
                LogSistema.guardarlog(ex.getMessage() + " " + new Date());
                return false;
            }
        }

    }

    public void addCreditosExpress(DatosVisitaDomiciliaria credito) throws DocumentException {

        documento.add(foto);

        Paragraph p = new Paragraph("BUFETE DEL RIO, S.C.", tituloN1);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        p = new Paragraph("La Firma Marca la Diferencia ", tituloN2);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        p = new Paragraph("Balboa 1111, Portales Sur, 03300, Mxico, D.F.", tituloN3);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        p = new Paragraph("(55) 5539 0104 con 10 Lneas         contacto@corporativodelrio.com", tituloN3);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        PdfPTable datos = new PdfPTable(2);
        datos.setWidthPercentage(90);

        Phrase pnombre = new Phrase(credito.getNombre());
        pnombre.setFont(cuerpo2);
        Phrase pcalle = new Phrase(credito.getCalle());
        pcalle.setFont(cuerpo2);
        Phrase pnumcredito = new Phrase(credito.getNumcredito());
        pnumcredito.setFont(cuerpo2);
        Phrase pcolonia = new Phrase(credito.getColonia());
        pcolonia.setFont(cuerpo2);
        Phrase pdelegacion = new Phrase(credito.getDelegacion());
        pdelegacion.setFont(cuerpo2);
        float sdo = credito.getSaldo();
        Phrase psaldo = new Paragraph(nf.format(sdo));
        psaldo.setFont(cuerpo2);
        Phrase pestadpCp = new Phrase(credito.getEstado() + "    " + credito.getCp());
        pestadpCp.setFont(cuerpo2);

        PdfPCell nombre = new PdfPCell(pnombre);
        PdfPCell titulocred = new PdfPCell(new Phrase("N Crdito"));
        PdfPCell calle = new PdfPCell(pcalle);
        PdfPCell numcredito = new PdfPCell(pnumcredito);
        PdfPCell colonia = new PdfPCell(pcolonia);
        PdfPCell titulosaldo = new PdfPCell(new Phrase("Saldo Vencido"));
        PdfPCell deleg = new PdfPCell(pdelegacion);
        PdfPCell saldo = new PdfPCell(psaldo);
        PdfPCell ciudadCP = new PdfPCell(pestadpCp);
        PdfPCell blanco = new PdfPCell(new Phrase(" "));

        nombre.setBorder(Rectangle.NO_BORDER);
        titulocred.setBorder(Rectangle.NO_BORDER);
        titulocred.setHorizontalAlignment(Chunk.ALIGN_RIGHT);
        calle.setBorder(Rectangle.NO_BORDER);
        numcredito.setBorder(Rectangle.NO_BORDER);
        numcredito.setHorizontalAlignment(Chunk.ALIGN_RIGHT);
        colonia.setBorder(Rectangle.NO_BORDER);
        titulosaldo.setBorder(Rectangle.NO_BORDER);
        titulosaldo.setHorizontalAlignment(Chunk.ALIGN_RIGHT);
        deleg.setBorder(Rectangle.NO_BORDER);
        saldo.setBorder(Rectangle.NO_BORDER);
        saldo.setHorizontalAlignment(Chunk.ALIGN_RIGHT);
        ciudadCP.setBorder(Rectangle.NO_BORDER);
        blanco.setBorder(Rectangle.NO_BORDER);

        datos.addCell(nombre);
        datos.addCell(titulocred);
        datos.addCell(calle);
        datos.addCell(numcredito);
        datos.addCell(colonia);
        datos.addCell(titulosaldo);
        datos.addCell(deleg);
        datos.addCell(saldo);
        datos.addCell(ciudadCP);
        datos.addCell(blanco);

        documento.add(new Paragraph(Chunk.NEWLINE));
        documento.add(new Paragraph(Chunk.NEWLINE));
        documento.add(new Paragraph(Chunk.NEWLINE));

        documento.add(datos);

        p = new Paragraph("Credito CT Express", tituloN2);
        p.setAlignment(Chunk.ALIGN_RIGHT);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph(
                "Srvase  la  presente, como  requerimiento  de  pago a  favor  de  Inbursa  para  regularizar  su situacin de adeudo que  actualmente  presenta en la Linea de Crdito CT Express otorgada por Inbursa.",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph(
                "Recuerde que este Crdito se otorg con base en su excelente historial de pago y manejo de su cuenta  CT y ahora lo exhortamos a que  regularize esta situacin a la brevedad, evitando  as, situaciones inconvenientes y daando su buena imagen crediticia.",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        p = new Paragraph(
                "Representamos a Inbursa para que recuperemos los pagos atrasados de la Lnea de Crdito que se otorg.",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph(
                "Invariablemente el pago de lo atrasado, deber hacerse nicamente en la Sucursal de Banco Inbursa de su eleccin, a las siguientes Cuentas:",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph("CUENTA CONCENTRADORA 50015025905 a nombre de Banco Inbursa Cobranza Express PYME \n"
                + "o mediante SPEI a la Cuenta 036180-50015025905-6\n" + "o bien en Bancomer:\n"
                + "Convenio CIE 386120 Referencia 50015025902", cuerpo);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        p = new Paragraph("Y no olvide remitirnos el pago de su crdito va correo electrnico.",
                cuerpoNegritas);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));
        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph(
                "Contamos con sus Pagos  y  con su  Comunicacin donde un asesor de este Corporativo le atender. EN  CASO DE QUE  REQUIERA PLAZO PARA PAGAR, CONTACTENOS.",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph("A T E N T A M E N T E", cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));
        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph("BUFETE DEL RIO, S.C.", cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));
        p = new Paragraph(
                "BUFETE DEL RIO, S.C. una Divisin de CORPORATIVO DEL RIO Y ASOCIADOS S.C.\n"
                        + "AVISO DE PRIVACIDAD. Puede ser consultado en la pgina Web   www.corporativodelrio.com",
                cuerpoMini);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);
    }

    public void addCreditosTelmex(DatosVisitaDomiciliaria credito) throws DocumentException {

        documento.add(foto);
        Paragraph p = new Paragraph("BUFETE DEL RIO, S.C.", tituloN1);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        p = new Paragraph("La Firma Marca la Diferencia ", tituloN2);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        p = new Paragraph("Balboa 1111, Portales Sur, 03300, Mxico, D.F.", tituloN3);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        p = new Paragraph("(55) 5539 0104 con 10 Lneas         contacto@corporativodelrio.com", tituloN3);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        PdfPTable datos = new PdfPTable(2);
        datos.setWidthPercentage(90);

        Phrase pnombre = new Phrase(credito.getNombre());
        pnombre.setFont(cuerpo2);
        Phrase pcalle = new Phrase(credito.getCalle());
        pcalle.setFont(cuerpo2);
        Phrase pnumcredito = new Phrase(credito.getNumcredito());
        pnumcredito.setFont(cuerpo2);
        Phrase pcolonia = new Phrase(credito.getColonia());
        pcolonia.setFont(cuerpo2);
        Phrase pdelegacion = new Phrase(credito.getDelegacion());
        pdelegacion.setFont(cuerpo2);
        float sdo = credito.getSaldo();
        Phrase psaldo = new Paragraph(nf.format(sdo));
        psaldo.setFont(cuerpo2);
        Phrase pestadpCp = new Phrase(credito.getEstado() + "    " + credito.getCp());
        pestadpCp.setFont(cuerpo2);

        PdfPCell nombre = new PdfPCell(pnombre);
        PdfPCell titulocred = new PdfPCell(new Phrase("N Crdito"));
        PdfPCell calle = new PdfPCell(pcalle);
        PdfPCell numcredito = new PdfPCell(pnumcredito);
        PdfPCell colonia = new PdfPCell(pcolonia);
        PdfPCell titulosaldo = new PdfPCell(new Phrase("Saldo Vencido"));
        PdfPCell deleg = new PdfPCell(pdelegacion);
        PdfPCell saldo = new PdfPCell(psaldo);
        PdfPCell ciudadCP = new PdfPCell(pestadpCp);
        PdfPCell blanco = new PdfPCell(new Phrase(" "));

        nombre.setBorder(Rectangle.NO_BORDER);
        titulocred.setBorder(Rectangle.NO_BORDER);
        titulocred.setHorizontalAlignment(Chunk.ALIGN_RIGHT);
        calle.setBorder(Rectangle.NO_BORDER);
        numcredito.setBorder(Rectangle.NO_BORDER);
        numcredito.setHorizontalAlignment(Chunk.ALIGN_RIGHT);
        colonia.setBorder(Rectangle.NO_BORDER);
        titulosaldo.setBorder(Rectangle.NO_BORDER);
        titulosaldo.setHorizontalAlignment(Chunk.ALIGN_RIGHT);
        deleg.setBorder(Rectangle.NO_BORDER);
        saldo.setBorder(Rectangle.NO_BORDER);
        saldo.setHorizontalAlignment(Chunk.ALIGN_RIGHT);
        ciudadCP.setBorder(Rectangle.NO_BORDER);
        blanco.setBorder(Rectangle.NO_BORDER);

        datos.addCell(nombre);
        datos.addCell(titulocred);
        datos.addCell(calle);
        datos.addCell(numcredito);
        datos.addCell(colonia);
        datos.addCell(titulosaldo);
        datos.addCell(deleg);
        datos.addCell(saldo);
        datos.addCell(ciudadCP);
        datos.addCell(blanco);

        documento.add(new Paragraph(Chunk.NEWLINE));
        documento.add(new Paragraph(Chunk.NEWLINE));
        documento.add(new Paragraph(Chunk.NEWLINE));

        documento.add(datos);

        p = new Paragraph("Crdito TELMEX", tituloN2);
        p.setAlignment(Chunk.ALIGN_RIGHT);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph(
                "Srvase la presente, como requerimiento de  pago a favor de  Inbursa para regularizar su situacin de adeudo que actualmente presenta en la Linea de Crdito Telmex otorgada por Inbursa.",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph(
                "Recuerde que este Crdito se otorg con base en su excelente historial de pago puntual de su Lnea Telmex y ahora lo exhortamos a que regularize esta situacin a la brevedad, evitando situaciones inconvenientes y daando su buena imagen crediticia.",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        p = new Paragraph(
                "Representamos a Inbursa para que recuperemos los pagos atrasados de la Lnea de Crdito que se otorg.",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph(
                "Invariablemente el pago de lo atrasado, deber hacerse nicamente en la Sucursal de Banco Inbursa de su eleccin, a las siguientes Cuentas:",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph("CUENTA CONCENTRADORA 50015025745 a nombre de Banco Inbursa Cobranza Telmex\n"
                + "o mediante SPEI a la Cuenta 036180-50015025745-6\n" + "o bien en Bancomer:\n"
                + "Convenio CIE 386120 Referencia 50015025741", cuerpo);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        p = new Paragraph("Y no olvide remitirnos el pago de su crdito va correo electrnico.",
                cuerpoNegritas);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));
        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph(
                "Contamos con sus Pagos  y  con su  Comunicacin donde un asesor de este Corporativo le atender. EN  CASO DE QUE  REQUIERA PLAZO PARA PAGAR, CONTACTENOS.",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph("A T E N T A M E N T E", cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));
        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph("BUFETE DEL RIO, S.C.", cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph(
                "BUFETE DEL RIO, S.C. una Divisin de CORPORATIVO DEL RIO Y ASOCIADOS S.C.\n"
                        + "AVISO DE PRIVACIDAD. Puede ser consultado en la pgina Web   www.corporativodelrio.com",
                cuerpoMini);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);
    }

    public void addCreditosTelmexSOFOM(DatosVisitaDomiciliaria credito) throws DocumentException {

        documento.add(foto);
        Paragraph p = new Paragraph("BUFETE DEL RIO, S.C.", tituloN1);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        p = new Paragraph("La Firma Marca la Diferencia ", tituloN2);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        p = new Paragraph("Balboa 1111, Portales Sur, 03300, Mxico, D.F.", tituloN3);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        p = new Paragraph("(55) 5539 0104 con 10 Lneas         contacto@corporativodelrio.com", tituloN3);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        PdfPTable datos = new PdfPTable(2);
        datos.setWidthPercentage(90);

        Phrase pnombre = new Phrase(credito.getNombre());
        pnombre.setFont(cuerpo2);
        Phrase pcalle = new Phrase(credito.getCalle());
        pcalle.setFont(cuerpo2);
        Phrase pnumcredito = new Phrase(credito.getNumcredito());
        pnumcredito.setFont(cuerpo2);
        Phrase pcolonia = new Phrase(credito.getColonia());
        pcolonia.setFont(cuerpo2);
        Phrase pdelegacion = new Phrase(credito.getDelegacion());
        pdelegacion.setFont(cuerpo2);
        float sdo = credito.getSaldo();
        Phrase psaldo = new Paragraph(nf.format(sdo));
        psaldo.setFont(cuerpo2);
        Phrase pestadpCp = new Phrase(credito.getEstado() + "    " + credito.getCp());
        pestadpCp.setFont(cuerpo2);

        PdfPCell nombre = new PdfPCell(pnombre);
        PdfPCell titulocred = new PdfPCell(new Phrase("N Crdito"));
        PdfPCell calle = new PdfPCell(pcalle);
        PdfPCell numcredito = new PdfPCell(pnumcredito);
        PdfPCell colonia = new PdfPCell(pcolonia);
        PdfPCell titulosaldo = new PdfPCell(new Phrase("Saldo Vencido"));
        PdfPCell deleg = new PdfPCell(pdelegacion);
        PdfPCell saldo = new PdfPCell(psaldo);
        PdfPCell ciudadCP = new PdfPCell(pestadpCp);
        PdfPCell blanco = new PdfPCell(new Phrase(" "));

        nombre.setBorder(Rectangle.NO_BORDER);
        titulocred.setBorder(Rectangle.NO_BORDER);
        titulocred.setHorizontalAlignment(Chunk.ALIGN_RIGHT);
        calle.setBorder(Rectangle.NO_BORDER);
        numcredito.setBorder(Rectangle.NO_BORDER);
        numcredito.setHorizontalAlignment(Chunk.ALIGN_RIGHT);
        colonia.setBorder(Rectangle.NO_BORDER);
        titulosaldo.setBorder(Rectangle.NO_BORDER);
        titulosaldo.setHorizontalAlignment(Chunk.ALIGN_RIGHT);
        deleg.setBorder(Rectangle.NO_BORDER);
        saldo.setBorder(Rectangle.NO_BORDER);
        saldo.setHorizontalAlignment(Chunk.ALIGN_RIGHT);
        ciudadCP.setBorder(Rectangle.NO_BORDER);
        blanco.setBorder(Rectangle.NO_BORDER);

        datos.addCell(nombre);
        datos.addCell(titulocred);
        datos.addCell(calle);
        datos.addCell(numcredito);
        datos.addCell(colonia);
        datos.addCell(titulosaldo);
        datos.addCell(deleg);
        datos.addCell(saldo);
        datos.addCell(ciudadCP);
        datos.addCell(blanco);

        documento.add(new Paragraph(Chunk.NEWLINE));
        documento.add(new Paragraph(Chunk.NEWLINE));
        documento.add(new Paragraph(Chunk.NEWLINE));

        documento.add(datos);

        p = new Paragraph("Crdito TELMEX (Sofom)", tituloN2);
        p.setAlignment(Chunk.ALIGN_RIGHT);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph(
                "Srvase la presente, como requerimiento de  pago a favor de  Inbursa para regularizar su situacin de adeudo que actualmente presenta en la Linea de Crdito Telmex otorgada por Inbursa.",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph(
                "Recuerde que este Crdito se otorg con base en su excelente historial de pago puntual de su Lnea Telmex y ahora lo exhortamos a que regularize esta situacin a la brevedad, evitando situaciones inconvenientes y daando su buena imagen crediticia.",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        p = new Paragraph(
                "Representamos a Inbursa para que recuperemos los pagos atrasados de la Lnea de Crdito que se otorg.",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph(
                "Invariablemente el pago de lo atrasado, deber hacerse nicamente en la Sucursal de Banco Inbursa de su eleccin, a las siguientes Cuentas:",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph("CUENTA CONCENTRADORA 50010911552 a nombre de Sociedad Financiera Inbursa S.A. de C.V.\n"
                + "o mediante SPEI a la Cuenta 036180-50010911552-3\n" + "o bien en Bancomer:\n"
                + "Convenio CIE 386120 Referencia 50010911556", cuerpo);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        p = new Paragraph("Y no olvide remitirnos el pago de su crdito va correo electrnico.",
                cuerpoNegritas);
        p.setAlignment(Chunk.ALIGN_CENTER);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));
        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph(
                "Contamos con sus Pagos  y  con su  Comunicacin donde un asesor de este Corporativo le atender. EN  CASO DE QUE  REQUIERA PLAZO PARA PAGAR, CONTACTENOS.",
                cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph("A T E N T A M E N T E", cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));
        documento.add(new Paragraph(Chunk.NEWLINE));

        p = new Paragraph("BUFETE DEL RIO, S.C.", cuerpo);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);

        documento.add(new Paragraph(Chunk.NEWLINE));
        p = new Paragraph(
                "BUFETE DEL RIO, S.C. una Divisin de CORPORATIVO DEL RIO Y ASOCIADOS S.C.\n"
                        + "AVISO DE PRIVACIDAD. Puede ser consultado en la pgina Web   www.corporativodelrio.com",
                cuerpoMini);
        p.setAlignment(Chunk.ALIGN_JUSTIFIED);
        documento.add(p);
    }

}