Example usage for com.itextpdf.text.pdf ColumnText setSimpleColumn

List of usage examples for com.itextpdf.text.pdf ColumnText setSimpleColumn

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf ColumnText setSimpleColumn.

Prototype

public void setSimpleColumn(final float llx, final float lly, final float urx, final float ury) 

Source Link

Document

Simplified method for rectangular columns.

Usage

From source file:adams.flow.transformer.pdfproclet.AbstractPdfProclet.java

License:Open Source License

/**
 * Adds the column text to the document at the specified location.
 * Dimension: x to page width, 0 to y.//from w  w  w . j  ava2s. co m
 *
 * @param generator   the context
 * @return      the column text
 * @throws Exception   if adding fails
 */
protected ColumnText addColumnTextAt(PDFGenerator generator, float x, float y) throws Exception {
    ColumnText result;

    result = new ColumnText(generator.getWriter().getDirectContent());
    result.setSimpleColumn(x, y, generator.getDocument().getPageSize().getWidth(), 0);

    return result;
}

From source file:be.roots.taconic.pricingguide.service.PDFServiceImpl.java

License:Open Source License

private byte[] enableLinkToWebsite(byte[] pdf, Toc tableOfContents) throws IOException, DocumentException {

    try (final ByteArrayOutputStream bos = new ByteArrayOutputStream()) {

        final PdfReader reader = new PdfReader(pdf);

        final PdfStamper stamper = new PdfStamper(reader, bos);

        for (int i = tableOfContents.getFirstPageOfToc(); i <= tableOfContents
                .getLastPageNumberOfModelPages(); i++) {

            final Chunk websiteChunk = new Chunk("..................");
            websiteChunk.setAction(new PdfAction(websiteLink));

            ColumnText ct = new ColumnText(stamper.getUnderContent(i));
            ct.setSimpleColumn(335, 10, 400, 35);
            ct.addText(new Phrase(websiteChunk));
            ct.go();//from  w  w w.  jav a  2 s.  co  m

            final Chunk emailChunk = new Chunk(".........................................");
            emailChunk.setAction(new PdfAction(emailLink));

            ct = new ColumnText(stamper.getUnderContent(i));
            ct.setSimpleColumn(240, 10, 330, 35);
            ct.addText(new Phrase(emailChunk));
            ct.go();

        }

        stamper.close();
        reader.close();
        return bos.toByteArray();

    }

}

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

public void contratoComodato(HttpServletRequest request, HttpServletResponse response) throws IOException {
    try {/*  ww w .  java 2  s. c om*/

        // 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   www  .j av a  2 s. c  om*/

        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  ww  . j  av  a  2 s .com*/

        // 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;//from  w w  w.j  a  va 2s  . 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("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;/*from www  .  j a  v a  2 s  . co 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;/*  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 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.ideationdesignservices.txtbook.pdf.TxtBookPdf.java

public int createContentPagesConversation(Document document) throws DocumentException {
    float[][] COLUMNS;
    document.newPage();/* ww w.  j  a  v  a2  s.  c o  m*/
    ColumnText ct = new ColumnText(this.writer.getDirectContent());
    this.currentColumn = 0;
    if (COLUMNS_REG[0][0] == Txtbook.leftMargin(this.writer, document, this.settings.addFrontCover)) {
        COLUMNS = COLUMNS_REG;
    } else {
        COLUMNS = COLUMNS_ALT;
    }
    ct.setSimpleColumn(COLUMNS[this.currentColumn][0], COLUMNS[this.currentColumn][1],
            COLUMNS[this.currentColumn][2], COLUMNS[this.currentColumn][3]);
    Cursor cursor = this.mContext.getContentResolver().query(
            Uri.parse("content://mms-sms/conversations/" + this.settings.threadId),
            new String[] { "_id", "ct_t", "normalized_date" }, "normalized_date >= "
                    + this.settings.startDateMillis + " AND normalized_date <= " + this.settings.endDateMillis,
            null, "normalized_date");
    Iterator<Integer> itr = this.settings.getSelectedRows().iterator();
    while (itr.hasNext()) {
        if (cursor.moveToPosition(((Integer) itr.next()).intValue())) {
            String senderString;
            Boolean isMe;
            Long messageId = Long.valueOf(cursor.getLong(cursor.getColumnIndex("_id")));
            String mimetype = cursor.getString(cursor.getColumnIndex("ct_t"));
            if (MMSUtilities.getMessageSenderType(this.mContext, messageId, mimetype) == 1) {
                senderString = this.settings.theirName;
                isMe = Boolean.valueOf(false);
            } else {
                senderString = this.settings.myName;
                isMe = Boolean.valueOf(true);
            }
            String contentString = PdfObject.NOTHING;
            Boolean isVideo = Boolean.valueOf(false);
            if ("application/vnd.wap.multipart.related".equals(mimetype)) {
                Cursor mmsCursor = this.mContext.getContentResolver().query(Uri.parse("content://mms/part"),
                        null, "mid=" + messageId, null, null);
                Boolean hasNext = Boolean.valueOf(mmsCursor.moveToFirst());
                while (hasNext.booleanValue()) {
                    contentString = PdfObject.NOTHING;
                    Bitmap contentImage = null;
                    isVideo = Boolean.valueOf(false);
                    String partId = mmsCursor.getString(mmsCursor.getColumnIndex("_id"));
                    String mimetype2 = mmsCursor.getString(mmsCursor.getColumnIndex("ct"));
                    if ("application/smil".equals(mimetype2)) {
                        hasNext = Boolean.valueOf(mmsCursor.moveToNext());
                    } else {
                        if (mimetype2.startsWith("image/")) {
                            contentImage = MMSUtilities.getMmsImage(this.mContext, partId);
                        } else {
                            if (mimetype2.startsWith("text/")) {
                                contentString = mmsCursor.getString(mmsCursor.getColumnIndex("_data")) != null
                                        ? MMSUtilities.getMmsText(this.mContext, partId)
                                        : mmsCursor.getString(mmsCursor.getColumnIndex("text"));
                            } else {
                                if (mimetype2.startsWith("video/")) {
                                    isVideo = Boolean.valueOf(true);
                                    contentImage = wrapVideoThumbnailWithFilm(this.mContext,
                                            MMSUtilities.getMmsVideoThumbnail(this.mContext, partId));
                                } else {
                                    contentString = mimetype2.startsWith("audio/") ? "[audio message]"
                                            : "[unknown message type]";
                                }
                            }
                        }
                        doAddNextConversation(document, cursor, ct, senderString, contentString, contentImage,
                                isVideo, isMe);
                        hasNext = Boolean.valueOf(mmsCursor.moveToNext());
                    }
                }
                mmsCursor.close();
            } else {
                Cursor smsCursor = this.mContext.getContentResolver().query(Uri.parse("content://sms"),
                        new String[] { HtmlTags.BODY, LicenseKey.LICENSE_DATE }, "_id = " + messageId, null,
                        null);
                if (smsCursor.moveToFirst()) {
                    contentString = smsCursor.getString(smsCursor.getColumnIndex(HtmlTags.BODY));
                }
                smsCursor.close();
                doAddNextConversation(document, cursor, ct, senderString, contentString, null,
                        Boolean.valueOf(false), isMe);
            }
        }
    }
    return 0;
}

From source file:com.ideationdesignservices.txtbook.pdf.TxtBookPdf.java

public void doAddNextConversation(Document document, Cursor cursor, ColumnText ct, String senderString,
        String contentString, Bitmap contentImage, Boolean isVideo, Boolean isMe) {
    float[][] COLUMNS;
    if (COLUMNS_REG[0][0] == Txtbook.leftMargin(this.writer, document, this.settings.addFrontCover)) {
        COLUMNS = COLUMNS_REG;//from   w ww  .j av  a  2  s  . c  o  m
    } else {
        COLUMNS = COLUMNS_ALT;
    }
    String dateString = PdfObject.NOTHING;
    if (this.settings.useTimestamps.booleanValue()) {
        Long date = Long.valueOf(cursor.getLong(cursor.getColumnIndex("normalized_date")));
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM dd, yyyy h:mm a", Locale.US);
        simpleDateFormat.setTimeZone(TimeZone.getDefault());
        dateString = simpleDateFormat.format(new Date(date.longValue()));
    }
    try {
        this.currentY = ct.getYLine();
        addConversationPart(ct, this.currentColumn, dateString, senderString, contentString, contentImage,
                isVideo, isMe);
        if (ColumnText.hasMoreText(ct.go(true))) {
            this.currentColumn = (this.currentColumn + 1) % 2;
            if (this.currentColumn == 0) {
                document.newPage();
                if (COLUMNS_REG[0][0] == Txtbook.leftMargin(this.writer, document,
                        this.settings.addFrontCover)) {
                    COLUMNS = COLUMNS_REG;
                } else {
                    COLUMNS = COLUMNS_ALT;
                }
            }
            ct.setSimpleColumn(COLUMNS[this.currentColumn][0], COLUMNS[this.currentColumn][1],
                    COLUMNS[this.currentColumn][2], COLUMNS[this.currentColumn][3]);
            this.currentY = COLUMNS[this.currentColumn][3];
        }
        ct.setYLine(this.currentY);
        ct.setText(null);
        float width = addConversationPart(ct, this.currentColumn, dateString, senderString, contentString,
                contentImage, isVideo, isMe);
        int status = ct.go(false);
        Document document2 = document;
        ColumnText columnText = ct;
        addConversationBackground(document2, columnText, this.currentColumn, this.currentY, width,
                this.currentY - ct.getYLine(), isMe);
    } catch (Exception e) {
        e.printStackTrace();
    }
}