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

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

Introduction

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

Prototype

String CP1252

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

Click Source Link

Document

A possible encoding.

Usage

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  ww w  .j a  va 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. java2 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 listaDePlacas = "";
    for (int i = 0; i < veiculos.size(); i++) {
        if (i == veiculos.size() - 1) {
            listaDePlacas = " " + listaDePlacas + veiculos.get(i).get("placa");
        } else {
            listaDePlacas = " " + listaDePlacas + veiculos.get(i).get("placa") + ",";
        }
    }
    String textPlacas1 = "3.1 - Os veculo(s) listado(s) a seguir, com sua(s) respectiva(s) data(s) de instalao, so identificado(s) pela(s) placa(s): ";
    String textPlacas2 = listaDePlacas;
    String textPlacas3 = ", sendo vedada a remoo do aparelho rastreador desses(s) veiculo(s), sem prvia e expressa anuncia da Contratada, "
            + "que se dar sempre por escrito, sob pena de aplicao da penalidade prevista por infrao contratual;";
    // PDF que  o template da aplicao
    PdfReader reader = new PdfReader(
            "D:\\Users\\Adriano\\Documents\\NetBeansProjects\\JRGWT\\web\\contratos\\contrato_venda.pdf");
    //PDF resultante
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(
            "D:\\Users\\Adriano\\Documents\\NetBeansProjects\\JRGWT\\web\\contratos\\contrato_venda01.pdf"));

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

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

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

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

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

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

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

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

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

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

        PdfPTable headerTable = new PdfPTable(1);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    pdfTable.setWidthPercentage(100);

    return pdfTable;
}

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

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

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

        PdfPTable headerTable = new PdfPTable(1);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        document.close();

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

From source file:com.example.admin.avoidq.billGenerated.java

private void initializeFonts() {

    try {/* w w  w.j a  v  a 2s . co  m*/
        bfBold = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);

    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

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

License:Open Source License

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

From source file:com.iox.rms.mbean.UserBean.java

@SuppressWarnings("deprecation")
private byte[] generateInvoiceForCustomerPurchase(CustomerProduct cp) {
    byte[] data = null;

    if (cp != null) {
        Document document = new Document();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        try {/*from  w  ww .j  ava 2 s.c  o m*/
            PdfWriter writer = PdfWriter.getInstance(document, baos);
            writer.setPageEvent(new HeaderFooter());
            writer.setBoxSize("footer", new Rectangle(36, 54, 559, 788));
            if (!document.isOpen()) {
                document.open();
            }
            document.setPageSize(PageSize.A4);
            document.addAuthor("AutoLife");
            document.addCreationDate();
            document.addCreator("AutoLife");
            document.addSubject("Invoice");
            document.addTitle("Purchase Invoice");

            PdfPTable headerTable = new PdfPTable(3);

            ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance()
                    .getExternalContext().getContext();
            String logo = servletContext.getRealPath("") + File.separator + "images" + File.separator
                    + "sattrak-logo.png";
            PdfPCell c = new PdfPCell(Image.getInstance(logo));
            c.setBorder(0);
            c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
            headerTable.addCell(c);

            BaseFont helvetica = null;
            try {
                helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
            } catch (Exception e) {
            }
            Font font = new Font(helvetica, 16, Font.NORMAL | Font.BOLD);
            c = new PdfPCell(new Paragraph("INVOICE", font));
            c.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
            c.setBorder(0);
            headerTable.addCell(c);

            font = new Font(helvetica, 10, Font.NORMAL | Font.BOLD);
            c = new PdfPCell(new Paragraph("TRANSACTION REF. NO.: " + cp.getPurchaseTranRef(), font));
            c.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT);
            c.setBorder(0);
            headerTable.addCell(c);

            document.add(headerTable);

            font = new Font(helvetica, 12, Font.NORMAL | Font.BOLD);
            Paragraph p = new Paragraph("DETAILS", font);
            p.setAlignment(Paragraph.ALIGN_CENTER);
            document.add(p);

            PdfPTable pdfTable = new PdfPTable(3);

            font = new Font(helvetica, 8, Font.BOLDITALIC);
            pdfTable.addCell(new Paragraph("INITIATED DATE", font));
            pdfTable.addCell(new Paragraph("PRODUCT", font));
            pdfTable.addCell(new Paragraph("AMOUNT", font));
            font = new Font(helvetica, 8, Font.NORMAL);
            pdfTable.addCell(
                    new Paragraph(cp.getPurchaseTransaction().getTranInitDate().toLocaleString(), font));
            pdfTable.addCell(new Paragraph(cp.getProductBooked().getDetails(), font));
            pdfTable.addCell(new Paragraph("" + cp.getPurchasedAmount(), font));
            document.add(pdfTable);

            document.close();

            data = baos.toByteArray();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    return data;
}

From source file:com.mycompany.mavenproject1.Createpdf.java

private void initializeFonts() {

    try {/*from   w  w  w  .j  a  v a2 s  .  c o  m*/
        bfBold = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
        bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);

    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (IOException ex) {
        ex.printStackTrace();
    }

}

From source file:com.qmetric.document.watermark.strategy.MessageWatermarkStrategy.java

License:Open Source License

private void addTextToPage(final Rectangle page, final PdfContentByte overContent, final String watermarkText)
        throws DocumentException, IOException {
    // Add text - adapted from example found at
    // http://footheory.com/blogs/donnfelker/archive/2008/05/11/using-itextsharp-to-watermark-write-text-to-existing-pdf-s.aspx
    overContent.beginText();// w w w  .j  a v a 2s.  co  m

    final BaseFont baseFont = BaseFont.createFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, false);
    overContent.setFontAndSize(baseFont, 14);
    overContent.setRGBColorFill(RED, 0, 0);

    overContent.showTextAligned(PdfContentByte.ALIGN_LEFT, watermarkText, xAxisPosition(page),
            yAxisPosition(page), NO_ROTATION);
    overContent.endText();
}