Example usage for com.itextpdf.text.pdf PdfStamper getOverContent

List of usage examples for com.itextpdf.text.pdf PdfStamper getOverContent

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf PdfStamper getOverContent.

Prototype

public PdfContentByte getOverContent(final int pageNum) 

Source Link

Document

Gets a PdfContentByte to write over the page of the original document.

Usage

From source file:NPRImpl.java

@Override
public boolean saveReservationToPdf(ReservationImpl reservationImpl) throws RemoteException {

    try {//from   ww w . j  a va  2s  . co m
        BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt"));
        String path = "";
        try {
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();

            while (line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = br.readLine();
            }
            path = sb.toString().trim();
        } finally {
            br.close();
        }
        // TODO add your handling code here:
        Document doc = new Document();
        FileOutputStream fos = new FileOutputStream(path + "\\reservation\\" + reservationImpl.getlName().trim()
                + ", " + reservationImpl.getfName().trim() + "ReservationForm.pdf");
        PdfWriter pdfWriter = PdfWriter.getInstance(doc, fos);
        PdfReader pdfReader = new PdfReader("ReservationForm.pdf");

        PdfStamper pdfStamper = new PdfStamper(pdfReader, fos);
        for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {
            PdfContentByte content = pdfStamper.getOverContent(i);
            //Text over the existing page
            BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED);
            content.beginText();
            content.setFontAndSize(bf, 10);
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, reservationImpl.getDatePaid().trim(), 435, 655,
                    0);
            if (reservationImpl.getmName().trim().isEmpty()) {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT,
                        reservationImpl.getlName().trim() + ", " + reservationImpl.getfName(), 265, 625, 0);
            } else {
                content.showTextAligned(
                        PdfContentByte.ALIGN_LEFT, reservationImpl.getlName().trim() + ", "
                                + reservationImpl.getfName() + " " + reservationImpl.getmName().charAt(0) + ".",
                        265, 625, 0);
            }
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, reservationImpl.getAddress().trim(), 265, 600,
                    0);
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, reservationImpl.getZipCode().trim(), 265, 580,
                    0);
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, reservationImpl.getmNumber().trim(), 265, 565,
                    0);
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, reservationImpl.getEmail().trim(), 265, 550, 0);
            content.setFontAndSize(bf, 12);
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Room No.:" + reservationImpl.getRoom().trim(),
                    125, 370, 0);
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, reservationImpl.getRoomType().trim(), 325, 370,
                    0);
            //                content.showTextAligned(PdfContentByte.ALIGN_LEFT, reservationImpl.getsTerm().trim(), 125, 310, 0);
            if (reservationImpl.getsTerm() != null) {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, reservationImpl.getsTerm().trim(), 125, 310,
                        0);
                if (!reservationImpl.getAyTo().trim().isEmpty()
                        & !reservationImpl.getAyFrom().trim().isEmpty()) {
                    content.showTextAligned(PdfContentByte.ALIGN_LEFT,
                            reservationImpl.getAyFrom().trim() + " - " + reservationImpl.getAyTo().trim(), 325,
                            310, 0);
                    content.showTextAligned(PdfContentByte.ALIGN_LEFT, " - ", 435, 310, 0);
                } else {
                    content.showTextAligned(PdfContentByte.ALIGN_LEFT, " - ", 325, 310, 0);
                    content.showTextAligned(PdfContentByte.ALIGN_LEFT, " - ", 435, 310, 0);
                }
            } else {
                if (reservationImpl.getOthers().trim().isEmpty()) {
                    content.showTextAligned(PdfContentByte.ALIGN_LEFT, " - ", 325, 310, 0);
                    content.showTextAligned(PdfContentByte.ALIGN_LEFT, " - ", 435, 310, 0);
                } else {
                    content.showTextAligned(PdfContentByte.ALIGN_LEFT, " - ", 325, 310, 0);
                    content.showTextAligned(PdfContentByte.ALIGN_LEFT, reservationImpl.getOthers().trim(), 435,
                            310, 0);
                }
            }
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, reservationImpl.getDatePaid().trim(), 265, 210,
                    0);
            content.endText();
        }
        pdfStamper.close();
        pdfReader.close();
        fos.close();
        pdfWriter.close();
    } catch (DocumentException | FileNotFoundException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    } catch (IOException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    }
    return true;
}

From source file:NPRImpl.java

@Override
public boolean saveRegistrationToPdf(RegistrationImpl registrationImpl, ResidentImpl residentImpl)
        throws RemoteException {
    try {/*  ww  w .j  a  v  a2  s  .  co  m*/
        BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt"));
        String path = "";
        try {
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();

            while (line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = br.readLine();
            }
            path = sb.toString().trim();
        } finally {
            br.close();
        }
        String gend = "";
        Document doc = new Document();
        FileOutputStream fos = new FileOutputStream(path + "\\registration\\" + residentImpl.getLName().trim()
                + ", " + residentImpl.getFName().trim() + "RegistrationResidentForm.pdf");
        PdfWriter pdfWriter = PdfWriter.getInstance(doc, fos);

        PdfReader pdfReader = new PdfReader("RegistrationResidentForm.pdf");

        PdfStamper pdfStamper = new PdfStamper(pdfReader, fos);

        for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {
            PdfContentByte content = pdfStamper.getOverContent(i);
            if (residentImpl.getPicture() != null) {
                Image image1 = Image.getInstance(residentImpl.getPicture());
                image1.scaleAbsolute(95, 105);
                image1.setAbsolutePosition(465f, 635f);
                content.addImage(image1);
            }

            //Text over the existing page
            BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED);
            content.beginText();
            content.setFontAndSize(bf, 10);
            //last name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, residentImpl.getLName().trim(), 175, 610, 0);
            //first name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, residentImpl.getFName().trim(), 325, 610, 0);
            //middle name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, residentImpl.getMName().trim(), 470, 610, 0);
            //college
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getCollege().trim(), 180, 582,
                    0);
            //Course and year
            content.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    registrationImpl.getCourse().trim() + " - " + registrationImpl.getYear().trim(), 180, 568,
                    0);
            //department
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getDepartment().trim(), 400,
                    582, 0);
            //Sex
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, residentImpl.getGender().trim(), 400, 568, 0);
            //Home address
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getAddress().trim(), 110, 540,
                    0);
            //resident mobile no1
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getMobile_number().trim(), 187,
                    485, 0);
            //resident mobile no2
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getMobile_number2().trim(), 187,
                    470, 0);
            //student email
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getEmail().trim(), 397, 485, 0);
            //fathers name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getFatherName().trim(), 110,
                    443, 0);
            //fathers area code
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getFatherAreaCode().trim(), 300,
                    443, 0);
            //father landline
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getFatherPhone().trim(), 355,
                    443, 0);
            //father mobile
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getFatherMobile().trim(), 490,
                    443, 0);
            //father email
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getFatherEmail().trim(), 110,
                    430, 0);
            //mother name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getMotherName().trim(), 110,
                    402, 0);
            //mother area code
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getMotherAreaCode().trim(), 300,
                    402, 0);
            //mother landline
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getMotherPhone().trim(), 355,
                    402, 0);
            //mother mobile
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getMotherMobile().trim(), 490,
                    402, 0);
            //mother email
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getMotherEmail().trim(), 110,
                    387, 0);
            //guardian name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getGuardianName().trim(), 170,
                    335, 0);
            //guardian contact number
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getGuardianMobile().trim(), 470,
                    335, 0);
            //guardian address
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getGuardianAddress().trim(),
                    125, 322, 0);
            //guardian relation
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, registrationImpl.getGuardianRelation().trim(),
                    170, 307, 0);
            content.setFontAndSize(bf, 12);
            //room details
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Room No.: "
                    + registrationImpl.getRoom_number().trim() + " - " + registrationImpl.getRoom_type().trim(),
                    355, 235, 0);
            content.endText();

        }
        pdfStamper.close();
        pdfReader.close();
        fos.close();
        pdfWriter.close();
    } catch (DocumentException | FileNotFoundException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    } catch (IOException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    }
    return true;
}

From source file:NPRImpl.java

@Override
public boolean saveFurnitureToPdf(ArrayList<String> info, ArrayList<FurnitureImpl> furnitureImpl)
        throws RemoteException {
    try {/*from  w ww .java 2 s. c o  m*/
        // TODO add your handling code here:
        Document doc = new Document();
        BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt"));
        String path = "";
        try {
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();

            while (line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = br.readLine();
            }
            path = sb.toString().trim();
        } finally {
            br.close();
        }
        FileOutputStream fos = new FileOutputStream(path + "\\furniture\\" + info.get(0) + "InventoryForm.pdf");
        PdfWriter pdfWriter = PdfWriter.getInstance(doc, fos);

        PdfReader pdfReader = new PdfReader("InventoryForm.pdf");
        PdfStamper pdfStamper = new PdfStamper(pdfReader, fos);
        float added = 0;
        float rowSize = 175;
        float columnSize = 560;
        for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {
            PdfContentByte content = pdfStamper.getOverContent(i);
            //Text over the existing page
            BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED);
            content.beginText();
            content.setFontAndSize(bf, 10);
            //room number
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(0).trim(), 185, 650, 0);
            //room type
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(2).trim(), 185, 635, 0);
            //resident
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(1).trim(), 185, 620, 0);
            for (FurnitureImpl f : furnitureImpl) {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, f.getItem_name().trim(), rowSize - 60,
                        columnSize + added, 0);
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, f.getControl_number().trim(), rowSize + 30,
                        columnSize + added, 0);
                added -= 15;
            }

            content.endText();
        }
        pdfStamper.close();
        pdfReader.close();
        fos.close();
        pdfWriter.close();
    } catch (FileNotFoundException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    } catch (DocumentException | IOException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    }
    return true;
}

From source file:NPRImpl.java

@Override
public boolean saveGadgetToPdf(ArrayList<String> info, ArrayList<GadgetImpl> gadgetImpl)
        throws RemoteException {
    try {//from w w  w.  j a  v a 2s.c o m
        // TODO add your handling code here:
        BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt"));
        String path = "";
        try {
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();

            while (line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = br.readLine();
            }
            path = sb.toString().trim();
        } finally {
            br.close();
        }
        Document doc = new Document();
        FileOutputStream fos = new FileOutputStream(
                path + "\\gadget\\" + info.get(0).trim() + "GadgetForm.pdf");
        PdfWriter pdfWriter = PdfWriter.getInstance(doc, fos);

        PdfReader pdfReader = new PdfReader("GadgetForm.pdf");

        PdfStamper pdfStamper = new PdfStamper(pdfReader, fos);
        float rowSize = 175;
        float columnSize = 495;
        float added = 0;
        for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {
            PdfContentByte content = pdfStamper.getOverContent(i);
            //Text over the existing page
            BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED);
            content.beginText();
            content.setFontAndSize(bf, 10);
            //room number
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(1).trim(), 240, 630, 0);
            //room type
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(2).trim(), 240, 615, 0);
            //resident
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(0).trim(), 240, 600, 0);
            for (GadgetImpl g : gadgetImpl) {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, g.getItem_name().trim(), rowSize - 60,
                        columnSize + added, 0);
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, g.getDescription().trim(), rowSize + 65,
                        columnSize + added, 0);
                added -= 15;
            }

            content.endText();
        }
        pdfStamper.close();
        pdfReader.close();
        fos.close();
        pdfWriter.close();
    } catch (DocumentException | FileNotFoundException | IllegalPdfSyntaxException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    } catch (IOException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    }
    return true;
}

From source file:NPRImpl.java

@Override
public boolean saveTransientToPdf(TransientImpl transientImpl, ArrayList<String> names) throws RemoteException {
    try {/*from  w ww  . j av a 2s. c om*/
        BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt"));
        String path = "";
        try {
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();

            while (line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = br.readLine();
            }
            path = sb.toString().trim();
        } finally {
            br.close();
        }

        com.itextpdf.text.Document doc = new com.itextpdf.text.Document();
        FileOutputStream fos = new FileOutputStream(path + "\\transient\\" + transientImpl.getLast_name().trim()
                + ", " + transientImpl.getFirst_name().trim() + "TransientForm.pdf");
        PdfWriter.getInstance(doc, fos);

        PdfReader pdfReader = new PdfReader("TransientForm.pdf");

        PdfStamper pdfStamper = new PdfStamper(pdfReader, fos);
        float varPosition = 0;
        for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {
            PdfContentByte content = pdfStamper.getOverContent(i);
            //Text over the existing page
            BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED);
            content.beginText();
            content.setFontAndSize(bf, 10);
            varPosition = 15;
            //last name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    transientImpl.getLast_name().trim() + ", " + transientImpl.getFirst_name().trim(), 100,
                    661 + varPosition, 0);
            //first name 
            content.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    new SimpleDateFormat("MM/dd/yyyy").format(Calendar.getInstance().getTime()), 400,
                    661 + varPosition, 0);
            if (!transientImpl.getFull_name().isEmpty()) {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, transientImpl.getFull_name().trim(), 125,
                        633 + varPosition, 0);
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, transientImpl.getRelation().trim(), 470,
                        633 + varPosition, 0);
            } else {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, "N / A", 125, 633 + varPosition, 0);
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, "N / A", 470, 633 + varPosition, 0);
            }
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, transientImpl.getMobile_number().trim(), 135,
                    590 + varPosition, 0);
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, transientImpl.getEmail().trim(), 400,
                    590 + varPosition, 0);
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, transientImpl.getAddress().trim(), 175,
                    577 + varPosition, 0);
            varPosition = 35;
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, transientImpl.getReservedRooms().trim(), 135,
                    507 + varPosition, 0);
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, transientImpl.getArrival().trim(), 135,
                    493 + varPosition, 0);
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, transientImpl.getDeparture().trim(), 435,
                    493 + varPosition, 0);
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, transientImpl.getNoAdditionalGuest().trim(), 180,
                    478 + varPosition, 0);
            for (int count = 0; count < names.size(); count++) {
                float x = 50;
                if (count <= 3) {
                    content.showTextAligned(PdfContentByte.ALIGN_LEFT, names.get(0).trim(), x,
                            435 + varPosition, 0);
                    varPosition -= 13;
                    if (count == 3) {
                        varPosition = 35;
                    }
                } else if (count >= 4 & count <= 7) {
                    content.showTextAligned(PdfContentByte.ALIGN_LEFT, names.get(0).trim(), x + 200,
                            435 + varPosition, 0);
                    varPosition -= 13;
                    if (count == 7) {
                        varPosition = 35;
                    }
                } else {
                    content.showTextAligned(PdfContentByte.ALIGN_LEFT, names.get(0).trim(), x + 400,
                            435 + varPosition, 0);
                    varPosition -= 13;
                }
            }
            content.endText();
        }
        pdfStamper.close();
        pdfReader.close();
    } catch (DocumentException | FileNotFoundException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    } catch (IOException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    }
    return true;
}

From source file:NPRImpl.java

@Override
public boolean saveTransientBillingToPdf(String transientIdnum, String amountPaid, String admin,
        String controlN, String mode, String remarks) throws RemoteException {
    try {/*from ww w .  j a  va  2s  .  c o  m*/
        // TODO add your handling code here:
        BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt"));
        String path = "";
        try {
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();

            while (line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = br.readLine();
            }
            path = sb.toString().trim();
        } finally {
            br.close();
        }
        PreparedStatement preparedStatement = connection
                .prepareStatement("SELECT * FROM transient WHERE transientIdnum = ?");
        preparedStatement.setInt(1, Integer.parseInt(transientIdnum.trim()));
        ResultSet rs = preparedStatement.executeQuery();
        rs.next();

        Document doc = new Document();
        FileOutputStream fos = new FileOutputStream(
                path + "\\transientBilling\\" + rs.getString("transientFname") + " "
                        + rs.getString("transientLname") + "CheckoutDetails.pdf");
        PdfWriter.getInstance(doc, fos);

        PdfReader pdfReader = new PdfReader("Payment Remittance.pdf");

        PdfStamper pdfStamper = new PdfStamper(pdfReader, fos);

        for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {
            PdfContentByte content = pdfStamper.getOverContent(i);
            //Text over the existing page
            BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED);
            content.beginText();
            content.setFontAndSize(bf, 11);

            content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Control Number: " + controlN, 300, 260, 0);
            if (mode.equals("cash")) {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 346, 218, 0);
            } else if (mode.equals("cheque")) {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 347, 198, 0);
            } else {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 347, 178, 0);
            }

            content.showTextAligned(PdfContentByte.ALIGN_LEFT, remarks, 330, 140, 0);
            //Date
            content.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    new SimpleDateFormat("MM/dd/yyyy").format(Calendar.getInstance().getTime()), 460, 260, 0);
            //Resident name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    rs.getString("transientFname") + " " + rs.getString("transientLname"), 90, 250, 0);
            //Purpose of payment
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Transient Checkout", 125, 223, 0);
            //Room Details
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, rs.getString("transientReservedRoomNo"), 125,
                    183, 0);
            //Amount
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, amountPaid, 125, 158, 0);
            //Received By admin  name!
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, admin, 125, 105, 0);
            content.endText();

        }
        pdfStamper.close();
        pdfReader.close();
        fos.close();

        return true;
    } catch (DocumentException | SQLException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    } catch (FileNotFoundException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    } catch (IOException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    }
}

From source file:NPRImpl.java

@Override
public boolean saveStatementOfAccountToPDF(ArrayList<String> info) throws RemoteException {
    try {/*from  w ww  .ja va  2 s.  c o  m*/
        BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt"));
        String path = "";
        try {
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();

            while (line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = br.readLine();
            }
            path = sb.toString().trim();
        } finally {
            br.close();
        }

        com.itextpdf.text.Document doc = new com.itextpdf.text.Document();
        FileOutputStream fos = new FileOutputStream(
                path + "\\residentStatementOfAccount\\" + info.get(0) + "statementOfAccounts.pdf");
        PdfWriter pdfWriter = PdfWriter.getInstance(doc, fos);

        PdfReader pdfReader = new PdfReader("statementOfAccounts.pdf");

        PdfStamper pdfStamper = new PdfStamper(pdfReader, fos);

        java.util.Date date = new SimpleDateFormat("yyyy-MM-dd").parse(info.get(6));

        for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {
            PdfContentByte content = pdfStamper.getOverContent(i);
            BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED);
            content.beginText();
            content.setFontAndSize(bf, 10);
            //month
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, new SimpleDateFormat("MMMM").format(date), 205,
                    625, 0);
            //name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(0), 125, 610, 0);
            //roomNumber
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(1), 130, 598, 0);
            //monthly rate
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(2), 205, 560, 0);
            //Shuttle rate
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(3), 205, 545, 0);
            //gadget rate
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(4), 205, 530, 0);
            //additional fee
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(5), 205, 518, 0);
            //total amount
            Double totalAmount = Double.parseDouble(info.get(2)) + Double.parseDouble(info.get(3))
                    + Double.parseDouble(info.get(4));
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, totalAmount + "", 205, 490, 0);
            //due date

            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            cal.add(Calendar.MONTH, Calendar.MONTH - 1);
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(7), 130, 463, 0);

            content.endText();

        }
        pdfStamper.close();
        pdfReader.close();
        fos.close();
        pdfWriter.close();

        return true;
    } catch (DocumentException | ParseException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    } catch (FileNotFoundException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    } catch (IOException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    }
}

From source file:NPRImpl.java

@Override
public boolean savePaymentRemittanceToPDF(ArrayList<String> info) throws RemoteException {
    try {/*from w w w.j  a  v a 2 s  .  co m*/
        // TODO add your handling code here:
        BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt"));
        String path = "";
        try {
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();

            while (line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = br.readLine();
            }
            path = sb.toString().trim();
        } finally {
            br.close();
        }

        Document doc = new Document();
        FileOutputStream fos = new FileOutputStream(
                path + "\\residentBilling\\" + info.get(0) + "Payment Remittance.pdf");
        PdfWriter.getInstance(doc, fos);

        PreparedStatement preparedStatement = connection.prepareStatement(
                "SELECT * FROM billing WHERE residentIdnum = ? AND billingStatus LIKE 'unpaid'");
        preparedStatement.setInt(1, Integer.parseInt(info.get(7)));
        ResultSet rs = preparedStatement.executeQuery();
        rs.next();

        PdfReader pdfReader = new PdfReader("Payment Remittance.pdf");

        PdfStamper pdfStamper = new PdfStamper(pdfReader, fos);

        for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {
            PdfContentByte content = pdfStamper.getOverContent(i);
            //Text over the existing page
            BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED);
            content.beginText();
            content.setFontAndSize(bf, 11);

            content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Control Number: " + info.get(4), 300, 260, 0);
            if (info.get(5).equals("cash")) {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 346, 218, 0);
            } else if (info.get(5).equals("cheque")) {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 347, 198, 0);
            } else {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 347, 178, 0);
            }

            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(6), 330, 140, 0);
            //Date
            content.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    new SimpleDateFormat("MM/dd/yyyy").format(Calendar.getInstance().getTime()), 460, 260, 0);
            //Resident name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(0), 90, 250, 0);
            //Purpose of payment
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Resident Monthly Billing", 90, 223, 0);
            //Room Details
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(1), 125, 183, 0);
            //Amount
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(2), 125, 158, 0);
            //Received By admin  name!
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(3), 125, 105, 0);
            content.endText();

        }
        pdfStamper.close();
        pdfReader.close();
        fos.close();

        return true;
    } catch (DocumentException | SQLException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    } catch (FileNotFoundException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    } catch (IOException ex) {
        //            Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex);
        label.setText(ex.getMessage());
        return false;
    }
}

From source file:Billing.java

public boolean savePaymentRemittanceToPDF(ArrayList<String> info) {
    try {//w w  w  .  j  a v  a2  s .co  m
        // TODO add your handling code here:
        BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt"));
        String path = "";
        try {
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();

            while (line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = br.readLine();
            }
            path = sb.toString().trim();
        } finally {
            br.close();
        }

        Document doc = new Document();
        FileOutputStream fos = new FileOutputStream(
                path + "\\residentBilling\\" + info.get(0) + "Payment Remittance.pdf");
        PdfWriter.getInstance(doc, fos);

        PreparedStatement preparedStatement = connection.prepareStatement(
                "SELECT * FROM billing WHERE residentIdnum = ? AND billingStatus LIKE 'unpaid'");
        preparedStatement.setInt(1, Integer.parseInt(info.get(7)));
        ResultSet rs = preparedStatement.executeQuery();
        rs.next();

        PdfReader pdfReader = new PdfReader("Payment Remittance.pdf");

        PdfStamper pdfStamper = new PdfStamper(pdfReader, fos);

        for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {
            PdfContentByte content = pdfStamper.getOverContent(i);
            //Text over the existing page
            BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED);
            content.beginText();
            content.setFontAndSize(bf, 11);

            content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Control Number: " + info.get(4), 300, 260, 0);
            if (info.get(5).equals("cash")) {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 346, 218, 0);
            } else if (info.get(5).equals("cheque")) {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 347, 198, 0);
            } else {
                content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 347, 178, 0);
            }

            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(6), 330, 140, 0);
            //Date
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, new SimpleDateFormat("MM/dd/yyyy")
                    .format(dateLabel.getDateFormat().parse(dateLabel.getText())), 460, 260, 0);
            //Resident name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(0), 90, 250, 0);
            //Purpose of payment
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Resident Monthly Billing", 90, 223, 0);
            //Room Details
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(1), 125, 183, 0);
            //Amount
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(2), 125, 158, 0);
            //Received By admin  name!
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(3), 125, 105, 0);
            content.endText();

        }
        pdfStamper.close();
        pdfReader.close();
        fos.close();

        return true;
    } catch (DocumentException | SQLException | ParseException ex) {
        //            Logger.getLogger(Billing.class.getName()).log(Level.SEVERE, null, ex);
        new MessageDialog().error(this, ex.getMessage());
        return false;
    } catch (FileNotFoundException ex) {
        //            Logger.getLogger(Billing.class.getName()).log(Level.SEVERE, null, ex);
        new MessageDialog().error(this, ex.getMessage());
        return false;
    } catch (IOException ex) {
        //            Logger.getLogger(Billing.class.getName()).log(Level.SEVERE, null, ex);
        new MessageDialog().error(this, ex.getMessage());
        return false;
    }
}

From source file:Registration_Tenant.java

private void saveToPdf() {
    try {//  w w  w.j  a v  a 2  s  .c om
        String gend = "";
        Document doc = new Document();
        BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt"));
        String path = "";
        try {
            StringBuilder sb = new StringBuilder();
            String line = br.readLine();

            while (line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = br.readLine();
            }
            path = sb.toString().trim();
        } finally {
            br.close();
        }
        FileOutputStream fos = new FileOutputStream(
                path + "\\registration\\" + lastNameTextField.getText().trim() + ", "
                        + firstNameTextField.getText().trim() + "RegistrationResidentForm.pdf");
        PdfWriter pdfWriter = PdfWriter.getInstance(doc, fos);

        PdfReader pdfReader = new PdfReader("RegistrationResidentForm.pdf");

        PdfStamper pdfStamper = new PdfStamper(pdfReader, fos);

        for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {
            PdfContentByte content = pdfStamper.getOverContent(i);

            byte[] cc = null;
            if (file != null) {
                File thisFile = new File(file);
                cc = Files.readAllBytes(thisFile.toPath());
            }
            if (cc != null) {
                Image image1 = Image.getInstance(cc);
                image1.scaleAbsolute(95, 105);
                image1.setAbsolutePosition(465f, 635f);
                content.addImage(image1);
            }

            //Text over the existing page
            BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED);
            content.beginText();
            content.setFontAndSize(bf, 10);
            //last name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, lastNameTextField.getText().trim(), 175, 610, 0);
            //first name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, firstNameTextField.getText().trim(), 325, 610,
                    0);
            //middle name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, middleNameTextField.getText().trim(), 470, 610,
                    0);
            //college
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, collegeTextField.getText().trim(), 180, 582, 0);
            //Course and year
            content.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    courseTextField.getText().trim() + " - " + yearTextField.getText().trim(), 180, 568, 0);
            //department
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, departmentTextField.getText().trim(), 400, 582,
                    0);
            String g;
            if (male.isSelected()) {
                g = "Male";//6
            } else {
                g = "Female";//6
            }
            //Sex
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, g, 400, 568, 0);
            //Home address
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, homeAddressTextArea.getText(), 110, 540, 0);
            //resident mobile no1
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, MobileNumber1.getText().trim(), 187, 485, 0);
            //resident mobile no2
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, MobileNumber2.getText().trim(), 187, 470, 0);
            //student email
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, email.getText().trim(), 397, 485, 0);
            //fathers name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fatherNameTextField.getText().trim(), 110, 443,
                    0);
            //fathers area code
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fACodeTextField.getText().trim(), 300, 443, 0);
            //father landline
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fphoneNumberTextField.getText().trim(), 355, 443,
                    0);
            //father mobile
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fMobileNumberTextField.getText().trim(), 490,
                    443, 0);
            //father email
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, fEmailTextField.getText().trim(), 110, 430, 0);
            //mother name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, motherNameTextField.getText().trim(), 110, 402,
                    0);
            //mother area code
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, mACodeTextField.getText().trim(), 300, 402, 0);
            //mother landline
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, mphoneNumberTextField.getText().trim(), 355, 402,
                    0);
            //mother mobile
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, mMobileNumberTextField.getText().trim(), 490,
                    402, 0);
            //mother email
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, mEmailTextField.getText().trim(), 110, 387, 0);
            //guardian name
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, guardianNameTextField.getText().trim(), 170, 335,
                    0);
            //guardian contact number
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, gContactNumber1.getText().trim(), 470, 335, 0);
            //guardian address
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, guardianAddress.getText().trim(), 125, 322, 0);
            //guardian relation
            content.showTextAligned(PdfContentByte.ALIGN_LEFT, relationToGuardian.getText().trim(), 170, 307,
                    0);
            content.setFontAndSize(bf, 12);
            //room details
            content.showTextAligned(PdfContentByte.ALIGN_LEFT,
                    "Room No.: " + roomNumberTextField.getSelectedItem().toString().trim() + " - "
                            + roomTypeTextField.getText().trim(),
                    355, 235, 0);
            content.endText();

        }
        pdfStamper.close();
        pdfReader.close();
        fos.close();
        pdfWriter.close();
    } catch (DocumentException ex) {
        //            Logger.getLogger(Registration_Tenant.class.getName()).log(Level.SEVERE, null, ex);
        new MessageDialog().error(this, ex.getMessage());
    } catch (FileNotFoundException ex) {
        //            Logger.getLogger(Registration_Tenant.class.getName()).log(Level.SEVERE, null, ex);
        new MessageDialog().error(this, ex.getMessage());
    } catch (IOException ex) {
        //            Logger.getLogger(Registration_Tenant.class.getName()).log(Level.SEVERE, null, ex);
        new MessageDialog().error(this, ex.getMessage());
    }
}