Example usage for com.itextpdf.text.pdf BaseFont HELVETICA

List of usage examples for com.itextpdf.text.pdf BaseFont HELVETICA

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf BaseFont HELVETICA.

Prototype

String HELVETICA

To view the source code for com.itextpdf.text.pdf BaseFont HELVETICA.

Click Source Link

Document

This is a possible value of a base 14 type 1 font

Usage

From source file:com.automaster.autoview.server.servlet.ContratoPfServlet.java

public void contratoComodato(HttpServletRequest request, HttpServletResponse response) throws IOException {
    try {//ww  w  .j  a  v  a  2s  .c  o m

        // PDF que  o template da aplicao
        PdfReader reader = new PdfReader(url + "/contratos/contrato_locacao.pdf");
        //PDF resultante
        OutputStream os = response.getOutputStream();
        //PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(url+"\\contratos\\contrato_locacao.pdf"));
        PdfStamper stamper = new PdfStamper(reader, os);
        // ir adicionar na primeira pgina do PDF resultante
        PdfContentByte cabecalho = stamper.getOverContent(1);
        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumText = new ColumnText(cabecalho);
        // definie as configuraes de fonte para o objeto frase
        BaseFont normal = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        BaseFont negrito = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        //cria uma frase
        Phrase phraseCabecalho = new Phrase();
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab1);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab2);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab3);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab4);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab5);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab6);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab7);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab8);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab9);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab10);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab11);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab12);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab13);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab14);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab15);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab16);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab17);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab18);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab19);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab20);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab21);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab22);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab23);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab24);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab25);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab255);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab26);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab266);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab2661);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab27);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab28);
        //adicionar a frase no contener do PDF
        collumText.addText(phraseCabecalho);
        // escolhe alinhamento justificado para o objeto collumText
        collumText.setAlignment(3);
        //justifica a primeira linha
        collumText.setAdjustFirstLine(true);
        //dar uma identao de 30pt na primeira linha do collumText
        collumText.setIndent(30);
        //posiciona o collumText na pgina 1
        //collumText.setSimpleColumn(40, 600, 560, 790);
        collumText.setSimpleColumn(40, 600, 560, 790);
        //escreve o collumText no PDF
        collumText.go(false);

        //String textPlacas1 = "III - Os Equipamentos relacionados abaixo sero instalados no(s) Veiculo(s) de placa(s)";
        String textPlacas1 = "III - Os veculo(s) listado(s) a seguir, com sua(s) respectiva(s) data(s) de instalao, so identificado(s) pela(s) placa(s): ";
        String textPlacas2 = listaDePlacasComodato;
        String textPlacas3 = " sendo vedada a remoo do aparelho rastreador desse(s) veiculo(s), sem prvia e expressa anuncia da Contratada, que se dar sempre por escrito,"
                + " sob pena de aplicao da penalidade prevista por infrao contratual;";
        // ITENS ADICIONADOS A P?GINA 04 //
        // ir adicionar na quarta pgina do PDF resultante
        PdfContentByte placas = stamper.getOverContent(4);
        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextPlacas = new ColumnText(placas);
        // definie as configuraes de fonte para o objeto frase
        //BaseFont bfPlacas = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        //cria uma frase
        Phrase phrasePlacas = new Phrase();
        //adiciona fonte para a frase
        phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phrasePlacas.add(textPlacas1);
        //adiciona fonte para a frase
        phrasePlacas.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phrasePlacas.add(textPlacas2);
        //adiciona fonte para a frase
        phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phrasePlacas.add(textPlacas3);
        //adicionar a frase no contener do PDF
        collumTextPlacas.addText(phrasePlacas);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextPlacas.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextPlacas.setAlignment(3);
        //justifica a primeira linha
        collumTextPlacas.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        collumTextPlacas.setSimpleColumn(40, 400, 560, 670);
        //escreve o collumText no PDF
        collumTextPlacas.go(false);

        // ITENS ADICIONADOS A P?GINA 06 //
        String dia = new SimpleDateFormat("dd").format(dataAtual);
        String ano = new SimpleDateFormat("yyyy").format(dataAtual);
        //form.setFieldProperty("txtDataLocal", "txtDataLocal", PdfFormField., inst);
        int mes = dataAtual.getMonth();
        String mesEscrito = null;
        switch (mes) {
        case 0:
            mesEscrito = "janeiro";
            break;
        case 1:
            mesEscrito = "fevereiro";
            break;
        case 2:
            mesEscrito = "maro";
            break;
        case 3:
            mesEscrito = "abril";
            break;
        case 4:
            mesEscrito = "maio";
            break;
        case 5:
            mesEscrito = "junho";
            break;
        case 6:
            mesEscrito = "julho";
            break;
        case 7:
            mesEscrito = "agosto";
            break;
        case 8:
            mesEscrito = "setembro";
            break;
        case 9:
            mesEscrito = "outubro";
            break;
        case 10:
            mesEscrito = "novembro";
            break;
        case 11:
            mesEscrito = "dezembro";
            break;
        }
        String textRodape1 = "Fica eleito o foro da Comarca de ";
        String textRodape12 = cidadeUn.toUpperCase();
        String textRodape121 = ", estado do ";
        String textRodape122 = nomeEstadoUn.toUpperCase();
        String textRodape123 = ", para dirimir eventuais dvidas oriundas do presente contrato, "
                + "quer na sua aplicao ou interpretao, com renncia a qualquer outro por mais "
                + "privilegiado que seja. E por estarem assim compromissados, firmam o presente termo "
                + "em 02 (duas) vias de igual teor e forma na presena de 2 (duas) testemunhas abaixo assinadas.";

        String textRodape2 = cidadeUn + " , " + nomeEstadoUn + "    " + dia + "  de  " + mesEscrito + "  de  "
                + ano + ".";
        String textRodape3 = autoMaster + "\n" + cnpjUn;
        String textRodape4 = clienteAuxiliar.get(0).get("nomeCliente") + "\n"
                + ((tipoCliente == 1) ? "CPF: " + formataCPF(cpfCnpj) : "CNPJ: " + formataCNPJ(cpfCnpj));
        // ir adicionar na quarta pgina do PDF resultante
        PdfContentByte rodape = stamper.getOverContent(6);
        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodape1 = new ColumnText(rodape);
        //cria uma frase
        Phrase phraseRadape1 = new Phrase();
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape1);
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape12);
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape121);
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape122);
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape123);
        //adicionar a frase no contener do PDF
        collumTextRodape1.addText(phraseRadape1);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodape1.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodape1.setAlignment(3);
        //justifica a primeira linha
        collumTextRodape1.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        //collumTextRodape1.setSimpleColumn(40, 320, 560, 420);
        collumTextRodape1.setSimpleColumn(40, 380, 560, 480);
        //escreve o collumText no PDF
        collumTextRodape1.go(false);

        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodape2 = new ColumnText(rodape);
        //cria uma frase
        Phrase phraseRadape2 = new Phrase();
        //adiciona fonte para a frase
        phraseRadape2.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape2.add(textRodape2);
        //adicionar a frase no contener do PDF
        collumTextRodape2.addText(phraseRadape2);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodape2.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodape2.setAlignment(2);
        //justifica a primeira linha
        collumTextRodape2.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        //collumTextRodape2.setSimpleColumn(40, 220, 560, 320);
        collumTextRodape2.setSimpleColumn(40, 280, 560, 400);
        //escreve o collumText no PDF
        collumTextRodape2.go(false);

        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodape3 = new ColumnText(rodape);
        //cria uma frase
        Phrase phraseRadape3 = new Phrase();
        //adiciona fonte para a frase
        phraseRadape3.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape3.add(textRodape3);
        //adicionar a frase no contener do PDF
        collumTextRodape3.addText(phraseRadape3);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodape3.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodape3.setAlignment(1);
        //justifica a primeira linha
        collumTextRodape3.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        //collumTextRodape3.setSimpleColumn(250, 130, 600, 230);
        collumTextRodape3.setSimpleColumn(250, 200, 600, 300);
        //escreve o collumText no PDF
        collumTextRodape3.go(false);

        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodape4 = new ColumnText(rodape);
        //cria uma frase
        Phrase phraseRadape4 = new Phrase();
        //adiciona fonte para a frase
        phraseRadape4.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape4.add(textRodape4);
        //adicionar a frase no contener do PDF
        collumTextRodape4.addText(phraseRadape4);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodape4.setIndent(15);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodape4.setAlignment(1);
        //justifica a primeira linha
        collumTextRodape4.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        //collumTextRodape4.setSimpleColumn(15, 130, 250, 230);
        collumTextRodape4.setSimpleColumn(25, 200, 200, 300);
        //escreve o collumText no PDF
        collumTextRodape4.go(false);
        stamper.close();
        reader.close();

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        response.setHeader("Expires", "0");
        response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
        response.setHeader("Pragma", "public");
        // setting the content type
        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition", "attachment; filename=\"Contrato.pdf\"");
        //response.addHeader("Content-Disposition", "attachment; filename=ContratoPf.pdf");
        // the contentlength
        response.setContentLength(baos.size());
        // write ByteArrayOutputStream to the ServletOutputStream
        //OutputStream os = response.getOutputStream();
        baos.writeTo(os);
        os.flush();
        os.close();
    } catch (DocumentException e) {
        throw new IOException(e.getMessage());
    }
}

From source file:com.automaster.autoview.server.servlet.ContratoPfServlet.java

public void contratoVenda(HttpServletRequest request, HttpServletResponse response) throws IOException {
    try {//from ww w . j a v  a 2s .  co m

        PdfReader reader = new PdfReader(url + "/contratos/contrato_venda.pdf");
        //PDF resultante
        OutputStream os = response.getOutputStream();
        PdfStamper stamper = new PdfStamper(reader, os);
        // ir adicionar na primeira pgina do PDF resultante
        PdfContentByte cabecalho = stamper.getOverContent(1);
        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumText = new ColumnText(cabecalho);
        // definie as configuraes de fonte para o objeto frase
        BaseFont normal = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        BaseFont negrito = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        //cria uma frase
        Phrase phraseCabecalho = new Phrase();
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab1);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab2);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab3);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab4);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab5);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab6);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab7);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab8);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab9);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab10);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab11);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab12);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab13);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab14);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab15);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab16);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab17);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab18);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab19);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab20);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab21);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab22);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab23);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab24);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab25);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab255);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab26);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab266);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab2661);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab27);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab28);
        //adicionar a frase no contener do PDF
        collumText.addText(phraseCabecalho);
        // escolhe alinhamento justificado para o objeto collumText
        collumText.setAlignment(3);
        //justifica a primeira linha
        collumText.setAdjustFirstLine(true);
        //dar uma identao de 30pt na primeira linha do collumText
        collumText.setIndent(30);
        //posiciona o collumText na pgina 1
        collumText.setSimpleColumn(40, 560, 560, 760);
        //escreve o collumText no PDF
        collumText.go(false);
        // ITENS ADICIONADOS A P?GINA 04 //
        // ir adicionar na quarta pgina do PDF resultante
        PdfContentByte placas = stamper.getOverContent(4);
        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextPlacas = new ColumnText(placas);
        // definie as configuraes de fonte para o objeto frase
        //BaseFont bfPlacas = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        //String textPlacas1 = "3.1 - Os Equipamentos relacionados abaixo sero instalados no(s) Veiculo(s) de placa(s) ";
        String textPlacas1 = "3.1 - Os veculo(s) listado(s) a seguir, com sua(s) respectiva(s) data(s) de instalao, so identificado(s) pela(s) placa(s): ";
        String textPlacas2 = listaDePlacasVenda;
        String textPlacas3 = " sendo vedada a remoo do aparelho rastreador desse(s) veiculo(s), sem prvia e expressa anuncia da Contratada, "
                + "que se dar sempre por escrito, sob pena de aplicao da penalidade prevista por infrao contratual;";
        //cria uma frase
        Phrase phrasePlacas = new Phrase();
        //adiciona fonte para a frase
        phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phrasePlacas.add(textPlacas1);
        //adiciona fonte para a frase
        phrasePlacas.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phrasePlacas.add(textPlacas2);
        //adiciona fonte para a frase
        phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phrasePlacas.add(textPlacas3);
        //adicionar a frase no contener do PDF
        collumTextPlacas.addText(phrasePlacas);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextPlacas.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextPlacas.setAlignment(3);
        //justifica a primeira linha
        collumTextPlacas.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        collumTextPlacas.setSimpleColumn(40, 600, 560, 800);
        //escreve o collumText no PDF
        collumTextPlacas.go(false);

        // ITENS ADICIONADOS A P?GINA 06 //
        String dia = new SimpleDateFormat("dd").format(dataAtual);
        String ano = new SimpleDateFormat("yyyy").format(dataAtual);
        //form.setFieldProperty("txtDataLocal", "txtDataLocal", PdfFormField., inst);
        int mes = dataAtual.getMonth();
        String mesEscrito = null;
        switch (mes) {
        case 0:
            mesEscrito = "janeiro";
            break;
        case 1:
            mesEscrito = "fevereiro";
            break;
        case 2:
            mesEscrito = "maro";
            break;
        case 3:
            mesEscrito = "abril";
            break;
        case 4:
            mesEscrito = "maio";
            break;
        case 5:
            mesEscrito = "junho";
            break;
        case 6:
            mesEscrito = "julho";
            break;
        case 7:
            mesEscrito = "agosto";
            break;
        case 8:
            mesEscrito = "setembro";
            break;
        case 9:
            mesEscrito = "outubro";
            break;
        case 10:
            mesEscrito = "novembro";
            break;
        case 11:
            mesEscrito = "dezembro";
            break;
        }
        String textRodape1 = "Fica eleito o foro da Comarca de ";
        String textRodape12 = cidadeUn.toUpperCase();
        String textRodape121 = ", estado do ";
        String textRodape122 = nomeEstadoUn.toUpperCase();
        String textRodape123 = ", para dirimir eventuais dvidas oriundas do presente contrato, "
                + "quer na sua aplicao ou interpretao, com renncia a qualquer outro por mais "
                + "privilegiado que seja. E por estarem assim compromissados, firmam o presente termo "
                + "em 02 (duas) vias de igual teor e forma na presena de 2 (duas) testemunhas abaixo assinadas.";

        String textRodape2 = cidadeUn + " , " + nomeEstadoUn + "    " + dia + "  de  " + mesEscrito + "  de  "
                + ano + ".";
        String textRodape3 = autoMaster + "\n" + cnpjUn;
        String textRodape4 = clienteAuxiliar.get(0).get("nomeCliente") + "\n"
                + ((tipoCliente == 1) ? "CPF: " + formataCPF(cpfCnpj) : "CNPJ: " + formataCNPJ(cpfCnpj));
        // ir adicionar na quarta pgina do PDF resultante
        PdfContentByte rodape = stamper.getOverContent(6);
        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodape1 = new ColumnText(rodape);
        //cria uma frase
        Phrase phraseRadape1 = new Phrase();
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape1);
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape12);
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape121);
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape122);
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape123);
        //adicionar a frase no contener do PDF
        collumTextRodape1.addText(phraseRadape1);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodape1.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodape1.setAlignment(3);
        //justifica a primeira linha
        collumTextRodape1.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        collumTextRodape1.setSimpleColumn(40, 580, 560, 780);
        //escreve o collumText no PDF
        collumTextRodape1.go(false);

        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodape2 = new ColumnText(rodape);
        //cria uma frase
        Phrase phraseRadape2 = new Phrase();
        //adiciona fonte para a frase
        phraseRadape2.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape2.add(textRodape2);
        //adicionar a frase no contener do PDF
        collumTextRodape2.addText(phraseRadape2);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodape2.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodape2.setAlignment(2);
        //justifica a primeira linha
        collumTextRodape2.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        collumTextRodape2.setSimpleColumn(40, 580, 560, 680);
        //escreve o collumText no PDF
        collumTextRodape2.go(false);

        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodape3 = new ColumnText(rodape);
        //cria uma frase
        Phrase phraseRadape3 = new Phrase();
        //adiciona fonte para a frase
        phraseRadape3.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape3.add(textRodape3);
        //adicionar a frase no contener do PDF
        collumTextRodape3.addText(phraseRadape3);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodape3.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodape3.setAlignment(1);
        //justifica a primeira linha
        collumTextRodape3.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        collumTextRodape3.setSimpleColumn(250, 460, 600, 560);
        //escreve o collumText no PDF
        collumTextRodape3.go(false);

        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodape4 = new ColumnText(rodape);
        //cria uma frase
        Phrase phraseRadape4 = new Phrase();
        //adiciona fonte para a frase
        phraseRadape4.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape4.add(textRodape4);
        //adicionar a frase no contener do PDF
        collumTextRodape4.addText(phraseRadape4);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodape4.setIndent(15);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodape4.setAlignment(1);
        //justifica a primeira linha
        collumTextRodape4.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        collumTextRodape4.setSimpleColumn(15, 460, 250, 560);
        //escreve o collumText no PDF
        collumTextRodape4.go(false);

        stamper.close();
        reader.close();

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        response.setHeader("Expires", "0");
        response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
        response.setHeader("Pragma", "public");
        // setting the content type
        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition", "attachment; filename=\"Contrato.pdf\"");
        //response.addHeader("Content-Disposition", "attachment; filename=ContratoPf.pdf");
        // the contentlength
        response.setContentLength(baos.size());
        // write ByteArrayOutputStream to the ServletOutputStream
        //OutputStream os = response.getOutputStream();
        baos.writeTo(os);
        os.flush();
        os.close();
    } catch (DocumentException e) {
        throw new IOException(e.getMessage());
    }
}

From source file:com.automaster.autoview.server.servlet.ContratoPfServlet.java

public void contratoLocacaoVenda(HttpServletRequest request, HttpServletResponse response) throws IOException {
    try {//from w w w.j av  a  2  s .co m

        // PDF que  o template da aplicao
        PdfReader reader = new PdfReader(url + "/contratos/contrato_locacao_venda.pdf");
        //PDF resultante
        OutputStream os = response.getOutputStream();
        //PDF resultante
        PdfStamper stamper = new PdfStamper(reader, os);

        // ir adicionar na primeira pgina do PDF resultante
        PdfContentByte cabecalho = stamper.getOverContent(1);
        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumText = new ColumnText(cabecalho);
        // definie as configuraes de fonte para o objeto frase
        BaseFont normal = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        BaseFont negrito = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        //cria uma frase
        Phrase phraseCabecalho = new Phrase();
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab1);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab2);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab3);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab4);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab5);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab6);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab7);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab8);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab9);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab10);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab11);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab12);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab13);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab14);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab15);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab16);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab17);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab18);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab19);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab20);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab21);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab22);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab23);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab24);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab25);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab255);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab26);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab266);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab2661);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab27);
        //adiciona fonte para a frase
        phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalho.add(cab28);
        //adicionar a frase no contener do PDF
        collumText.addText(phraseCabecalho);
        // escolhe alinhamento justificado para o objeto collumText
        collumText.setAlignment(3);
        //justifica a primeira linha
        collumText.setAdjustFirstLine(true);
        //dar uma identao de 30pt na primeira linha do collumText
        collumText.setIndent(30);
        //posiciona o collumText na pgina 1
        collumText.setSimpleColumn(40, 600, 560, 790);
        //escreve o collumText no PDF
        collumText.go(false);
        String textPlacas1 = "III - Os veculo(s) listado(s) a seguir, com sua(s) respectiva(s) data(s) de instalao, so identificado(s) pela(s) placa(s): ";
        String textPlacas2 = listaDePlacasComodato;
        String textPlacas3 = " sendo vedada a remoo do aparelho rastreador desse(s) veiculo(s), sem prvia e expressa anuncia da Contratada, que se dar sempre por escrito,"
                + " sob pena de aplicao da penalidade prevista por infrao contratual;";
        // ITENS ADICIONADOS A P?GINA 04 //
        // ir adicionar na quarta pgina do PDF resultante
        PdfContentByte placas = stamper.getOverContent(4);
        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextPlacas = new ColumnText(placas);
        // definie as configuraes de fonte para o objeto frase
        //BaseFont bfPlacas = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        //cria uma frase
        Phrase phrasePlacas = new Phrase();
        //adiciona fonte para a frase
        phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phrasePlacas.add(textPlacas1);
        //adiciona fonte para a frase
        phrasePlacas.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phrasePlacas.add(textPlacas2);
        //adiciona fonte para a frase
        phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phrasePlacas.add(textPlacas3);
        //adicionar a frase no contener do PDF
        collumTextPlacas.addText(phrasePlacas);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextPlacas.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextPlacas.setAlignment(3);
        //justifica a primeira linha
        collumTextPlacas.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        collumTextPlacas.setSimpleColumn(40, 400, 560, 670);
        //escreve o collumText no PDF
        collumTextPlacas.go(false);

        // ITENS ADICIONADOS A P?GINA 06 //
        String dia = new SimpleDateFormat("dd").format(dataAtual);
        String ano = new SimpleDateFormat("yyyy").format(dataAtual);
        //form.setFieldProperty("txtDataLocal", "txtDataLocal", PdfFormField., inst);
        int mes = dataAtual.getMonth();
        String mesEscrito = null;
        switch (mes) {
        case 0:
            mesEscrito = "janeiro";
            break;
        case 1:
            mesEscrito = "fevereiro";
            break;
        case 2:
            mesEscrito = "maro";
            break;
        case 3:
            mesEscrito = "abril";
            break;
        case 4:
            mesEscrito = "maio";
            break;
        case 5:
            mesEscrito = "junho";
            break;
        case 6:
            mesEscrito = "julho";
            break;
        case 7:
            mesEscrito = "agosto";
            break;
        case 8:
            mesEscrito = "setembro";
            break;
        case 9:
            mesEscrito = "outubro";
            break;
        case 10:
            mesEscrito = "novembro";
            break;
        case 11:
            mesEscrito = "dezembro";
            break;
        }
        String textRodape1 = "Fica eleito o foro da Comarca de ";
        String textRodape12 = cidadeUn.toUpperCase();
        String textRodape121 = ", estado do ";
        String textRodape122 = nomeEstadoUn.toUpperCase();
        String textRodape123 = ", para dirimir eventuais dvidas oriundas do presente contrato, "
                + "quer na sua aplicao ou interpretao, com renncia a qualquer outro por mais "
                + "privilegiado que seja. E por estarem assim compromissados, firmam o presente termo "
                + "em 02 (duas) vias de igual teor e forma na presena de 2 (duas) testemunhas abaixo assinadas.";

        String textRodape2 = cidadeUn + " , " + nomeEstadoUn + "    " + dia + "  de  " + mesEscrito + "  de  "
                + ano + ".";
        String textRodape3 = autoMaster + "\n" + cnpjUn;
        String textRodape4 = clienteAuxiliar.get(0).get("nomeCliente") + "\n"
                + ((tipoCliente == 1) ? "CPF: " + formataCPF(cpfCnpj) : "CNPJ: " + formataCNPJ(cpfCnpj));
        // ir adicionar na quarta pgina do PDF resultante
        PdfContentByte rodape = stamper.getOverContent(6);
        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodape1 = new ColumnText(rodape);
        //cria uma frase
        Phrase phraseRadape1 = new Phrase();
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape1);
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape12);
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape121);
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape122);
        //adiciona fonte para a frase
        phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape1.add(textRodape123);
        //adicionar a frase no contener do PDF
        collumTextRodape1.addText(phraseRadape1);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodape1.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodape1.setAlignment(3);
        //justifica a primeira linha
        collumTextRodape1.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        //collumTextRodape1.setSimpleColumn(40, 320, 560, 420);
        collumTextRodape1.setSimpleColumn(40, 380, 560, 480);
        //escreve o collumText no PDF
        collumTextRodape1.go(false);

        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodape2 = new ColumnText(rodape);
        //cria uma frase
        Phrase phraseRadape2 = new Phrase();
        //adiciona fonte para a frase
        phraseRadape2.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape2.add(textRodape2);
        //adicionar a frase no contener do PDF
        collumTextRodape2.addText(phraseRadape2);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodape2.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodape2.setAlignment(2);
        //justifica a primeira linha
        collumTextRodape2.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        //collumTextRodape2.setSimpleColumn(40, 220, 560, 320);
        collumTextRodape2.setSimpleColumn(40, 280, 560, 400);
        //escreve o collumText no PDF
        collumTextRodape2.go(false);

        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodape3 = new ColumnText(rodape);
        //cria uma frase
        Phrase phraseRadape3 = new Phrase();
        //adiciona fonte para a frase
        phraseRadape3.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape3.add(textRodape3);
        //adicionar a frase no contener do PDF
        collumTextRodape3.addText(phraseRadape3);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodape3.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodape3.setAlignment(1);
        //justifica a primeira linha
        collumTextRodape3.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        //collumTextRodape3.setSimpleColumn(250, 130, 600, 230);
        collumTextRodape3.setSimpleColumn(250, 200, 600, 300);
        //escreve o collumText no PDF
        collumTextRodape3.go(false);

        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodape4 = new ColumnText(rodape);
        //cria uma frase
        Phrase phraseRadape4 = new Phrase();
        //adiciona fonte para a frase
        phraseRadape4.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadape4.add(textRodape4);
        //adicionar a frase no contener do PDF
        collumTextRodape4.addText(phraseRadape4);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodape4.setIndent(15);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodape4.setAlignment(1);
        //justifica a primeira linha
        collumTextRodape4.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        //collumTextRodape4.setSimpleColumn(15, 130, 250, 230);
        collumTextRodape4.setSimpleColumn(25, 200, 200, 300);
        //escreve o collumText no PDF
        collumTextRodape4.go(false);

        // ir adicionar na primeira pgina do PDF resultante
        PdfContentByte cabecalhoPagina7 = stamper.getOverContent(7);
        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextPagina7 = new ColumnText(cabecalhoPagina7);
        // definie as configuraes de fonte para o objeto frase
        //cria uma frase
        Phrase phraseCabecalhoPagina7 = new Phrase();
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab1);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab2);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab3);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab4);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab5);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab6);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab7);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab8);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab9);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab10);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab11);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab12);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab13);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab14);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab15);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab16);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab17);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab18);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab19);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab20);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab21);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab22);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab23);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab24);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab25);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab255);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab26);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab266);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab2661);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab27);
        //adiciona fonte para a frase
        phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseCabecalhoPagina7.add(cab28);
        //adicionar a frase no contener do PDF
        collumTextPagina7.addText(phraseCabecalhoPagina7);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextPagina7.setAlignment(3);
        //justifica a primeira linha
        collumTextPagina7.setAdjustFirstLine(true);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextPagina7.setIndent(30);
        //posiciona o collumText na pgina 1
        collumTextPagina7.setSimpleColumn(40, 570, 560, 770);
        //escreve o collumText no PDF
        collumTextPagina7.go(false);

        String textPlacasVenda1 = "3.1 - Os veculo(s) listado(s) a seguir, com sua(s) respectiva(s) data(s) de instalao, so identificado(s) pela(s) placa(s): ";
        String textPlacasVenda2 = listaDePlacasVenda;
        String textPlacasVenda3 = " sendo vedada a remoo do aparelho rastreador desse(s)veiculo(s), sem prvia e expressa anuncia da Contratada, "
                + "que se dar sempre por escrito, sob pena de aplicao da penalidade prevista por infrao contratual;";

        // ITENS ADICIONADOS A P?GINA 10 //
        // ir adicionar na quarta pgina do PDF resultante
        PdfContentByte placasVenda = stamper.getOverContent(10);
        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextPlacasVenda = new ColumnText(placasVenda);
        // definie as configuraes de fonte para o objeto frase
        //BaseFont bfPlacas = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        //cria uma frase
        Phrase phrasePlacasVenda = new Phrase();
        //adiciona fonte para a frase
        phrasePlacasVenda.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phrasePlacasVenda.add(textPlacasVenda1);
        //adiciona fonte para a frase
        phrasePlacasVenda.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phrasePlacasVenda.add(textPlacasVenda2);
        //adiciona fonte para a frase
        phrasePlacasVenda.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phrasePlacasVenda.add(textPlacasVenda3);
        //adicionar a frase no contener do PDF
        collumTextPlacasVenda.addText(phrasePlacasVenda);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextPlacasVenda.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextPlacasVenda.setAlignment(3);
        //justifica a primeira linha
        collumTextPlacasVenda.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        collumTextPlacasVenda.setSimpleColumn(40, 570, 560, 770);
        //escreve o collumText no PDF
        collumTextPlacasVenda.go(false);

        // ir adicionar na quarta pgina do PDF resultante
        PdfContentByte rodapeVenda = stamper.getOverContent(12);
        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodapeVenda1 = new ColumnText(rodapeVenda);
        //cria uma frase
        Phrase phraseRadapeVenda1 = new Phrase();
        //adiciona fonte para a frase
        phraseRadapeVenda1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadapeVenda1.add(textRodape1);
        //adiciona fonte para a frase
        phraseRadapeVenda1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadapeVenda1.add(textRodape12);
        //adiciona fonte para a frase
        phraseRadapeVenda1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadapeVenda1.add(textRodape121);
        //adiciona fonte para a frase
        phraseRadapeVenda1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadapeVenda1.add(textRodape122);
        //adiciona fonte para a frase
        phraseRadapeVenda1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadapeVenda1.add(textRodape123);
        //adicionar a frase no contener do PDF
        collumTextRodapeVenda1.addText(phraseRadapeVenda1);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodapeVenda1.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodapeVenda1.setAlignment(3);
        //justifica a primeira linha
        collumTextRodapeVenda1.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        //collumTextRodapeVenda1.setSimpleColumn(40, 570, 560, 770);
        collumTextRodapeVenda1.setSimpleColumn(40, 560, 560, 760);
        //escreve o collumText no PDF
        collumTextRodapeVenda1.go(false);

        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodapeVenda2 = new ColumnText(rodapeVenda);
        //cria uma frase
        Phrase phraseRadapeVenda2 = new Phrase();
        //adiciona fonte para a frase
        phraseRadapeVenda2.setFont(new com.itextpdf.text.Font(normal, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadapeVenda2.add(textRodape2);
        //adicionar a frase no contener do PDF
        collumTextRodapeVenda2.addText(phraseRadapeVenda2);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodapeVenda2.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodapeVenda2.setAlignment(2);
        //justifica a primeira linha
        collumTextRodapeVenda2.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        //collumTextRodapeVenda2.setSimpleColumn(40, 570, 560, 670);
        collumTextRodapeVenda2.setSimpleColumn(40, 560, 560, 660);
        //escreve o collumText no PDF
        collumTextRodapeVenda2.go(false);

        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodapeVenda3 = new ColumnText(rodapeVenda);
        //cria uma frase
        Phrase phraseRadapeVenda3 = new Phrase();
        //adiciona fonte para a frase
        phraseRadapeVenda3.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadapeVenda3.add(textRodape3);
        //adicionar a frase no contener do PDF
        collumTextRodapeVenda3.addText(phraseRadapeVenda3);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodapeVenda3.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodapeVenda3.setAlignment(1);
        //justifica a primeira linha
        collumTextRodapeVenda3.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        //collumTextRodapeVenda3.setSimpleColumn(250, 440, 600, 540);
        collumTextRodapeVenda3.setSimpleColumn(250, 440, 600, 540);
        //escreve o collumText no PDF
        collumTextRodapeVenda3.go(false);

        // cria um objeto que ir acomodar a o PdfContentByte
        ColumnText collumTextRodapeVenda4 = new ColumnText(rodapeVenda);
        //cria uma frase
        Phrase phraseRadapeVenda4 = new Phrase();
        //adiciona fonte para a frase
        phraseRadapeVenda4.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
        //adiciona a string que ir compor a frase
        phraseRadapeVenda4.add(textRodape4);
        //adicionar a frase no contener do PDF
        collumTextRodapeVenda4.addText(phraseRadapeVenda4);
        //dar uma identao de 30pt na primeira linha do collumText
        collumTextRodapeVenda4.setIndent(30);
        // escolhe alinhamento justificado para o objeto collumText
        collumTextRodapeVenda4.setAlignment(1);
        //justifica a primeira linha
        collumTextRodapeVenda4.setAdjustFirstLine(true);
        //posiciona o collumText na pgina 4
        //collumTextRodapeVenda4.setSimpleColumn(20, 440, 250, 540);
        collumTextRodapeVenda4.setSimpleColumn(25, 440, 200, 540);
        //escreve o collumText no PDF
        collumTextRodapeVenda4.go(false);

        stamper.close();
        reader.close();

        ByteArrayOutputStream baos = new ByteArrayOutputStream();

        /*response.setContentType("text/html");
        PrintWriter out = response.getWriter();
                
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hola</title>");
        out.println("</head>");
        out.println("<body bgcolor=\"white\">");
        out.println("<p><center>URL : Jaca </center></p>");
        //out.println("<p><center>Caminho absoluto : "+getServletContext().getRealPath("/")+"</center></p>");
        out.println("</body>");
        out.println("</html>");*/
        response.setHeader("Expires", "0");
        response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
        response.setHeader("Pragma", "public");
        // setting the content type
        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition", "attachment; filename=\"Contrato.pdf\"");
        response.addHeader("Content-Disposition", "attachment; filename=ContratoPf.pdf");
        // the contentlength
        response.setContentLength(baos.size());
        // write ByteArrayOutputStream to the ServletOutputStream
        //OutputStream os = response.getOutputStream();
        baos.writeTo(os);
        os.flush();
        os.close();
    } catch (DocumentException e) {
        throw new IOException(e.getMessage());
    }
}

From source file:com.automaster.autoview.server.servlet.LendoTemplateContratoLocacao.java

public static void main(String[] args) throws IOException, DocumentException {

    //String placa = request.getParameter("placa");
    //criando map que ir adicionar as informaes do cliente
    ArrayList<TreeMap<String, String>> clienteAuxiliar = new ArrayList<TreeMap<String, String>>();
    int codCliente = Integer.parseInt("1");
    int tipoCliente = Integer.parseInt("1");
    String cpfCnpj = "01370797290";
    // busca no BD as informaes do cliente
    ClienteDAO clienteDAO = null;/*  ww w .  jav a  2s . c om*/
    clienteDAO = new ClienteDAO();
    TreeMap<String, ArrayList<TreeMap<String, String>>> cliente = clienteDAO.buscarPorCodCliente(codCliente);
    //guarda no map auxiliar
    clienteAuxiliar = cliente.get(cliente.firstKey());
    //variveis de endereo do cliente 
    String logradouro = null;
    String bairro = null;
    String numero = null;
    String cidade = null;
    String cep = null;
    String uf = null;
    String nomeEstado = null;
    //busca no BD aas informaes da unidade
    UnidadeDAO unidadeDAO = new UnidadeDAO();
    int codUnidade = Integer.parseInt("1");
    //guarda no map as informaes da unidade
    TreeMap<String, String> unidade = unidadeDAO.buscarPorCodUnidadeCompleta(codUnidade);
    //vaiveis que iro guardar as informaes da unidade
    String autoMaster = "AUTO MASTER LTDA";
    String cnpjUn = formataCNPJ(unidade.get("cnpj"));
    String cidadeUn = unidade.get("nomeCidade");
    String nomeEstadoUn = unidade.get("nomeCompletoEstado");
    String ufUn = unidade.get("nomeEstado");
    String logradouroUn = unidade.get("logradouro");
    String numeroUn = unidade.get("numero");
    String bairroUn = unidade.get("bairro");
    // pega a data atual do sistema
    Date dataAtual = new Date(System.currentTimeMillis());
    //System.out.println("Cliente auxiliar :"+clienteAuxiliar);
    //busca no BD as informaes de endereo do cliente
    TreeMap<String, String> endAuxiliar = new TreeMap<String, String>();
    int index = 0;
    for (TreeMap<String, String> ends : clienteAuxiliar) {
        if (clienteAuxiliar.get(index).get("descricaoEndereco").equalsIgnoreCase("ENDEREO DE COBRANA")
                && endAuxiliar.get(ends.get("codEndereco")) == null) {
            //System.out.println("linha 01!!");
            logradouro = ends.get("logradouro");
            bairro = ends.get("bairro");
            numero = ends.get("numeroEndereco");
            cidade = ends.get("nomeCidade");
            cep = ends.get("cep");
            uf = ends.get("estadoUf");
            nomeEstado = ends.get("nomeEstado");
            endAuxiliar.put(ends.get("codEndereco"), ends.get("codEndereco"));
            //System.out.println("Linha 02!!");
        }
        index++;
    }
    // montando a string que ir compor o cabealho do contrato
    String cab1 = "Pelo presente instrumento particular, de um lado ";
    String cab2 = autoMaster;
    String cab3 = ", atuante no setor de segurana de monitoramento de veculos, inscrita no ";
    String cab4 = "CNPJ: " + cnpjUn;
    String cab5 = " localizada na ";
    String cab6 = logradouroUn;
    String cab7 = " n ";
    String cab8 = numeroUn;
    String cab9 = ", ";
    String cab10 = bairroUn;
    String cab11 = ", ";
    String cab12 = cidadeUn;
    String cab13 = "/";
    String cab14 = ufUn;
    String cab15 = ", doravante ";
    String cab16 = "designada simplesmente ";
    String cab17 = "AUTO MASTER MONITORAMENTO";
    String cab18 = ", e de outro lado ";
    String cab19 = clienteAuxiliar.get(0).get("nomeCliente")
            + ((tipoCliente == 1) ? ", CPF: " + formataCPF(cpfCnpj) : ", CNPJ: " + formataCNPJ(cpfCnpj));
    String cab20 = " localizado a ";
    String cab21 = logradouro;
    String cab22 = ", bairro: ";
    String cab23 = bairro;
    String cab24 = ", N ";
    String cab25 = numero;
    String cab255 = ", CIDADE : ";
    String cab26 = cidade;
    String cab266 = ", CEP : ";
    String cab2661 = cep;
    String cab27 = ", adquirente do RASTREADOR PARA AUTOS AUTO MASTER, ";
    String cab28 = "doravante denominado simplesmente como CONTRATANTE, firmam o presente CONTRATO DE PRESTAO DE SERVIOS, "
            + "conforme condies e clusulas adiante mencionadas:";
    //busca no BD os veculos do cliente
    VeiculoDAO veiculoDAO = new VeiculoDAO();
    ArrayList<TreeMap<String, String>> veiculos = veiculoDAO.buscarVeiculoAtivoPorCliente(codCliente);
    //incrementa a string somente com as placas dos veculos do cliente
    String listaDePlacas = "";
    SimpleDateFormat formatadorData = new SimpleDateFormat("dd/MM/yyyy");
    for (int i = 0; i < veiculos.size(); i++) {
        if (i == veiculos.size() - 1) {
            Date dataAdesao = new Date(Long.parseLong(veiculos.get(i).get("dataAdesao")));
            String dataAdesaoFormata = formatadorData.format(dataAdesao);
            listaDePlacas = " " + listaDePlacas + veiculos.get(i).get("placa") + " (" + dataAdesaoFormata + ")";
        } else {
            Date dataAdesao = new Date(Long.parseLong(veiculos.get(i).get("dataAdesao")));
            String dataAdesaoFormata = formatadorData.format(dataAdesao);
            listaDePlacas = " " + listaDePlacas + veiculos.get(i).get("placa") + " (" + dataAdesaoFormata
                    + "),";
        }
    }
    String textPlacas1 = "III - Os veculo(s) listado(s) a seguir, com sua(s) respectiva(s) data(s) de instalao, so identificado(s) pela(s) placa(s): ";
    String textPlacas2 = listaDePlacas;
    String textPlacas3 = ", sendo vedada a remoo do aparelho rastreador desses(s) veiculo(s), sem prvia e expressa anuncia da Contratada, que se dar sempre por escrito,"
            + " sob pena de aplicao da penalidade prevista por infrao contratual";

    // PDF que  o template da aplicao
    PdfReader reader = new PdfReader(
            "D:\\Users\\Adriano\\Documents\\NetBeansProjects\\JRGWT\\web\\contratos\\contrato_locacao.pdf");
    //PDF resultante
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(
            "D:\\Users\\Adriano\\Documents\\NetBeansProjects\\JRGWT\\web\\contratos\\contrato_locacao1.pdf"));

    // ir adicionar na primeira pgina do PDF resultante
    PdfContentByte cabecalho = stamper.getOverContent(1);
    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumText = new ColumnText(cabecalho);
    // definie as configuraes de fonte para o objeto frase
    BaseFont normal = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
    BaseFont negrito = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
    //cria uma frase
    Phrase phraseCabecalho = new Phrase();
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab1);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab2);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab3);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab4);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab5);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab6);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab7);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab8);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab9);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab10);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab11);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab12);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab13);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab14);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab15);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab16);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab17);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab18);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab19);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab20);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab21);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab22);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab23);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab24);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab25);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab255);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab26);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab266);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab2661);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab27);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab28);
    //adicionar a frase no contener do PDF
    collumText.addText(phraseCabecalho);
    // escolhe alinhamento justificado para o objeto collumText
    collumText.setAlignment(3);
    //justifica a primeira linha
    collumText.setAdjustFirstLine(true);
    //dar uma identao de 30pt na primeira linha do collumText
    collumText.setIndent(30);
    //posiciona o collumText na pgina 1
    collumText.setSimpleColumn(40, 600, 560, 790);
    //escreve o collumText no PDF
    collumText.go(false);
    // ITENS ADICIONADOS A P?GINA 04 //
    // ir adicionar na quarta pgina do PDF resultante
    PdfContentByte placas = stamper.getOverContent(4);
    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextPlacas = new ColumnText(placas);
    // definie as configuraes de fonte para o objeto frase
    //BaseFont bfPlacas = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
    //cria uma frase
    Phrase phrasePlacas = new Phrase();
    //adiciona fonte para a frase
    phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phrasePlacas.add(textPlacas1);
    //adiciona fonte para a frase
    phrasePlacas.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phrasePlacas.add(textPlacas2);
    //adiciona fonte para a frase
    phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phrasePlacas.add(textPlacas3);
    //adicionar a frase no contener do PDF
    collumTextPlacas.addText(phrasePlacas);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextPlacas.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextPlacas.setAlignment(3);
    //justifica a primeira linha
    collumTextPlacas.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextPlacas.setSimpleColumn(40, 400, 560, 670);
    //escreve o collumText no PDF
    collumTextPlacas.go(false);

    // ITENS ADICIONADOS A P?GINA 06 //
    String dia = new SimpleDateFormat("dd").format(dataAtual);
    String ano = new SimpleDateFormat("yyyy").format(dataAtual);
    //form.setFieldProperty("txtDataLocal", "txtDataLocal", PdfFormField., inst);
    int mes = dataAtual.getMonth();
    String mesEscrito = null;
    switch (mes) {
    case 0:
        mesEscrito = "janeiro";
        break;
    case 1:
        mesEscrito = "favereiro";
        break;
    case 2:
        mesEscrito = "maro";
        break;
    case 3:
        mesEscrito = "abril";
        break;
    case 4:
        mesEscrito = "maio";
        break;
    case 5:
        mesEscrito = "junho";
        break;
    case 6:
        mesEscrito = "julho";
        break;
    case 7:
        mesEscrito = "agosto";
        break;
    case 8:
        mesEscrito = "setembro";
        break;
    case 9:
        mesEscrito = "outubro";
        break;
    case 10:
        mesEscrito = "novembro";
        break;
    case 11:
        mesEscrito = "dezembro";
        break;
    }
    String textRodape1 = "Fica eleito o foro da Comarca de ";
    String textRodape12 = cidadeUn;
    String textRodape121 = ", estado do ";
    String textRodape122 = nomeEstadoUn;
    String textRodape123 = ", para dirimir eventuais dvidas oriundas do presente contrato, "
            + "quer na sua aplicao ou interpretao, com renncia a qualquer outro por mais "
            + "privilegiado que seja. E por estarem assim compromissados, firmam o presente termo "
            + "em 02 (duas) vias de igual teor e forma na presena de 2 (duas) testemunhas abaixo assinadas.";

    String textRodape2 = cidadeUn + " , " + nomeEstadoUn + "    " + dia + "  de  " + mesEscrito + "  de  " + ano
            + ".";
    String textRodape3 = autoMaster + "\n" + cnpjUn;
    String textRodape4 = clienteAuxiliar.get(0).get("nomeCliente") + "\n"
            + ((tipoCliente == 1) ? "CPF: " + formataCPF(cpfCnpj) : "CNPJ: " + formataCNPJ(cpfCnpj));
    // ir adicionar na quarta pgina do PDF resultante
    PdfContentByte rodape = stamper.getOverContent(6);
    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodape1 = new ColumnText(rodape);
    //cria uma frase
    Phrase phraseRadape1 = new Phrase();
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape1);
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape12);
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape121);
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape122);
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape123);
    //adicionar a frase no contener do PDF
    collumTextRodape1.addText(phraseRadape1);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodape1.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodape1.setAlignment(3);
    //justifica a primeira linha
    collumTextRodape1.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    //collumText.setSimpleColumn(40, 600, 560, 790);
    collumTextRodape1.setSimpleColumn(40, 380, 560, 480);
    //escreve o collumText no PDF
    collumTextRodape1.go(false);

    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodape2 = new ColumnText(rodape);
    //cria uma frase
    Phrase phraseRadape2 = new Phrase();
    //adiciona fonte para a frase
    phraseRadape2.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape2.add(textRodape2);
    //adicionar a frase no contener do PDF
    collumTextRodape2.addText(phraseRadape2);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodape2.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodape2.setAlignment(2);
    //justifica a primeira linha
    collumTextRodape2.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextRodape2.setSimpleColumn(40, 280, 560, 400);
    //escreve o collumText no PDF
    collumTextRodape2.go(false);

    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodape3 = new ColumnText(rodape);
    //cria uma frase
    Phrase phraseRadape3 = new Phrase();
    //adiciona fonte para a frase
    phraseRadape3.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape3.add(textRodape3);
    //adicionar a frase no contener do PDF
    collumTextRodape3.addText(phraseRadape3);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodape3.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodape3.setAlignment(1);
    //justifica a primeira linha
    collumTextRodape3.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextRodape3.setSimpleColumn(250, 200, 600, 300);
    //escreve o collumText no PDF
    collumTextRodape3.go(false);

    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodape4 = new ColumnText(rodape);
    //cria uma frase
    Phrase phraseRadape4 = new Phrase();
    //adiciona fonte para a frase
    phraseRadape4.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape4.add(textRodape4);
    //adicionar a frase no contener do PDF
    collumTextRodape4.addText(phraseRadape4);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodape4.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodape4.setAlignment(1);
    //justifica a primeira linha
    collumTextRodape4.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextRodape4.setSimpleColumn(25, 200, 200, 300);
    //escreve o collumText no PDF
    collumTextRodape4.go(false);
    stamper.close();
    reader.close();
}

From source file:com.automaster.autoview.server.servlet.LendoTemplateContratoLocacaoVenda.java

public static void main(String[] args) throws IOException, DocumentException {

    //String placa = request.getParameter("placa");
    //criando map que ir adicionar as informaes do cliente
    ArrayList<TreeMap<String, String>> clienteAuxiliar = new ArrayList<TreeMap<String, String>>();
    int codCliente = Integer.parseInt("1");
    int tipoCliente = Integer.parseInt("1");
    String cpfCnpj = "01370797290";
    // busca no BD as informaes do cliente
    ClienteDAO clienteDAO = null;// w w w .j  a v a  2  s  . c  o m
    clienteDAO = new ClienteDAO();
    TreeMap<String, ArrayList<TreeMap<String, String>>> cliente = clienteDAO.buscarPorCodCliente(codCliente);
    //guarda no map auxiliar
    clienteAuxiliar = cliente.get(cliente.firstKey());
    //variveis de endereo do cliente 
    String logradouro = null;
    String bairro = null;
    String numero = null;
    String cidade = null;
    String cep = null;
    String uf = null;
    String nomeEstado = null;
    //busca no BD aas informaes da unidade
    UnidadeDAO unidadeDAO = new UnidadeDAO();
    int codUnidade = Integer.parseInt(clienteAuxiliar.get(0).get("codUnidade"));
    //guarda no map as informaes da unidade
    TreeMap<String, String> unidade = unidadeDAO.buscarPorCodUnidadeCompleta(codUnidade);
    //vaiveis que iro guardar as informaes da unidade
    String autoMaster = "AUTO MASTER LTDA";
    String cnpjUn = formataCNPJ(unidade.get("cnpj"));
    String cidadeUn = unidade.get("nomeCidade");
    String nomeEstadoUn = unidade.get("nomeCompletoEstado");
    String ufUn = unidade.get("nomeEstado");
    String logradouroUn = unidade.get("logradouro");
    String numeroUn = unidade.get("numero");
    String bairroUn = unidade.get("bairro");
    // pega a data atual do sistema
    Date dataAtual = new Date(System.currentTimeMillis());
    //System.out.println("Cliente auxiliar :"+clienteAuxiliar);
    //busca no BD as informaes de endereo do cliente
    TreeMap<String, String> endAuxiliar = new TreeMap<String, String>();
    int index = 0;
    for (TreeMap<String, String> ends : clienteAuxiliar) {
        if (clienteAuxiliar.get(index).get("descricaoEndereco").equalsIgnoreCase("ENDEREO DE COBRANA")
                && endAuxiliar.get(ends.get("codEndereco")) == null) {
            //System.out.println("linha 01!!");
            logradouro = ends.get("logradouro");
            bairro = ends.get("bairro");
            numero = ends.get("numeroEndereco");
            cidade = ends.get("nomeCidade");
            cep = ends.get("cep");
            uf = ends.get("estadoUf");
            nomeEstado = ends.get("nomeEstado");
            endAuxiliar.put(ends.get("codEndereco"), ends.get("codEndereco"));
            //System.out.println("Linha 02!!");
        }
        index++;
    }
    // montando a string que ir compor o cabealho do contrato
    String cab1 = "Pelo presente instrumento particular, de um lado ";
    String cab2 = autoMaster;
    String cab3 = ", atuante no setor de segurana de monitoramento de veculos, inscrita no ";
    String cab4 = "CNPJ: " + cnpjUn;
    String cab5 = " localizada na ";
    String cab6 = logradouroUn;
    String cab7 = " n ";
    String cab8 = numeroUn;
    String cab9 = ", ";
    String cab10 = bairroUn;
    String cab11 = ", ";
    String cab12 = cidadeUn;
    String cab13 = "/";
    String cab14 = ufUn;
    String cab15 = ", doravante ";
    String cab16 = "designada simplesmente ";
    String cab17 = "AUTO MASTER MONITORAMENTO";
    String cab18 = ", e de outro lado ";
    String cab19 = clienteAuxiliar.get(0).get("nomeCliente")
            + ((tipoCliente == 1) ? ", CPF: " + formataCPF(cpfCnpj) : ", CNPJ: " + formataCNPJ(cpfCnpj));
    String cab20 = " localizado a ";
    String cab21 = logradouro;
    String cab22 = ", bairro: ";
    String cab23 = bairro;
    String cab24 = ", N ";
    String cab25 = numero;
    String cab255 = ", CIDADE : ";
    String cab26 = cidade;
    String cab266 = ", CEP : ";
    String cab2661 = cep;
    String cab27 = ", adquirente do RASTREADOR PARA AUTOS AUTO MASTER, ";
    String cab28 = "doravante denominado simplesmente como CONTRATANTE, firmam o presente CONTRATO DE PRESTAO DE SERVIOS, "
            + "conforme condies e clusulas adiante mencionadas:";
    //busca no BD os veculos do cliente
    VeiculoDAO veiculoDAO = new VeiculoDAO();
    ArrayList<TreeMap<String, String>> veiculos = veiculoDAO.buscarVeiculoAtivoPorCliente(codCliente);
    //incrementa a string somente com as placas dos veculos do cliente
    String listaDePlacasComodato = "";
    String listaDePlacasVenda = "";
    for (int i = 0; i < veiculos.size(); i++) {
        if (i == veiculos.size() - 1) {
            if (veiculos.get(i).get("planoCodPlano").equalsIgnoreCase("1")) {
                listaDePlacasVenda = " " + listaDePlacasVenda + veiculos.get(i).get("placa");
            } else {
                listaDePlacasComodato = " " + listaDePlacasComodato + veiculos.get(i).get("placa");
            }
        } else {
            if (veiculos.get(i).get("planoCodPlano").equalsIgnoreCase("1")) {
                listaDePlacasVenda = " " + listaDePlacasVenda + veiculos.get(i).get("placa") + ",";
            } else {
                listaDePlacasComodato = " " + listaDePlacasComodato + veiculos.get(i).get("placa") + ",";
            }
        }
    }
    String textPlacas1 = "III - Os veculo(s) listado(s) a seguir, com sua(s) respectiva(s) data(s) de instalao, so identificado(s) pela(s) placa(s): ";
    String textPlacas2 = listaDePlacasComodato;
    String textPlacas3 = ", sendo vedada a remoo do aparelho rastreador desses(s) veiculo(s), sem prvia e expressa anuncia da Contratada, que se dar sempre por escrito,"
            + " sob pena de aplicao da penalidade prevista por infrao contratual";

    // PDF que  o template da aplicao
    PdfReader reader = new PdfReader(
            "D:\\Users\\Adriano\\Documents\\NetBeansProjects\\JRGWT\\web\\contratos\\contrato_locacao_venda.pdf");
    //PDF resultante
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(
            "D:\\Users\\Adriano\\Documents\\NetBeansProjects\\JRGWT\\web\\contratos\\contrato_locacao_venda_01.pdf"));

    // ir adicionar na primeira pgina do PDF resultante
    PdfContentByte cabecalho = stamper.getOverContent(1);
    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumText = new ColumnText(cabecalho);
    // definie as configuraes de fonte para o objeto frase
    BaseFont normal = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
    BaseFont negrito = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
    //cria uma frase
    Phrase phraseCabecalho = new Phrase();
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab1);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab2);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab3);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab4);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab5);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab6);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab7);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab8);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab9);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab10);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab11);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab12);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab13);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab14);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab15);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab16);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab17);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab18);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab19);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab20);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab21);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab22);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab23);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab24);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab25);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab255);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab26);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab266);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab2661);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab27);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab28);
    //adicionar a frase no contener do PDF
    collumText.addText(phraseCabecalho);
    // escolhe alinhamento justificado para o objeto collumText
    collumText.setAlignment(3);
    //justifica a primeira linha
    collumText.setAdjustFirstLine(true);
    //dar uma identao de 30pt na primeira linha do collumText
    collumText.setIndent(30);
    //posiciona o collumText na pgina 1
    collumText.setSimpleColumn(40, 600, 560, 790);
    //escreve o collumText no PDF
    collumText.go(false);
    // ITENS ADICIONADOS A P?GINA 04 //
    // ir adicionar na quarta pgina do PDF resultante
    PdfContentByte placas = stamper.getOverContent(4);
    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextPlacas = new ColumnText(placas);
    // definie as configuraes de fonte para o objeto frase
    //BaseFont bfPlacas = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
    //cria uma frase
    Phrase phrasePlacas = new Phrase();
    //adiciona fonte para a frase
    phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phrasePlacas.add(textPlacas1);
    //adiciona fonte para a frase
    phrasePlacas.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phrasePlacas.add(textPlacas2);
    //adiciona fonte para a frase
    phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phrasePlacas.add(textPlacas3);
    //adicionar a frase no contener do PDF
    collumTextPlacas.addText(phrasePlacas);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextPlacas.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextPlacas.setAlignment(3);
    //justifica a primeira linha
    collumTextPlacas.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextPlacas.setSimpleColumn(40, 400, 560, 670);
    //escreve o collumText no PDF
    collumTextPlacas.go(false);

    // ITENS ADICIONADOS A P?GINA 06 //
    String dia = new SimpleDateFormat("dd").format(dataAtual);
    String ano = new SimpleDateFormat("yyyy").format(dataAtual);
    //form.setFieldProperty("txtDataLocal", "txtDataLocal", PdfFormField., inst);
    int mes = dataAtual.getMonth();
    String mesEscrito = null;
    switch (mes) {
    case 0:
        mesEscrito = "janeiro";
        break;
    case 1:
        mesEscrito = "favereiro";
        break;
    case 2:
        mesEscrito = "maro";
        break;
    case 3:
        mesEscrito = "abril";
        break;
    case 4:
        mesEscrito = "maio";
        break;
    case 5:
        mesEscrito = "junho";
        break;
    case 6:
        mesEscrito = "julho";
        break;
    case 7:
        mesEscrito = "agosto";
        break;
    case 8:
        mesEscrito = "setembro";
        break;
    case 9:
        mesEscrito = "outubro";
        break;
    case 10:
        mesEscrito = "novembro";
        break;
    case 11:
        mesEscrito = "dezembro";
        break;
    }
    String textRodape1 = "Fica eleito o foro da Comarca de ";
    String textRodape12 = cidadeUn;
    String textRodape121 = ", estado do ";
    String textRodape122 = nomeEstadoUn;
    String textRodape123 = ", para dirimir eventuais dvidas oriundas do presente contrato, "
            + "quer na sua aplicao ou interpretao, com renncia a qualquer outro por mais "
            + "privilegiado que seja. E por estarem assim compromissados, firmam o presente termo "
            + "em 02 (duas) vias de igual teor e forma na presena de 2 (duas) testemunhas abaixo assinadas.";

    String textRodape2 = cidadeUn + " , " + nomeEstadoUn + "    " + dia + "  de  " + mesEscrito + "  de  " + ano
            + ".";
    String textRodape3 = autoMaster + "\n" + cnpjUn;
    String textRodape4 = clienteAuxiliar.get(0).get("nomeCliente") + "\n"
            + ((tipoCliente == 1) ? "CPF: " + formataCPF(cpfCnpj) : "CNPJ: " + formataCNPJ(cpfCnpj));
    // ir adicionar na quarta pgina do PDF resultante
    PdfContentByte rodape = stamper.getOverContent(6);
    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodape1 = new ColumnText(rodape);
    //cria uma frase
    Phrase phraseRadape1 = new Phrase();
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape1);
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape12);
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape121);
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape122);
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape123);
    //adicionar a frase no contener do PDF
    collumTextRodape1.addText(phraseRadape1);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodape1.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodape1.setAlignment(3);
    //justifica a primeira linha
    collumTextRodape1.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    //collumTextRodape1.setSimpleColumn(40, 320, 560, 420);
    collumTextRodape1.setSimpleColumn(40, 380, 560, 480);
    //escreve o collumText no PDF
    collumTextRodape1.go(false);

    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodape2 = new ColumnText(rodape);
    //cria uma frase
    Phrase phraseRadape2 = new Phrase();
    //adiciona fonte para a frase
    phraseRadape2.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape2.add(textRodape2);
    //adicionar a frase no contener do PDF
    collumTextRodape2.addText(phraseRadape2);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodape2.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodape2.setAlignment(2);
    //justifica a primeira linha
    collumTextRodape2.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    //collumTextRodape2.setSimpleColumn(40, 220, 560, 320);
    collumTextRodape2.setSimpleColumn(40, 280, 560, 400);
    //escreve o collumText no PDF
    collumTextRodape2.go(false);

    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodape3 = new ColumnText(rodape);
    //cria uma frase
    Phrase phraseRadape3 = new Phrase();
    //adiciona fonte para a frase
    phraseRadape3.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape3.add(textRodape3);
    //adicionar a frase no contener do PDF
    collumTextRodape3.addText(phraseRadape3);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodape3.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodape3.setAlignment(1);
    //justifica a primeira linha
    collumTextRodape3.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    //collumTextRodape3.setSimpleColumn(250, 130, 600, 230);
    collumTextRodape3.setSimpleColumn(250, 200, 600, 300);
    //escreve o collumText no PDF
    collumTextRodape3.go(false);

    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodape4 = new ColumnText(rodape);
    //cria uma frase
    Phrase phraseRadape4 = new Phrase();
    //adiciona fonte para a frase
    phraseRadape4.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape4.add(textRodape4);
    //adicionar a frase no contener do PDF
    collumTextRodape4.addText(phraseRadape4);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodape4.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodape4.setAlignment(1);
    //justifica a primeira linha
    collumTextRodape4.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    //collumTextRodape4.setSimpleColumn(25, 130, 200, 230);
    collumTextRodape4.setSimpleColumn(25, 200, 200, 300);
    //escreve o collumText no PDF
    collumTextRodape4.go(false);

    // ir adicionar na primeira pgina do PDF resultante
    PdfContentByte cabecalhoPagina7 = stamper.getOverContent(7);
    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextPagina7 = new ColumnText(cabecalhoPagina7);
    // definie as configuraes de fonte para o objeto frase
    //cria uma frase
    Phrase phraseCabecalhoPagina7 = new Phrase();
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab1);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab2);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab3);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab4);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab5);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab6);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab7);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab8);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab9);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab10);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab11);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab12);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab13);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab14);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab15);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab16);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab17);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab18);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab19);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab20);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab21);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab22);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab23);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab24);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab25);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab255);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab26);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab266);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab2661);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab27);
    //adiciona fonte para a frase
    phraseCabecalhoPagina7.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalhoPagina7.add(cab28);
    //adicionar a frase no contener do PDF
    collumTextPagina7.addText(phraseCabecalhoPagina7);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextPagina7.setAlignment(3);
    //justifica a primeira linha
    collumTextPagina7.setAdjustFirstLine(true);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextPagina7.setIndent(30);
    //posiciona o collumText na pgina 1
    collumTextPagina7.setSimpleColumn(40, 560, 560, 760);
    //escreve o collumText no PDF
    collumTextPagina7.go(false);

    String textPlacasVenda1 = "3.1 - Os veculo(s) listado(s) a seguir, com sua(s) respectiva(s) data(s) de instalao, so identificado(s) pela(s) placa(s): ";
    String textPlacasVenda2 = listaDePlacasVenda;
    String textPlacasVenda3 = ", sendo vedada a remoo do aparelho rastreador desses(s) veiculo(s), sem prvia e expressa anuncia da Contratada, "
            + "que se dar sempre por escrito, sob pena de aplicao da penalidade prevista por infrao contratual;";

    // ITENS ADICIONADOS A P?GINA 10 //
    // ir adicionar na quarta pgina do PDF resultante
    PdfContentByte placasVenda = stamper.getOverContent(10);
    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextPlacasVenda = new ColumnText(placasVenda);
    // definie as configuraes de fonte para o objeto frase
    //BaseFont bfPlacas = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
    //cria uma frase
    Phrase phrasePlacasVenda = new Phrase();
    //adiciona fonte para a frase
    phrasePlacasVenda.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phrasePlacasVenda.add(textPlacasVenda1);
    //adiciona fonte para a frase
    phrasePlacasVenda.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phrasePlacasVenda.add(textPlacasVenda2);
    //adiciona fonte para a frase
    phrasePlacasVenda.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phrasePlacasVenda.add(textPlacasVenda3);
    //adicionar a frase no contener do PDF
    collumTextPlacasVenda.addText(phrasePlacasVenda);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextPlacasVenda.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextPlacasVenda.setAlignment(3);
    //justifica a primeira linha
    collumTextPlacasVenda.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextPlacasVenda.setSimpleColumn(40, 600, 560, 800);
    //escreve o collumText no PDF
    collumTextPlacasVenda.go(false);

    // ir adicionar na quarta pgina do PDF resultante
    PdfContentByte rodapeVenda = stamper.getOverContent(12);
    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodapeVenda1 = new ColumnText(rodapeVenda);
    //cria uma frase
    Phrase phraseRadapeVenda1 = new Phrase();
    //adiciona fonte para a frase
    phraseRadapeVenda1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadapeVenda1.add(textRodape1);
    //adiciona fonte para a frase
    phraseRadapeVenda1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadapeVenda1.add(textRodape12);
    //adiciona fonte para a frase
    phraseRadapeVenda1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadapeVenda1.add(textRodape121);
    //adiciona fonte para a frase
    phraseRadapeVenda1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadapeVenda1.add(textRodape122);
    //adiciona fonte para a frase
    phraseRadapeVenda1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadapeVenda1.add(textRodape123);
    //adicionar a frase no contener do PDF
    collumTextRodapeVenda1.addText(phraseRadapeVenda1);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodapeVenda1.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodapeVenda1.setAlignment(3);
    //justifica a primeira linha
    collumTextRodapeVenda1.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextRodapeVenda1.setSimpleColumn(40, 560, 560, 760);
    //escreve o collumText no PDF
    collumTextRodapeVenda1.go(false);

    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodapeVenda2 = new ColumnText(rodapeVenda);
    //cria uma frase
    Phrase phraseRadapeVenda2 = new Phrase();
    //adiciona fonte para a frase
    phraseRadapeVenda2.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadapeVenda2.add(textRodape2);
    //adicionar a frase no contener do PDF
    collumTextRodapeVenda2.addText(phraseRadapeVenda2);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodapeVenda2.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodapeVenda2.setAlignment(2);
    //justifica a primeira linha
    collumTextRodapeVenda2.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextRodapeVenda2.setSimpleColumn(40, 560, 560, 660);
    //escreve o collumText no PDF
    collumTextRodapeVenda2.go(false);

    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodapeVenda3 = new ColumnText(rodapeVenda);
    //cria uma frase
    Phrase phraseRadapeVenda3 = new Phrase();
    //adiciona fonte para a frase
    phraseRadapeVenda3.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadapeVenda3.add(textRodape3);
    //adicionar a frase no contener do PDF
    collumTextRodapeVenda3.addText(phraseRadapeVenda3);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodapeVenda3.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodapeVenda3.setAlignment(1);
    //justifica a primeira linha
    collumTextRodapeVenda3.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextRodapeVenda3.setSimpleColumn(250, 440, 600, 540);
    //escreve o collumText no PDF
    collumTextRodapeVenda3.go(false);

    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodapeVenda4 = new ColumnText(rodapeVenda);
    //cria uma frase
    Phrase phraseRadapeVenda4 = new Phrase();
    //adiciona fonte para a frase
    phraseRadapeVenda4.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadapeVenda4.add(textRodape4);
    //adicionar a frase no contener do PDF
    collumTextRodapeVenda4.addText(phraseRadapeVenda4);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodapeVenda4.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodapeVenda4.setAlignment(1);
    //justifica a primeira linha
    collumTextRodapeVenda4.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextRodapeVenda4.setSimpleColumn(25, 440, 200, 540);
    //escreve o collumText no PDF
    collumTextRodapeVenda4.go(false);

    stamper.close();
    reader.close();
}

From source file:com.automaster.autoview.server.servlet.LendoTemplateContratoVenda.java

public static void main(String[] args) throws IOException, DocumentException {

    //String placa = request.getParameter("placa");
    //criando map que ir adicionar as informaes do cliente
    ArrayList<TreeMap<String, String>> clienteAuxiliar = new ArrayList<TreeMap<String, String>>();
    int codCliente = Integer.parseInt("2");
    int tipoCliente = Integer.parseInt("2");
    String cpfCnpj = "53487465000185";
    // busca no BD as informaes do cliente
    ClienteDAO clienteDAO = null;//  ww  w  .ja va  2 s . c  o  m
    clienteDAO = new ClienteDAO();
    TreeMap<String, ArrayList<TreeMap<String, String>>> cliente = clienteDAO.buscarPorCodCliente(codCliente);
    //guarda no map auxiliar
    clienteAuxiliar = cliente.get(cliente.firstKey());
    //variveis de endereo do cliente 
    String logradouro = null;
    String bairro = null;
    String numero = null;
    String cidade = null;
    String cep = null;
    String uf = null;
    String nomeEstado = null;
    //busca no BD aas informaes da unidade
    UnidadeDAO unidadeDAO = new UnidadeDAO();
    int codUnidade = Integer.parseInt(clienteAuxiliar.get(0).get("codUnidade"));
    //guarda no map as informaes da unidade
    TreeMap<String, String> unidade = unidadeDAO.buscarPorCodUnidadeCompleta(codUnidade);
    //vaiveis que iro guardar as informaes da unidade
    String autoMaster = "AUTO MASTER LTDA";
    String cnpjUn = formataCNPJ(unidade.get("cnpj"));
    String cidadeUn = unidade.get("nomeCidade");
    String nomeEstadoUn = unidade.get("nomeCompletoEstado");
    String ufUn = unidade.get("nomeEstado");
    String logradouroUn = unidade.get("logradouro");
    String numeroUn = unidade.get("numero");
    String bairroUn = unidade.get("bairro");
    // pega a data atual do sistema
    Date dataAtual = new Date(System.currentTimeMillis());
    //System.out.println("Cliente auxiliar :"+clienteAuxiliar);
    //busca no BD as informaes de endereo do cliente
    TreeMap<String, String> endAuxiliar = new TreeMap<String, String>();
    int index = 0;
    for (TreeMap<String, String> ends : clienteAuxiliar) {
        if (clienteAuxiliar.get(index).get("descricaoEndereco").equalsIgnoreCase("ENDEREO DE COBRANA")
                && endAuxiliar.get(ends.get("codEndereco")) == null) {
            //System.out.println("linha 01!!");
            logradouro = ends.get("logradouro");
            bairro = ends.get("bairro");
            numero = ends.get("numeroEndereco");
            cidade = ends.get("nomeCidade");
            cep = ends.get("cep");
            uf = ends.get("estadoUf");
            nomeEstado = ends.get("nomeEstado");
            endAuxiliar.put(ends.get("codEndereco"), ends.get("codEndereco"));
            //System.out.println("Linha 02!!");
        }
        index++;
    }
    // montando a string que ir compor o cabealho do contrato
    String cab1 = "Pelo presente instrumento particular, de um lado ";
    String cab2 = autoMaster;
    String cab3 = ", atuante no setor de segurana de monitoramento de veculos, inscrita no ";
    String cab4 = "CNPJ: " + cnpjUn;
    String cab5 = " localizada na ";
    String cab6 = logradouroUn;
    String cab7 = " n ";
    String cab8 = numeroUn;
    String cab9 = ", ";
    String cab10 = bairroUn;
    String cab11 = ", ";
    String cab12 = cidadeUn;
    String cab13 = "/";
    String cab14 = ufUn;
    String cab15 = ", doravante ";
    String cab16 = "designada simplesmente ";
    String cab17 = "AUTO MASTER MONITORAMENTO";
    String cab18 = ", e de outro lado ";
    String cab19 = clienteAuxiliar.get(0).get("nomeCliente")
            + ((tipoCliente == 1) ? ", CPF: " + formataCPF(cpfCnpj) : ", CNPJ: " + formataCNPJ(cpfCnpj));
    String cab20 = " localizado a ";
    String cab21 = logradouro;
    String cab22 = ", bairro: ";
    String cab23 = bairro;
    String cab24 = ", N ";
    String cab25 = numero;
    String cab255 = ", CIDADE : ";
    String cab26 = cidade;
    String cab266 = ", CEP : ";
    String cab2661 = cep;
    String cab27 = ", adquirente do RASTREADOR PARA AUTOS AUTO MASTER, ";
    String cab28 = "doravante denominado simplesmente como CONTRATANTE, firmam o presente CONTRATO DE PRESTAO DE SERVIOS, "
            + "conforme condies e clusulas adiante mencionadas:";
    //busca no BD os veculos do cliente
    VeiculoDAO veiculoDAO = new VeiculoDAO();
    ArrayList<TreeMap<String, String>> veiculos = veiculoDAO.buscarVeiculoAtivoPorCliente(codCliente);
    //incrementa a string somente com as placas dos veculos do cliente
    String listaDePlacas = "";
    for (int i = 0; i < veiculos.size(); i++) {
        if (i == veiculos.size() - 1) {
            listaDePlacas = " " + listaDePlacas + veiculos.get(i).get("placa");
        } else {
            listaDePlacas = " " + listaDePlacas + veiculos.get(i).get("placa") + ",";
        }
    }
    String textPlacas1 = "3.1 - Os veculo(s) listado(s) a seguir, com sua(s) respectiva(s) data(s) de instalao, so identificado(s) pela(s) placa(s): ";
    String textPlacas2 = listaDePlacas;
    String textPlacas3 = ", sendo vedada a remoo do aparelho rastreador desses(s) veiculo(s), sem prvia e expressa anuncia da Contratada, "
            + "que se dar sempre por escrito, sob pena de aplicao da penalidade prevista por infrao contratual;";
    // PDF que  o template da aplicao
    PdfReader reader = new PdfReader(
            "D:\\Users\\Adriano\\Documents\\NetBeansProjects\\JRGWT\\web\\contratos\\contrato_venda.pdf");
    //PDF resultante
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(
            "D:\\Users\\Adriano\\Documents\\NetBeansProjects\\JRGWT\\web\\contratos\\contrato_venda01.pdf"));

    // ir adicionar na primeira pgina do PDF resultante
    PdfContentByte cabecalho = stamper.getOverContent(1);
    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumText = new ColumnText(cabecalho);
    // definie as configuraes de fonte para o objeto frase
    BaseFont normal = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
    BaseFont negrito = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
    //cria uma frase
    Phrase phraseCabecalho = new Phrase();
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab1);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab2);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab3);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab4);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab5);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab6);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab7);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab8);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab9);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab10);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab11);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab12);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab13);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab14);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab15);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab16);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab17);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab18);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab19);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab20);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab21);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab22);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab23);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab24);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab25);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab255);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab26);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab266);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab2661);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab27);
    //adiciona fonte para a frase
    phraseCabecalho.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseCabecalho.add(cab28);
    //adicionar a frase no contener do PDF
    collumText.addText(phraseCabecalho);
    // escolhe alinhamento justificado para o objeto collumText
    collumText.setAlignment(3);
    //justifica a primeira linha
    collumText.setAdjustFirstLine(true);
    //dar uma identao de 30pt na primeira linha do collumText
    collumText.setIndent(30);
    //posiciona o collumText na pgina 1
    collumText.setSimpleColumn(40, 560, 560, 760);
    //escreve o collumText no PDF
    collumText.go(false);
    // ITENS ADICIONADOS A P?GINA 04 //
    // ir adicionar na quarta pgina do PDF resultante
    PdfContentByte placas = stamper.getOverContent(4);
    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextPlacas = new ColumnText(placas);
    // definie as configuraes de fonte para o objeto frase
    //BaseFont bfPlacas = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
    //cria uma frase
    Phrase phrasePlacas = new Phrase();
    //adiciona fonte para a frase
    phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phrasePlacas.add(textPlacas1);
    //adiciona fonte para a frase
    phrasePlacas.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phrasePlacas.add(textPlacas2);
    //adiciona fonte para a frase
    phrasePlacas.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phrasePlacas.add(textPlacas3);
    //adicionar a frase no contener do PDF
    collumTextPlacas.addText(phrasePlacas);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextPlacas.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextPlacas.setAlignment(3);
    //justifica a primeira linha
    collumTextPlacas.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextPlacas.setSimpleColumn(40, 600, 560, 800);
    //escreve o collumText no PDF
    collumTextPlacas.go(false);

    // ITENS ADICIONADOS A P?GINA 06 //
    String dia = new SimpleDateFormat("dd").format(dataAtual);
    String ano = new SimpleDateFormat("yyyy").format(dataAtual);
    //form.setFieldProperty("txtDataLocal", "txtDataLocal", PdfFormField., inst);
    int mes = dataAtual.getMonth();
    String mesEscrito = null;
    switch (mes) {
    case 0:
        mesEscrito = "janeiro";
        break;
    case 1:
        mesEscrito = "favereiro";
        break;
    case 2:
        mesEscrito = "maro";
        break;
    case 3:
        mesEscrito = "abril";
        break;
    case 4:
        mesEscrito = "maio";
        break;
    case 5:
        mesEscrito = "junho";
        break;
    case 6:
        mesEscrito = "julho";
        break;
    case 7:
        mesEscrito = "agosto";
        break;
    case 8:
        mesEscrito = "setembro";
        break;
    case 9:
        mesEscrito = "outubro";
        break;
    case 10:
        mesEscrito = "novembro";
        break;
    case 11:
        mesEscrito = "dezembro";
        break;
    }
    String textRodape1 = "Fica eleito o foro da Comarca de ";
    String textRodape12 = cidadeUn;
    String textRodape121 = ", estado do ";
    String textRodape122 = nomeEstadoUn;
    String textRodape123 = ", para dirimir eventuais dvidas oriundas do presente contrato, "
            + "quer na sua aplicao ou interpretao, com renncia a qualquer outro por mais "
            + "privilegiado que seja. E por estarem assim compromissados, firmam o presente termo "
            + "em 02 (duas) vias de igual teor e forma na presena de 2 (duas) testemunhas abaixo assinadas.";

    String textRodape2 = cidadeUn + " , " + nomeEstadoUn + "    " + dia + "  de  " + mesEscrito + "  de  " + ano
            + ".";
    String textRodape3 = autoMaster + "\n" + cnpjUn;
    String textRodape4 = clienteAuxiliar.get(0).get("nomeCliente") + "\n"
            + ((tipoCliente == 1) ? "CPF: " + formataCPF(cpfCnpj) : "CNPJ: " + formataCNPJ(cpfCnpj));
    // ir adicionar na quarta pgina do PDF resultante
    PdfContentByte rodape = stamper.getOverContent(6);
    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodape1 = new ColumnText(rodape);
    //cria uma frase
    Phrase phraseRadape1 = new Phrase();
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape1);
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape12);
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape121);
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape122);
    //adiciona fonte para a frase
    phraseRadape1.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape1.add(textRodape123);
    //adicionar a frase no contener do PDF
    collumTextRodape1.addText(phraseRadape1);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodape1.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodape1.setAlignment(3);
    //justifica a primeira linha
    collumTextRodape1.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextRodape1.setSimpleColumn(40, 580, 560, 780);
    //escreve o collumText no PDF
    collumTextRodape1.go(false);

    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodape2 = new ColumnText(rodape);
    //cria uma frase
    Phrase phraseRadape2 = new Phrase();
    //adiciona fonte para a frase
    phraseRadape2.setFont(new com.itextpdf.text.Font(normal, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape2.add(textRodape2);
    //adicionar a frase no contener do PDF
    collumTextRodape2.addText(phraseRadape2);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodape2.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodape2.setAlignment(2);
    //justifica a primeira linha
    collumTextRodape2.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextRodape2.setSimpleColumn(40, 580, 560, 680);
    //escreve o collumText no PDF
    collumTextRodape2.go(false);

    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodape3 = new ColumnText(rodape);
    //cria uma frase
    Phrase phraseRadape3 = new Phrase();
    //adiciona fonte para a frase
    phraseRadape3.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape3.add(textRodape3);
    //adicionar a frase no contener do PDF
    collumTextRodape3.addText(phraseRadape3);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodape3.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodape3.setAlignment(1);
    //justifica a primeira linha
    collumTextRodape3.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextRodape3.setSimpleColumn(250, 460, 600, 560);
    //escreve o collumText no PDF
    collumTextRodape3.go(false);

    // cria um objeto que ir acomodar a o PdfContentByte
    ColumnText collumTextRodape4 = new ColumnText(rodape);
    //cria uma frase
    Phrase phraseRadape4 = new Phrase();
    //adiciona fonte para a frase
    phraseRadape4.setFont(new com.itextpdf.text.Font(negrito, 9.6f));
    //adiciona a string que ir compor a frase
    phraseRadape4.add(textRodape4);
    //adicionar a frase no contener do PDF
    collumTextRodape4.addText(phraseRadape4);
    //dar uma identao de 30pt na primeira linha do collumText
    collumTextRodape4.setIndent(30);
    // escolhe alinhamento justificado para o objeto collumText
    collumTextRodape4.setAlignment(1);
    //justifica a primeira linha
    collumTextRodape4.setAdjustFirstLine(true);
    //posiciona o collumText na pgina 4
    collumTextRodape4.setSimpleColumn(25, 460, 200, 560);
    //escreve o collumText no PDF
    collumTextRodape4.go(false);

    stamper.close();
    reader.close();
}

From source file:com.dexter.fms.mbean.ReportsMBean.java

@SuppressWarnings("unchecked")
public void createPDF(int type, String filename, int pageType) {
    try {// ww w  . jav  a2  s. c  om
        FacesContext context = FacesContext.getCurrentInstance();
        Document document = new Document();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        PdfWriter writer = PdfWriter.getInstance(document, baos);
        writer.setPageEvent(new HeaderFooter());
        writer.setBoxSize("footer", new Rectangle(36, 54, 559, 788));
        if (!document.isOpen()) {
            document.open();
        }

        switch (pageType) {
        case 1:
            document.setPageSize(PageSize.A4);
            break;
        case 2:
            document.setPageSize(PageSize.A4.rotate());
            break;
        }
        document.addAuthor("FMS");
        document.addCreationDate();
        document.addCreator("FMS");
        document.addSubject("Report");
        document.addTitle(getReport_title());

        PdfPTable headerTable = new PdfPTable(1);

        ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext()
                .getContext();
        String logo = servletContext.getRealPath("") + File.separator + "resources" + File.separator + "images"
                + File.separator + "satraklogo.jpg";

        Hashtable<String, Object> params = new Hashtable<String, Object>();
        params.put("partner", dashBean.getUser().getPartner());
        GeneralDAO gDAO = new GeneralDAO();
        Object pSettingsObj = gDAO.search("PartnerSetting", params);
        PartnerSetting setting = null;
        if (pSettingsObj != null) {
            Vector<PartnerSetting> pSettingsList = (Vector<PartnerSetting>) pSettingsObj;
            for (PartnerSetting e : pSettingsList) {
                setting = e;
            }
        }
        gDAO.destroy();

        PdfPCell c = null;
        if (setting != null && setting.getLogo() != null) {
            Image logoImg = Image.getInstance(setting.getLogo());
            logoImg.scaleToFit(212, 51);
            c = new PdfPCell(logoImg);
        } else
            c = new PdfPCell(Image.getInstance(logo));
        c.setBorder(0);
        c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
        headerTable.addCell(c);

        Paragraph stars = new Paragraph(20);
        stars.add(Chunk.NEWLINE);
        stars.setSpacingAfter(20);

        c = new PdfPCell(stars);
        c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
        c.setBorder(0);
        headerTable.addCell(c);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
            //font exception
        }
        Font font = new Font(helvetica, 16, Font.NORMAL | Font.BOLD);

        c = new PdfPCell(new Paragraph(getReport_title(), font));
        c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
        c.setBorder(0);
        headerTable.addCell(c);

        if (getReport_start_dt() != null && getReport_end_dt() != null) {
            stars = new Paragraph(20);
            stars.add(Chunk.NEWLINE);
            stars.setSpacingAfter(10);

            c = new PdfPCell(stars);
            c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
            c.setBorder(0);
            headerTable.addCell(c);

            new Font(helvetica, 12, Font.NORMAL);
            Paragraph ch = new Paragraph("From " + getReport_start_dt() + " to " + getReport_end_dt(), font);
            c = new PdfPCell(ch);
            c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
            headerTable.addCell(c);
        }
        stars = new Paragraph(20);
        stars.add(Chunk.NEWLINE);
        stars.setSpacingAfter(20);

        c = new PdfPCell(stars);
        c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
        c.setBorder(0);
        headerTable.addCell(c);
        document.add(headerTable);

        PdfPTable pdfTable = exportPDFTable(type);
        if (pdfTable != null)
            document.add(pdfTable);

        //Keep modifying your pdf file (add pages and more)

        document.close();
        String fileName = filename + ".pdf";

        writeFileToResponse(context.getExternalContext(), baos, fileName, "application/pdf");

        context.responseComplete();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:com.dexter.fms.mbean.ReportsMBean.java

@SuppressWarnings("deprecation")
private PdfPTable exportPDFTable(int type) {
    int numberOfColumns = 0;
    PdfPTable pdfTable = null;/*from w  w w.j a v a  2  s .c o m*/
    switch (type) {
    case 1: // all users report
    {
        numberOfColumns = 7;
        pdfTable = new PdfPTable(numberOfColumns);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
        }
        Font font = new Font(helvetica, 8, Font.BOLDITALIC);

        pdfTable.addCell(new Paragraph("User name", font));
        pdfTable.addCell(new Paragraph("Full name", font));
        pdfTable.addCell(new Paragraph("Email", font));
        pdfTable.addCell(new Paragraph("Department", font));
        pdfTable.addCell(new Paragraph("Region", font));
        pdfTable.addCell(new Paragraph("Phone", font));
        pdfTable.addCell(new Paragraph("Position", font));

        font = new Font(helvetica, 8, Font.NORMAL);

        if (getAllUsers() != null) {
            for (PartnerUser e : getAllUsers()) {
                pdfTable.addCell(new Paragraph(e.getUsername(), font));
                pdfTable.addCell(new Paragraph(
                        e.getPersonel().getFirstname() + " " + e.getPersonel().getLastname(), font));
                pdfTable.addCell(new Paragraph(e.getPersonel().getEmail(), font));
                pdfTable.addCell(new Paragraph(
                        (e.getPersonel().getDepartment() != null) ? e.getPersonel().getDepartment().getName()
                                : "N/A",
                        font));
                pdfTable.addCell(new Paragraph(
                        (e.getPersonel().getRegion() != null) ? e.getPersonel().getRegion().getName() : "N/A",
                        font));
                pdfTable.addCell(new Paragraph(e.getPersonel().getPhone(), font));
                pdfTable.addCell(new Paragraph(e.getPersonel().getPosition(), font));
            }
        }
        break;
    }
    case 2: // due driver's license
    {
        numberOfColumns = 6;
        pdfTable = new PdfPTable(numberOfColumns);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
        }
        Font font = new Font(helvetica, 8, Font.BOLDITALIC);

        pdfTable.addCell(new Paragraph("Full Name", font));
        pdfTable.addCell(new Paragraph("Dept", font));
        pdfTable.addCell(new Paragraph("Region", font));
        pdfTable.addCell(new Paragraph("Phone", font));
        pdfTable.addCell(new Paragraph("Position", font));
        pdfTable.addCell(new Paragraph("License Due Date", font));

        font = new Font(helvetica, 8, Font.NORMAL);

        if (getDueDriversLic() != null) {
            for (DriverLicense e : getDueDriversLic()) {
                pdfTable.addCell(new Paragraph(e.getDriver().getPersonel().getFirstname() + " "
                        + e.getDriver().getPersonel().getLastname(), font));
                pdfTable.addCell(new Paragraph(e.getDriver().getPersonel().getDepartment() != null
                        ? e.getDriver().getPersonel().getDepartment().getName()
                        : "N/A", font));
                pdfTable.addCell(new Paragraph(e.getDriver().getPersonel().getRegion() != null
                        ? e.getDriver().getPersonel().getRegion().getName()
                        : "N/A", font));
                pdfTable.addCell(new Paragraph(e.getDriver().getPersonel().getPhone(), font));
                pdfTable.addCell(new Paragraph(e.getDriver().getPersonel().getPosition(), font));
                pdfTable.addCell(new Paragraph(e.getLic_end_dt().toLocaleString(), font));
            }
        }
        break;
    }
    case 3: // accidents
    {
        numberOfColumns = 8;
        pdfTable = new PdfPTable(numberOfColumns);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
        }
        Font font = new Font(helvetica, 8, Font.BOLDITALIC);

        pdfTable.addCell(new Paragraph("Reg No.", font));
        pdfTable.addCell(new Paragraph("Accident Date", font));
        pdfTable.addCell(new Paragraph("Description", font));
        pdfTable.addCell(new Paragraph("Driver", font));
        pdfTable.addCell(new Paragraph("Driver Comment", font));
        pdfTable.addCell(new Paragraph("Police Officer", font));
        pdfTable.addCell(new Paragraph("Police Station", font));
        pdfTable.addCell(new Paragraph("Police Comment", font));

        font = new Font(helvetica, 8, Font.NORMAL);

        if (getVehicleAccidents() != null) {
            for (VehicleAccident e : getVehicleAccidents()) {
                pdfTable.addCell(new Paragraph(e.getVehicle().getRegistrationNo(), font));
                pdfTable.addCell(new Paragraph(e.getAccident_dt().toLocaleString(), font));
                pdfTable.addCell(new Paragraph(e.getAccidentDescription(), font));
                pdfTable.addCell(new Paragraph(e.getDriver_name(), font));
                pdfTable.addCell(new Paragraph(e.getDriverComment(), font));
                pdfTable.addCell(new Paragraph(e.getPoliceOfficer(), font));
                pdfTable.addCell(new Paragraph(e.getPoliceStation(), font));
                pdfTable.addCell(new Paragraph(e.getPoliceComment(), font));
            }
        }
        break;
    }
    case 4: // vehicles by brand
    {
        numberOfColumns = 4;
        pdfTable = new PdfPTable(numberOfColumns);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
        }
        Font font = new Font(helvetica, 8, Font.BOLDITALIC);

        pdfTable.addCell(new Paragraph("Make", font));
        pdfTable.addCell(new Paragraph("Model", font));
        pdfTable.addCell(new Paragraph("Year", font));
        pdfTable.addCell(new Paragraph("Reg No.", font));

        font = new Font(helvetica, 8, Font.NORMAL);

        if (getVehiclesByBrand() != null) {
            for (Vehicle e : getVehiclesByBrand()) {
                pdfTable.addCell(new Paragraph(e.getModel().getMaker().getName(), font));
                pdfTable.addCell(new Paragraph(e.getModel().getName(), font));
                pdfTable.addCell(new Paragraph(e.getModel().getYear(), font));
                pdfTable.addCell(new Paragraph(e.getRegistrationNo(), font));
            }
        }
        break;
    }
    case 5: // routine maintenance
    {
        numberOfColumns = 8;
        pdfTable = new PdfPTable(numberOfColumns);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
        }
        Font font = new Font(helvetica, 8, Font.BOLDITALIC);

        pdfTable.addCell(new Paragraph("Reg No.", font));
        pdfTable.addCell(new Paragraph("Requester", font));
        pdfTable.addCell(new Paragraph("Description", font));
        pdfTable.addCell(new Paragraph("Start Date", font));
        pdfTable.addCell(new Paragraph("Initial Cost", font));
        pdfTable.addCell(new Paragraph("Status", font));
        pdfTable.addCell(new Paragraph("Close Date", font));
        pdfTable.addCell(new Paragraph("Final Cost", font));

        font = new Font(helvetica, 8, Font.NORMAL);

        if (getRmaints() != null) {
            for (VehicleRoutineMaintenance e : getRmaints()) {
                pdfTable.addCell(new Paragraph(e.getVehicle().getRegistrationNo(), font));
                pdfTable.addCell(new Paragraph(e.getCreatedBy().getPersonel().getFirstname() + " "
                        + e.getCreatedBy().getPersonel().getLastname(), font));
                pdfTable.addCell(new Paragraph(e.getDescription(), font));
                pdfTable.addCell(new Paragraph(e.getStart_dt().toLocaleString(), font));
                pdfTable.addCell(new Paragraph(e.getInitial_amount().toPlainString(), font));
                pdfTable.addCell(new Paragraph(e.getStatus(), font));
                pdfTable.addCell(new Paragraph(e.getClose_dt().toLocaleString(), font));
                pdfTable.addCell(new Paragraph(e.getClosed_amount().toPlainString(), font));
            }
        }
        break;
    }
    case 6: // ad hoc maintenance
    {
        numberOfColumns = 8;
        pdfTable = new PdfPTable(numberOfColumns);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
        }
        Font font = new Font(helvetica, 8, Font.BOLDITALIC);

        pdfTable.addCell(new Paragraph("Reg No.", font));
        pdfTable.addCell(new Paragraph("Requester", font));
        pdfTable.addCell(new Paragraph("Description", font));
        pdfTable.addCell(new Paragraph("Start Date", font));
        pdfTable.addCell(new Paragraph("Initial Cost", font));
        pdfTable.addCell(new Paragraph("Status", font));
        pdfTable.addCell(new Paragraph("Close Date", font));
        pdfTable.addCell(new Paragraph("Final Cost", font));

        font = new Font(helvetica, 8, Font.NORMAL);

        if (getAdhocmaints() != null) {
            for (VehicleAdHocMaintenance e : getAdhocmaints()) {
                pdfTable.addCell(new Paragraph(e.getVehicle().getRegistrationNo(), font));
                pdfTable.addCell(new Paragraph(e.getCreatedBy().getPersonel().getFirstname() + " "
                        + e.getCreatedBy().getPersonel().getLastname(), font));
                pdfTable.addCell(new Paragraph(e.getDescription(), font));
                pdfTable.addCell(new Paragraph(e.getStart_dt().toLocaleString(), font));
                pdfTable.addCell(new Paragraph(e.getInitial_cost().toPlainString(), font));
                pdfTable.addCell(new Paragraph(e.getStatus(), font));
                pdfTable.addCell(new Paragraph(e.getClose_dt().toLocaleString(), font));
                pdfTable.addCell(new Paragraph(e.getClosed_cost().toPlainString(), font));
            }
        }
        break;
    }
    case 7: // active accidents
    {
        numberOfColumns = 8;
        pdfTable = new PdfPTable(numberOfColumns);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
        }
        Font font = new Font(helvetica, 8, Font.BOLDITALIC);

        pdfTable.addCell(new Paragraph("Reg No.", font));
        pdfTable.addCell(new Paragraph("Accident Date", font));
        pdfTable.addCell(new Paragraph("Description", font));
        pdfTable.addCell(new Paragraph("Driver Name", font));
        pdfTable.addCell(new Paragraph("Driver Comment", font));
        pdfTable.addCell(new Paragraph("Police Name", font));
        pdfTable.addCell(new Paragraph("Station Name", font));
        pdfTable.addCell(new Paragraph("Police Comment", font));

        font = new Font(helvetica, 8, Font.NORMAL);

        if (getActiveAccidents() != null) {
            for (VehicleAccident e : getActiveAccidents()) {
                pdfTable.addCell(new Paragraph(e.getVehicle().getRegistrationNo(), font));
                pdfTable.addCell(new Paragraph(e.getAccident_dt().toLocaleString(), font));
                pdfTable.addCell(new Paragraph(e.getAccidentDescription(), font));
                pdfTable.addCell(new Paragraph(e.getDriver_name(), font));
                pdfTable.addCell(new Paragraph(e.getDriverComment(), font));
                pdfTable.addCell(new Paragraph(e.getPoliceOfficer(), font));
                pdfTable.addCell(new Paragraph(e.getPoliceStation(), font));
                pdfTable.addCell(new Paragraph(e.getPoliceComment(), font));
            }
        }
        break;
    }
    case 8: // coporate trips
    {
        numberOfColumns = 9;
        pdfTable = new PdfPTable(numberOfColumns);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
        }
        Font font = new Font(helvetica, 6, Font.BOLDITALIC);

        pdfTable.addCell(new Paragraph("Requester", font));
        pdfTable.addCell(new Paragraph("Department", font));
        pdfTable.addCell(new Paragraph("Reg No.", font));
        pdfTable.addCell(new Paragraph("Departure Location", font));
        pdfTable.addCell(new Paragraph("Arrival Location", font));
        pdfTable.addCell(new Paragraph("Departure Date and Time", font));
        pdfTable.addCell(new Paragraph("Est. Arrival Date and Time", font));
        pdfTable.addCell(new Paragraph("Act. Arrival Date and Time", font));
        pdfTable.addCell(new Paragraph("Status", font));

        font = new Font(helvetica, 6, Font.NORMAL);

        if (getCorTrips() != null) {
            for (CorporateTrip e : getCorTrips()) {
                pdfTable.addCell(
                        new Paragraph(e.getStaff().getFirstname() + " " + e.getStaff().getLastname(), font));
                pdfTable.addCell(new Paragraph(
                        (e.getStaff().getDepartment() != null) ? e.getStaff().getDepartment().getName() : "N/A",
                        font));
                pdfTable.addCell(new Paragraph(
                        e.getVehicle() != null ? e.getVehicle().getRegistrationNo() : "N/A", font));
                pdfTable.addCell(new Paragraph(e.getDepartureLocation(), font));
                pdfTable.addCell(new Paragraph(e.getArrivalLocation(), font));
                pdfTable.addCell(new Paragraph(e.getDepartureDateTime().toLocaleString(), font));
                pdfTable.addCell(new Paragraph(e.getEstimatedArrivalDateTime().toLocaleString(), font));
                pdfTable.addCell(new Paragraph(
                        e.getCompleteRequestDateTime() != null ? e.getCompleteRequestDateTime().toLocaleString()
                                : "N/A",
                        font));
                pdfTable.addCell(new Paragraph(e.getTripStatus(), font));
            }
        }
        break;
    }
    case 9: // expense report
    {
        numberOfColumns = 4;
        pdfTable = new PdfPTable(numberOfColumns);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
        }
        Font font = new Font(helvetica, 8, Font.BOLDITALIC);

        pdfTable.addCell(new Paragraph("Type", font));
        pdfTable.addCell(new Paragraph("Date", font));
        pdfTable.addCell(new Paragraph("Amount", font));
        pdfTable.addCell(new Paragraph("Detail", font));

        font = new Font(helvetica, 8, Font.NORMAL);

        if (getExpenses() != null) {
            for (Expense e : getExpenses()) {
                pdfTable.addCell(new Paragraph(e.getType().getName(), font));
                pdfTable.addCell(new Paragraph(e.getExpense_dt().toLocaleString(), font));
                pdfTable.addCell(new Paragraph("" + e.getAmount(), font));
                pdfTable.addCell(new Paragraph(e.getRemarks(), font));
            }
        }
        break;
    }
    case 10: // vehicle ages
    {
        numberOfColumns = 6;
        pdfTable = new PdfPTable(numberOfColumns);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
        }
        Font font = new Font(helvetica, 8, Font.BOLDITALIC);

        pdfTable.addCell(new Paragraph("Make", font));
        pdfTable.addCell(new Paragraph("Model", font));
        pdfTable.addCell(new Paragraph("Year", font));
        pdfTable.addCell(new Paragraph("Reg No.", font));
        pdfTable.addCell(new Paragraph("Date of Purchase", font));
        pdfTable.addCell(new Paragraph("Age (in years)", font));

        font = new Font(helvetica, 8, Font.NORMAL);

        if (getVehiclesAges() != null) {
            for (Vehicle e : getVehiclesAges()) {
                pdfTable.addCell(new Paragraph(
                        e.getModel().getMaker() != null ? e.getModel().getMaker().getName() : "N/A", font));
                pdfTable.addCell(new Paragraph(e.getModel() != null ? e.getModel().getName() : "N/A", font));
                pdfTable.addCell(new Paragraph(e.getModel() != null ? e.getModel().getYear() : "N/A", font));
                pdfTable.addCell(new Paragraph(e.getRegistrationNo(), font));
                pdfTable.addCell(new Paragraph(
                        e.getPurchaseDate() != null ? e.getPurchaseDate().toLocaleString() : "N/A", font));
                pdfTable.addCell(new Paragraph("" + e.getAge(), font));
            }
        }
        break;
    }
    case 11: // vehicle fuelings
    {
        numberOfColumns = 5;
        pdfTable = new PdfPTable(numberOfColumns);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
        }
        Font font = new Font(helvetica, 8, Font.BOLDITALIC);

        pdfTable.addCell(new Paragraph("Date", font));
        pdfTable.addCell(new Paragraph("Reg No.", font));
        pdfTable.addCell(new Paragraph("Litres", font));
        pdfTable.addCell(new Paragraph("Amount", font));
        pdfTable.addCell(new Paragraph("Source", font));

        font = new Font(helvetica, 8, Font.NORMAL);

        if (getFuelings() != null) {
            for (VehicleFueling e : getFuelings()) {
                pdfTable.addCell(new Paragraph(e.getCaptured_dt().toLocaleString(), font));
                pdfTable.addCell(new Paragraph(e.getVehicle().getRegistrationNo(), font));
                pdfTable.addCell(new Paragraph("" + e.getLitres(), font));
                pdfTable.addCell(new Paragraph("" + e.getAmt(), font));
                pdfTable.addCell(new Paragraph(e.getSource(), font));
            }
        }
        break;
    }
    case 12: // due vehicle licenses
    {
        numberOfColumns = 5;
        pdfTable = new PdfPTable(numberOfColumns);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
        }
        Font font = new Font(helvetica, 8, Font.BOLDITALIC);

        pdfTable.addCell(new Paragraph("Reg No.", font));
        pdfTable.addCell(new Paragraph("Fleet", font));
        pdfTable.addCell(new Paragraph("Make", font));
        pdfTable.addCell(new Paragraph("Model", font));
        pdfTable.addCell(new Paragraph("License Due Date", font));

        font = new Font(helvetica, 8, Font.NORMAL);

        if (getDueVehicleLicenses() != null) {
            for (VehicleLicense e : getDueVehicleLicenses()) {
                pdfTable.addCell(new Paragraph(e.getVehicle().getRegistrationNo(), font));
                pdfTable.addCell(new Paragraph(e.getVehicle().getFleet().getName(), font));
                pdfTable.addCell(new Paragraph(
                        e.getVehicle().getModel() != null ? e.getVehicle().getModel().getMaker().getName()
                                : "N/A",
                        font));
                pdfTable.addCell(new Paragraph(
                        e.getVehicle().getModel() != null ? e.getVehicle().getModel().getName() : "N/A", font));
                pdfTable.addCell(new Paragraph(e.getLic_end_dt().toLocaleString(), font));
            }
        }
        break;
    }
    }

    pdfTable.setWidthPercentage(100);

    return pdfTable;
}

From source file:com.dexter.fuelcard.mbean.UtilMBean.java

public byte[] createInvoicePDF(int pageType, String title, String dateperiod, String amount, String chargeType,
        String chargeAmount, String total) {
    try {/* w ww. java2  s.c o m*/
        Document document = new Document();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        PdfWriter writer = PdfWriter.getInstance(document, baos);
        writer.setPageEvent(new HeaderFooter());
        writer.setBoxSize("footer", new Rectangle(36, 54, 559, 788));
        if (!document.isOpen()) {
            document.open();
        }

        switch (pageType) {
        case 1:
            document.setPageSize(PageSize.A4);
            break;
        case 2:
            document.setPageSize(PageSize.A4.rotate());
            break;
        }
        document.addAuthor("FUELCARD");
        document.addCreationDate();
        document.addCreator("FUELCARD");
        document.addSubject("Invoice");
        document.addTitle(title);

        PdfPTable headerTable = new PdfPTable(1);

        ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext()
                .getContext();
        String logo = servletContext.getRealPath("") + File.separator + "resources" + File.separator + "images"
                + File.separator + "satraklogo.jpg";

        PdfPCell c = new PdfPCell(Image.getInstance(logo));
        c.setBorder(0);
        c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
        headerTable.addCell(c);

        Paragraph stars = new Paragraph(20);
        stars.add(Chunk.NEWLINE);
        stars.setSpacingAfter(20);

        c = new PdfPCell(stars);
        c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
        c.setBorder(0);
        headerTable.addCell(c);

        BaseFont helvetica = null;
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
            //font exception
        }
        Font font = new Font(helvetica, 16, Font.NORMAL | Font.BOLD);

        c = new PdfPCell(new Paragraph(title, font));
        c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
        c.setBorder(0);
        headerTable.addCell(c);

        if (dateperiod != null) {
            stars = new Paragraph(20);
            stars.add(Chunk.NEWLINE);
            stars.setSpacingAfter(10);

            c = new PdfPCell(stars);
            c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
            c.setBorder(0);
            headerTable.addCell(c);

            new Font(helvetica, 12, Font.NORMAL);
            Paragraph ch = new Paragraph("For " + dateperiod, font);
            c = new PdfPCell(ch);
            c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
            headerTable.addCell(c);
        }
        stars = new Paragraph(20);
        stars.add(Chunk.NEWLINE);
        stars.setSpacingAfter(20);

        c = new PdfPCell(stars);
        c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
        c.setBorder(0);
        headerTable.addCell(c);
        document.add(headerTable);

        PdfPTable pdfTable = new PdfPTable(4);
        try {
            helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
        } catch (Exception e) {
        }
        font = new Font(helvetica, 8, Font.BOLDITALIC);

        pdfTable.addCell(new Paragraph("Charge Type", font)); // % per transaction or flat per license
        pdfTable.addCell(new Paragraph("Charge Amount", font)); // the amount of the charge setting

        if (chargeType.equalsIgnoreCase("Percent-Per-Tran")) {
            pdfTable.addCell(new Paragraph("Total Amount", font)); // the amount of the charge setting
        } else {
            pdfTable.addCell(new Paragraph("Total License", font)); // the amount of the charge setting
        }
        //pdfTable.addCell(new Paragraph("Description", font)); // the 
        pdfTable.addCell(new Paragraph("Amount Due", font));

        font = new Font(helvetica, 8, Font.NORMAL);
        pdfTable.addCell(new Paragraph(chargeType, font));
        pdfTable.addCell(new Paragraph(chargeAmount, font));
        pdfTable.addCell(new Paragraph(total, font));
        pdfTable.addCell(new Paragraph(amount, font));

        pdfTable.setWidthPercentage(100);
        if (pdfTable != null)
            document.add(pdfTable);

        //Keep modifying your pdf file (add pages and more)

        document.close();

        return baos.toByteArray();
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}

From source file:com.github.albfernandez.joinpdf.JoinPdf.java

License:Open Source License

private void writePageNumber(final PdfContentByte cb) throws DocumentException, IOException {
    if (isPrintPageNumbers()) {
        Rectangle size = cb.getPdfDocument().getPageSize();
        BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        this.actualPage++;
        cb.beginText();/*from w w w . j a va 2s  . c om*/
        cb.setFontAndSize(bf, 9);
        cb.showTextAligned(PdfContentByte.ALIGN_CENTER, this.actualPage + " of " + this.totalPages,
                size.getWidth() / 2, 10, 0);
        cb.endText();
    }
}