Example usage for com.itextpdf.text Phrase add

List of usage examples for com.itextpdf.text Phrase add

Introduction

In this page you can find the example usage for com.itextpdf.text Phrase add.

Prototype

@Override
public boolean add(final Element element) 

Source Link

Document

Adds a Chunk, Anchor or another Phrase to this Phrase.

Usage

From source file:AppPackage.printPDF.java

public void printNow(String id, String name, String dateRange, String underLate, String workedHours,
        String totalHours, String dateNow, String fDate, String lDate, String type, String empTypeRate,
        int lastRId, double salary) {
    this.id = id;
    this.name = name;
    this.dateRange = dateRange;
    this.underLate = underLate;
    this.workedHours = workedHours;
    this.totalHours = totalHours;
    this.dateNow = dateNow;
    this.fDate = fDate;
    this.lDate = lDate;
    this.type = type;
    this.empTypeRate = empTypeRate;
    this.lastRId = lastRId;
    this.salary = salary;
    try {//w  w w.java 2  s .  c  o m

        Document document = new Document();
        Connection conn = null;
        Statement st = null;
        conn = dbC.getConnection();
        st = conn.createStatement();

        String query = "SELECT * FROM schedule WHERE empId ='" + id + "'";
        ResultSet rs = st.executeQuery(query);

        PdfWriter.getInstance(document,
                new FileOutputStream("reports/Report-" + reportCount + "." + lastRId + "-" + id + ".pdf"));
        document.open();
        document.setPageSize(PageSize.LETTER);
        document.setMargins(0f, 0f, 0f, 0f);

        Image image = Image.getInstance("Resources/DTRHeaderTwo.png");
        document.add(image);

        PdfPTable ICTable = new PdfPTable(5);
        ICTable.setWidthPercentage(100);

        ICTable.getDefaultCell().setBorder(0);
        //create a cell object
        PdfPCell ICTableCell;

        Phrase ICBlank = new Phrase();
        Phrase ICharge = new Phrase();
        Phrase ICBlanko = new Phrase();
        Phrase ICBlankx = new Phrase();
        Phrase IChargex = new Phrase();

        ICBlank.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        ICTable.addCell(ICBlank);
        ICharge.add(new Chunk("_____________________", new Font(Font.FontFamily.HELVETICA, 8, Font.ITALIC)));
        ICTable.addCell(ICharge);
        ICBlanko.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        ICTable.addCell(ICBlanko);
        ICBlankx.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        ICTable.addCell(ICBlankx);
        IChargex.add(new Chunk("____________________", new Font(Font.FontFamily.HELVETICA, 8, Font.ITALIC)));
        ICTable.addCell(IChargex);

        ICTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        ICTableCell.setBorder(PdfPCell.NO_BORDER);
        ICTable.addCell(ICTableCell);
        ICTableCell = new PdfPCell(
                new Phrase("In - Charge", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        ICTableCell.setBorder(PdfPCell.NO_BORDER);
        ICTable.addCell(ICTableCell);
        ICTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        ICTableCell.setBorder(PdfPCell.NO_BORDER);
        ICTable.addCell(ICTableCell);

        ICTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        ICTableCell.setBorder(PdfPCell.NO_BORDER);
        ICTable.addCell(ICTableCell);
        ICTableCell = new PdfPCell(
                new Phrase("In - Charge", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        ICTableCell.setBorder(PdfPCell.NO_BORDER);
        ICTable.addCell(ICTableCell);

        PdfPTable dateRecTable = new PdfPTable(5);
        dateRecTable.setWidthPercentage(100);

        dateRecTable.getDefaultCell().setBorder(0);
        //create a cell object
        PdfPCell dateRecTableCell;

        Phrase dRDate = new Phrase();
        Phrase dRNo = new Phrase();
        Phrase dRBlank = new Phrase();
        Phrase dRDatex = new Phrase();
        Phrase dRNox = new Phrase();

        dRDate.add(
                new Chunk("Released #: " + lastRId + "", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        dateRecTable.addCell(dRDate);
        dRNo.add(new Chunk("" + dateNow + "", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        dateRecTable.addCell(dRNo);
        dRBlank.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        dateRecTable.addCell(dRBlank);
        dRDatex.add(
                new Chunk("Released #: " + lastRId + "", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        dateRecTable.addCell(dRDatex);
        dRNox.add(new Chunk("" + dateNow + "", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        dateRecTable.addCell(dRNox);

        PdfPTable InfoTable = new PdfPTable(5);
        InfoTable.setWidthPercentage(100);

        InfoTable.getDefaultCell().setBorder(0);
        //create a cell object
        PdfPCell InfoTableCell;

        Phrase infoId = new Phrase();
        Phrase infoType = new Phrase();
        Phrase infoBlank = new Phrase();
        Phrase infoIdx = new Phrase();
        Phrase infoTypex = new Phrase();

        infoId.add(new Chunk("ID: " + id + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTable.addCell(infoId);
        infoType.add(new Chunk("Type: " + type + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTable.addCell(infoType);
        infoBlank.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTable.addCell(infoBlank);
        infoIdx.add(new Chunk("ID: " + id + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTable.addCell(infoIdx);
        infoTypex.add(new Chunk("Type: " + type + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTable.addCell(infoTypex);

        InfoTableCell = new PdfPCell(
                new Phrase("Fullname: " + name + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("Hourly Rate: " + empTypeRate + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(
                new Phrase("Fullname: " + name + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("Hourly Rate: " + empTypeRate + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(new Phrase("Date Range: \n" + dateRange + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("Total Hours: " + totalHours + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(new Phrase("Date Range: \n" + dateRange + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("Total Hours: " + totalHours + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(new Phrase("Late & Under Time: " + underLate + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("Worked Hours: " + workedHours + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(new Phrase("Late & Under Time: " + underLate + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("Worked Hours: " + workedHours + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(
                new Phrase("Salary: " + salary + " PHP", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(
                new Phrase("Salary: " + salary + " PHP", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        PdfPTable SchedTable = new PdfPTable(17);
        SchedTable.setWidthPercentage(100);

        SchedTable.getDefaultCell().setBorder(0);
        //create a cell object
        PdfPCell SchedTableCell;

        Phrase phraseDayS = new Phrase();
        Phrase phraseAMTotal = new Phrase();
        Phrase phraseAMStart = new Phrase();
        Phrase phraseAMEnd = new Phrase();
        Phrase phrasePMTotal = new Phrase();
        Phrase phrasePMStart = new Phrase();
        Phrase phrasePMEnd = new Phrase();
        Phrase phraseTotalTime = new Phrase();
        Phrase phraseBlankS = new Phrase();
        Phrase phraseDaySx = new Phrase();
        Phrase phraseAMTotalx = new Phrase();
        Phrase phraseAMStartx = new Phrase();
        Phrase phraseAMEndx = new Phrase();
        Phrase phrasePMTotalx = new Phrase();
        Phrase phrasePMStartx = new Phrase();
        Phrase phrasePMEndx = new Phrase();
        Phrase phraseTotalTimex = new Phrase();

        phraseDayS.add(new Chunk("Day", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseDayS);
        phraseAMStart.add(new Chunk("AM Start", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseAMStart);
        phraseAMEnd.add(new Chunk("AM End", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseAMEnd);
        phraseAMTotal.add(new Chunk("AM Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseAMTotal);
        phrasePMStart.add(new Chunk("PM Start", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phrasePMStart);
        phrasePMEnd.add(new Chunk("PM End", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phrasePMEnd);
        phrasePMTotal.add(new Chunk("PM Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phrasePMTotal);
        phraseTotalTime.add(new Chunk("Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseTotalTime);
        phraseBlankS.add(new Chunk("           ", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseBlankS);

        phraseDaySx.add(new Chunk("Day", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseDaySx);
        phraseAMStartx.add(new Chunk("AM Start", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseAMStartx);
        phraseAMEndx.add(new Chunk("AM End", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseAMEndx);
        phraseAMTotalx.add(new Chunk("AM Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseAMTotalx);
        phrasePMStartx.add(new Chunk("PM Start", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phrasePMStartx);
        phrasePMEndx.add(new Chunk("PM End", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phrasePMEndx);
        phrasePMTotalx.add(new Chunk("PM Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phrasePMTotalx);
        phraseTotalTimex.add(new Chunk("Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseTotalTimex);

        while (rs.next()) {
            SimpleDateFormat readingFormat = new SimpleDateFormat("HH:mm:ss");
            SimpleDateFormat outputFormat = new SimpleDateFormat("hh:mm a");
            String dayxxx = rs.getString("day");
            String amStartxx = rs.getString("amStart");
            String amEndxx = rs.getString("amEnd");
            String pmStartxx = rs.getString("pmStart");
            String pmEndxx = rs.getString("pmEnd");
            String amTotalxx = rs.getString("amTotal");
            String pmTotalxx = rs.getString("pmTotal");
            String totalHoursxx = rs.getString("totalTime");
            String blank = "          ";

            String amStart = null;
            String amEnd = null;
            String amTotal = null;
            String pmStart = null;
            String pmEnd = null;
            String pmTotal = null;
            String totalHoursx = null;

            Date dayx = new SimpleDateFormat("EEEE").parse(dayxxx);
            SimpleDateFormat sdfxxx = new SimpleDateFormat("EEE");
            String day = sdfxxx.format(dayx);
            System.out.println(day + " day");

            try {
                Date amStartTxx = readingFormat.parse(amStartxx);
                amStart = outputFormat.format(amStartTxx);
                if (amStart.equals("12:00 AM")) {
                    amStart = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

            try {
                Date amEndTx = readingFormat.parse(amEndxx);
                amEnd = outputFormat.format(amEndTx);
                if (amEnd.equals("12:00 AM")) {
                    amEnd = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

            try {
                Date amTotalTx = readingFormat.parse(amTotalxx);
                amTotal = outputFormat.format(amTotalTx);
                if (amTotal.equals("12:00 AM")) {
                    amTotal = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

            try {
                Date pmStartTxx = readingFormat.parse(pmStartxx);
                pmStart = outputFormat.format(pmStartTxx);
                if (pmStart.equals("12:00 AM")) {
                    pmStart = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

            try {
                Date pmEndTxx = readingFormat.parse(pmEndxx);
                pmEnd = outputFormat.format(pmEndTxx);
                if (pmEnd.equals("12:00 AM")) {
                    pmEnd = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

            try {
                Date pmTotalTxx = readingFormat.parse(pmTotalxx);
                pmTotal = outputFormat.format(pmTotalTxx);
                if (pmTotal.equals("12:00 AM")) {
                    pmTotal = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            try {
                Date totalHoursxT = readingFormat.parse(totalHoursxx);
                totalHoursx = outputFormat.format(totalHoursxT);
                if (totalHoursx.equals("12:00 AM")) {
                    totalHoursx = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            System.out.println(day);
            System.out.println(amStart);
            System.out.println(amEnd);
            System.out.println(amTotal);
            System.out.println(pmStart);
            System.out.println(pmEnd);
            System.out.println(pmTotal);
            System.out.println(totalHoursx);

            SchedTableCell = new PdfPCell(new Phrase(day, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(amStart, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(amEnd, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(amTotal, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(pmStart, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(pmEnd, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(pmTotal, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(totalHoursx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(new Phrase(blank));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(new Phrase(day, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(amStart, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(amEnd, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(amTotal, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(pmStart, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(pmEnd, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(pmTotal, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(totalHoursx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

        }

        PdfPTable DTRTable = new PdfPTable(17);
        DTRTable.setWidthPercentage(100);

        DTRTable.getDefaultCell().setBorder(0);
        //create a cell object
        PdfPCell DTRTableCell;

        Phrase phraseDay = new Phrase();
        Phrase phraseDate = new Phrase();
        Phrase phraseAMIn = new Phrase();
        Phrase phraseAMOut = new Phrase();
        Phrase phrasePMIn = new Phrase();
        Phrase phrasePMOut = new Phrase();
        Phrase phraseHours = new Phrase();
        Phrase phraseUTL = new Phrase();
        Phrase phraseBlank = new Phrase();
        Phrase phraseDayx = new Phrase();
        Phrase phraseDatex = new Phrase();
        Phrase phraseAMInx = new Phrase();
        Phrase phraseAMOutx = new Phrase();
        Phrase phrasePMInx = new Phrase();
        Phrase phrasePMOutx = new Phrase();
        Phrase phraseHoursx = new Phrase();
        Phrase phraseUTLx = new Phrase();

        phraseDay.add(new Chunk("Day", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseDay);
        phraseDate.add(new Chunk("Date", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseDate);
        phraseAMIn.add(new Chunk("AM IN", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseAMIn);
        phraseAMOut.add(new Chunk("AM OUT", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseAMOut);
        phrasePMIn.add(new Chunk("PM IN", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phrasePMIn);
        phrasePMOut.add(new Chunk("PM OUT", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phrasePMOut);
        phraseHours.add(new Chunk("Hours", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseHours);
        phraseUTL.add(new Chunk("Late/U.T", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseUTL);
        phraseBlank.add(new Chunk("           ", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseBlank);

        phraseDayx.add(new Chunk("Day", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseDayx);
        phraseDatex.add(new Chunk("Date", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseDatex);
        phraseAMInx.add(new Chunk("AM IN", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseAMInx);
        phraseAMOutx.add(new Chunk("AM OUT", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseAMOutx);
        phrasePMInx.add(new Chunk("PM IN", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phrasePMInx);
        phrasePMOutx.add(new Chunk("PM OUT", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phrasePMOutx);
        phraseHoursx.add(new Chunk("Hours", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseHoursx);
        phraseUTLx.add(new Chunk("Late/U.T", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseUTLx);

        try {
            Connection connx = null;
            Statement stx = null;
            connx = dbC.getConnection();
            stx = connx.createStatement();

            String queryx = "SELECT timeinout.day, timeinout.date, schedule.totalTime, schedule.amTotal, "
                    + "schedule.amStart, timeinout.amTimeIn, schedule.amEnd, timeinout.amTimeOut, "
                    + "schedule.pmTotal, schedule.pmStart, timeinout.pmTimeIn, schedule.pmEnd, "
                    + "timeinout.pmTimeOut FROM timeinout LEFT JOIN "
                    + "(schedule) ON (schedule.empId = timeinout.empId AND timeinout.day = schedule.day) WHERE  "
                    + "timeinout.empId ='" + id + "' AND  schedule.empId = '" + id + "' AND date(`Date`) >= '"
                    + fDate + "' " + "AND date(`Date`) <= '" + lDate + "'";
            ResultSet rsx = stx.executeQuery(queryx);
            while (rsx.next()) {
                String day = rsx.getString("timeinout.day");
                String date = rsx.getString("timeinout.date");
                String amStartDB = rsx.getString("schedule.amStart");
                String amIn = rsx.getString("timeinout.amTimeIn");
                String amEndDB = rsx.getString("schedule.amEnd");
                String amOut = rsx.getString("timeinout.amTimeOut");
                String pmStartDB = rsx.getString("schedule.pmStart");
                String pmIn = rsx.getString("timeinout.pmTimeIn");
                String pmEndDB = rsx.getString("schedule.pmEnd");
                String pmOut = rsx.getString("timeinout.pmTimeOut");
                String totTime = rsx.getString("schedule.totalTime");
                String wHours;
                String blank = "           ";
                String dayx = rsx.getString("timeinout.day");
                String datex = rsx.getString("timeinout.date");
                //                String amStartDBx = rsx.getString("schedule.amStart");
                //                String amInx = rsx.getString("timeinout.amTimeIn");
                //                String amEndDBx = rsx.getString("schedule.amEnd");
                //                String amOutx = rsx.getString("timeinout.amTimeOut");
                //                String pmStartDBx = rsx.getString("schedule.pmStart");
                //                String pmInx = rsx.getString("timeinout.pmTimeIn");
                //                String pmEndDBx = rsx.getString("schedule.pmEnd");
                String pmOutx = rsx.getString("timeinout.pmTimeOut");
                String totalAM = rsx.getString("schedule.amTotal");
                String totalPM = rsx.getString("schedule.pmTotal");
                String totTimex = rsx.getString("schedule.totalTime");
                String wHoursx;

                parser.setTimeZone(TimeZone.getTimeZone("UTC"));

                if (!amEndDB.equals("00:00:00") && !amOut.equals("00:00:00")) {
                    Start = parser.parse(amEndDB);
                    In = parser.parse(amOut);
                    if (Start.after(In)) {
                        amOutDiff = tDiff.timeDiff(amOut, amEndDB);

                        amOutDiffT = parser.parse(amOutDiff);
                        amOutDiffTotal += amOutDiffT.getTime();

                    } else {
                        amOutDiff = "00:00:00";
                    }
                } else {
                    amOutDiff = totalAM;
                    amOutDiffT = parser.parse(amOutDiff);
                    amOutDiffTotal += amOutDiffT.getTime();
                }

                Start = parser.parse(amStartDB);
                In = parser.parse(amIn);
                if (Start.after(In)) {
                    amInDiff = "00:00:00";
                } else if (amOutDiff.equals(totalAM)) {
                    amInDiff = "00:00:00";
                } else {
                    amInDiff = tDiff.timeDiff(amStartDB, amIn);

                    amInDiffT = parser.parse(amInDiff);
                    amInDiffTotal += amInDiffT.getTime();

                }
                if (!pmEndDB.equals("00:00:00") && !pmOut.equals("00:00:00")) {
                    Start = parser.parse(pmEndDB);
                    In = parser.parse(pmOut);
                    if (Start.after(In)) {
                        pmOutDiff = tDiff.timeDiff(pmOut, pmEndDB);

                        pmOutDiffT = parser.parse(pmOutDiff);
                        pmOutDiffTotal += pmOutDiffT.getTime();

                    } else {
                        pmOutDiff = "00:00:00";
                    }
                } else {
                    pmOutDiff = totalPM;
                    pmOutDiffT = parser.parse(pmOutDiff);
                    pmOutDiffTotal += pmOutDiffT.getTime();
                }

                Start = parser.parse(pmStartDB);
                In = parser.parse(pmIn);
                if (Start.after(In)) {
                    pmInDiff = "00:00:00";
                } else if (pmOutDiff.equals(totalPM)) {
                    pmInDiff = "00:00:00";
                } else {
                    pmInDiff = tDiff.timeDiff(pmStartDB, pmIn);

                    pmInDiffT = parser.parse(pmInDiff);
                    pmInDiffTotal += pmInDiffT.getTime();

                }

                Date totH = parser.parse(totTimex);
                long totHTotal = 0;
                totHTotal += totH.getTime();

                Date amInDiffx = parser.parse(amInDiff);
                Date amOutDiffx = parser.parse(amOutDiff);
                Date pmInDiffx = parser.parse(pmInDiff);
                Date pmOutDiffx = parser.parse(pmOutDiff);

                long workedHoursxxx = amInDiffx.getTime() + amOutDiffx.getTime() + pmInDiffx.getTime()
                        + pmOutDiffx.getTime();

                long hoursx = workedHoursxxx / 3600000;
                long minutesx = (workedHoursxxx % 3600000) / 60000;

                wHours = String.format("%02d:%02d", hoursx, minutesx);
                wHoursx = String.format("%02d:%02d", hoursx, minutesx);

                Date dayxxx = new SimpleDateFormat("EEEE").parse(day);
                SimpleDateFormat sdfxxx = new SimpleDateFormat("EEE");
                String newDayxx = sdfxxx.format(dayxxx);
                System.out.println(newDayxx);
                DTRTableCell = new PdfPCell(
                        new Phrase(newDayxx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                Date datexx = new SimpleDateFormat("yyyy-MM-dd").parse(date);
                SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yy");
                String newDate = sdf.format(datexx);
                System.out.println(newDate);
                DTRTableCell = new PdfPCell(
                        new Phrase(newDate, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(amIn);
                DTRTableCell = new PdfPCell(
                        new Phrase(amIn, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(amOut);
                DTRTableCell = new PdfPCell(
                        new Phrase(amOut, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(pmIn);
                DTRTableCell = new PdfPCell(
                        new Phrase(pmIn, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(pmOut);
                DTRTableCell = new PdfPCell(
                        new Phrase(pmOut, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(totTime);
                DTRTableCell = new PdfPCell(
                        new Phrase(totTime, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(wHours);
                DTRTableCell = new PdfPCell(
                        new Phrase(wHours, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(blank);
                DTRTableCell = new PdfPCell(new Phrase(blank));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                Date dayxx = new SimpleDateFormat("EEEE").parse(dayx);
                SimpleDateFormat sdfxx = new SimpleDateFormat("EEE");
                String newDayx = sdfxx.format(dayxx);
                System.out.println(newDayx);
                DTRTableCell = new PdfPCell(
                        new Phrase(newDayx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                Date datexxx = new SimpleDateFormat("yyyy-MM-dd").parse(datex);
                SimpleDateFormat sdfx = new SimpleDateFormat("dd-MM-yy");
                String newDatex = sdfx.format(datexxx);
                System.out.println(newDatex);
                DTRTableCell = new PdfPCell(
                        new Phrase(newDatex, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(amIn);
                DTRTableCell = new PdfPCell(
                        new Phrase(amIn, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(amOut);
                DTRTableCell = new PdfPCell(
                        new Phrase(amOut, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(pmIn);
                DTRTableCell = new PdfPCell(
                        new Phrase(pmIn, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(pmOutx);
                DTRTableCell = new PdfPCell(
                        new Phrase(pmOutx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(totTimex);
                DTRTableCell = new PdfPCell(
                        new Phrase(totTimex, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(wHoursx);
                DTRTableCell = new PdfPCell(
                        new Phrase(wHoursx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
        document.add(dateRecTable);
        document.add(InfoTable);
        document.add(new Paragraph(
                "-----------------------------------------------------------------------               ----------------------------------------------------------------------",
                FontFactory.getFont(FontFactory.HELVETICA, 10, Font.BOLD, BaseColor.BLACK)));
        document.add(new Paragraph(
                "                                   Schedule                                                                                     Schedule\n",
                FontFactory.getFont(FontFactory.HELVETICA, 10, Font.NORMAL, BaseColor.BLACK)));
        document.add(SchedTable);
        document.add(new Paragraph(
                "-----------------------------------------------------------------------               ----------------------------------------------------------------------",
                FontFactory.getFont(FontFactory.HELVETICA, 10, Font.BOLD, BaseColor.BLACK)));
        document.add(new Paragraph(
                "                             Dailty Time Record                                                                     Dailty Time Record\n",
                FontFactory.getFont(FontFactory.HELVETICA, 10, Font.NORMAL, BaseColor.BLACK)));
        document.add(DTRTable);
        document.add(ICTable);

        try {
            conn = dbC.getConnection();

            PreparedStatement stmtx = conn.prepareStatement("INSERT INTO released"
                    + "(empId, firstDate, lastDate, totalHours, lateUnderTime, workedHours, fileName, salary) VALUES (?,?,?,?,?,?,?,?)");

            stmtx.setString(1, id);
            stmtx.setString(2, fDate);
            stmtx.setString(3, lDate);
            stmtx.setString(4, totalHours);
            stmtx.setString(5, workedHours);
            stmtx.setString(6, totalHours);
            stmtx.setString(7, "Report-" + reportCount + "." + lastRId + "-" + id + ".pdf");
            stmtx.setString(8, salary + "");

            stmtx.executeUpdate();

        } catch (SQLException se) {
            //Handle errors for JDBC
            se.printStackTrace();
        } catch (Exception e) {
            //Handle errors for Class.forName
            e.printStackTrace();
        } finally {
            //finally block used to close resources
            try {
                if (stmt != null)
                    conn.close();
            } catch (SQLException se) {
            } // do nothing
            try {
                if (conn != null)
                    conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            } //end finally try
        } //end try
        document.close();
    } catch (DocumentException | IOException | SQLException e) {
        JOptionPane.showMessageDialog(null, e);
    } catch (ParseException ex) {
        Logger.getLogger(printPDF.class.getName()).log(Level.SEVERE, null, ex);
    }

}

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

License:Open Source License

private Phrase processHtmlCodes(String name, Font baseFont, Font symbol) {

    final Font italicFont = new Font(baseFont);
    italicFont.setStyle(Font.FontStyle.ITALIC.getValue());

    final Font normalFont = new Font(baseFont);

    Font usedFont = normalFont;// w w  w  .  ja v a2 s. com

    final Phrase phrase = new Phrase();

    if (!StringUtils.isEmpty(name)) {

        for (String[] alphabet : GreekAlphabet.getAlphabet()) {
            name = name.replaceAll(alphabet[0], DELIMETER + alphabet[0] + DELIMETER);
        }
        name = name.replaceAll("<sup>|<SUP>", DELIMETER + "<sup>");
        name = name.replaceAll("</sup>|</SUP>", DELIMETER);
        name = name.replaceAll("<i>|<I>|<em>|<EM>", DELIMETER + "<i>");
        name = name.replaceAll("</i>|</I>|</em>|</EM>", DELIMETER + "</i>");

        final String[] tokens = name.split(DELIMETER);
        for (String token : tokens) {

            String text = token;
            if (text.startsWith("<i>")) {
                usedFont = italicFont;
                text = text.substring(3);
            } else if (text.startsWith("</i>")) {
                usedFont = normalFont;
                text = text.substring(4);
            }

            usedFont.setSize(baseFont.getSize());

            if (text.startsWith("&")) {
                final char replacement = GreekAlphabet.getReplacement(text);
                if (!Character.isWhitespace(replacement)) {
                    phrase.add(SpecialSymbol.get(replacement, symbol));
                } else {
                    phrase.add(new Chunk(text, usedFont));
                }
            } else if (text.startsWith("<sup>")) {

                final Font superScriptFont = new Font(usedFont);
                superScriptFont.setSize(baseFont.getSize() - 1.5f);

                final Chunk superScript = new Chunk(text.substring(5), superScriptFont);
                superScript.setTextRise(4f);
                phrase.add(superScript);

            } else {
                phrase.add(new Chunk(text, usedFont));
            }

        }
    }

    return phrase;
}

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

License:Open Source License

private byte[] stampTableOfContents(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);

        // stamp the named destinations
        for (int pageNumber = 1; pageNumber <= reader.getNumberOfPages(); pageNumber++) {
            stamper.addNamedDestination("page" + pageNumber, pageNumber,
                    new PdfDestination(PdfDestination.XYZ, 80f, 800f, 0));
        }//from   w w  w . jav  a 2 s  . c o m

        // create the table of contents
        final Chunk tocTitle = new Chunk("TABLE OF CONTENTS", iTextUtil.getFontTocTitle());

        int currentTocPage = tableOfContents.getFirstPageOfToc();
        int firstTocPage = currentTocPage;
        PdfContentByte canvas = stamper.getOverContent(currentTocPage);

        ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(tocTitle), 55, 470, 0);

        final List<TocEntry> entriesSorted = tableOfContents.getEntriesSorted();
        int tocEntryNumber = 0;
        for (TocEntry tocEntry : entriesSorted) {

            if (tocEntry.isIncludedInToc()) {
                tocEntryNumber++;

                // take the right TOC page to stamp the TOC entry on (needed for TOC's with multiple pages)
                if (tocEntryNumber == getNumberOfItemsPerTocPage(0)
                        || (tocEntryNumber > getNumberOfItemsPerTocPage(0)
                                && (tocEntryNumber - getNumberOfItemsPerTocPage(0))
                                        % getNumberOfItemsPerTocPage(currentTocPage - firstTocPage) == 0)) {
                    currentTocPage++;
                    canvas = stamper.getOverContent(currentTocPage);
                }

                Font font = iTextUtil.getFontToc();
                if (tocEntry.getLevel() == 1) {
                    font = iTextUtil.getFontTocBold();
                }

                final Phrase p = processHtmlCodes(tocEntry.getLevelString() + tocEntry.getName(), font,
                        iTextUtil.getFontTocSymbol());
                p.add(new Chunk("", iTextUtil.getFontToc()));
                if (tocEntry.isShowingPageNumber()) {
                    p.add(new Chunk(new DottedLineSeparator()));
                    p.add(new Chunk("  " + String.valueOf(tocEntry.getFinalPageNumber()),
                            iTextUtil.getFontToc()));
                }

                for (Chunk chunk : p.getChunks()) {
                    chunk.setAction(PdfAction.gotoLocalPage("page" + tocEntry.getFinalPageNumber(), false));
                }

                int y;
                if (tocEntryNumber < getNumberOfItemsPerTocPage(0)) {
                    y = 460 - (16 * (tocEntryNumber % getNumberOfItemsPerTocPage(0)));
                } else {
                    y = 680 - (16 * ((tocEntryNumber - getNumberOfItemsPerTocPage(0))
                            % getNumberOfItemsPerTocPage(currentTocPage - firstTocPage)));
                }

                final ColumnText ct = new ColumnText(canvas);
                ct.setSimpleColumn(p, 52, y, 555, 70, 0, Element.ALIGN_JUSTIFIED);
                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 {//from  w ww. java2s . co  m

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

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

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

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

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

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

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

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

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

public void contratoVenda(HttpServletRequest request, HttpServletResponse response) throws IOException {
    try {/*w  w w.  j  a v  a2  s  . com*/

        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  www  .  j  a  v a  2  s.c o  m

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        ByteArrayOutputStream baos = new ByteArrayOutputStream();

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

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

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

    //String placa = request.getParameter("placa");
    //criando map que ir adicionar as informaes do cliente
    ArrayList<TreeMap<String, String>> clienteAuxiliar = new ArrayList<TreeMap<String, String>>();
    int codCliente = Integer.parseInt("1");
    int tipoCliente = Integer.parseInt("1");
    String cpfCnpj = "01370797290";
    // busca no BD as informaes do cliente
    ClienteDAO clienteDAO = null;/*  w w w.j  av a2s . 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  ww  w  .  j av a 2s .  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;//from  w w  w.ja  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.centurylink.mdw.pdf.PdfExportHelper.java

License:Apache License

private void printAttributes(Section section, List<Attribute> attrs, int parentLevel) {
    Paragraph sTitle = new Paragraph("Activity Attributes", subSectionFont);
    Section subsection = section.addSection(sTitle, parentLevel == 0 ? 0 : (parentLevel + 1));
    com.itextpdf.text.List list = new com.itextpdf.text.List(false, false, 20.0f);
    for (Attribute attr : attrs) {
        if (excludeAttribute(attr.getAttributeName(), attr.getAttributeValue()))
            continue;
        Phrase phrase = new com.itextpdf.text.Phrase();
        phrase.add(new Chunk(attr.getAttributeName(), fixedWidthFont));
        String v = attr.getAttributeValue();
        if (v == null)
            v = "";
        phrase.add(new Chunk(": " + v, normalFont));
        list.add(new ListItem(phrase));
    }/* w  w  w .j  a v a  2  s  . c om*/
    subsection.add(list);
}