Example usage for com.itextpdf.text.pdf PdfReader PdfReader

List of usage examples for com.itextpdf.text.pdf PdfReader PdfReader

Introduction

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

Prototype

public PdfReader(final PdfReader reader) 

Source Link

Document

Creates an independent duplicate.

Usage

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  www  .j  a  v a2 s  . 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 {//  www.jav  a 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 ww .  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();
        }

        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:watermark.java

public static void main(String[] args) {
    try {/*from www.  j a v a  2s .c om*/
        PdfReader reader = new PdfReader(args[0]);
        PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(args[1]));
        stamp.getWriter().setCompressionLevel(9); // without this code it'll 3 times bigger

        int bottom_margin = Integer.parseInt(args[2]);
        String lic = String.format(LIC, args[3]);

        BaseFont bf = BaseFont.createFont(FONTFILE, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
        Chunk c = new Chunk(lic, new Font(bf, 7, Font.NORMAL, TCOLOR));
        c.setTextRenderMode(PdfContentByte.TEXT_RENDER_MODE_FILL_STROKE, 1 / 800f, null);

        Phrase phrase = new Phrase(c);

        int pages = reader.getNumberOfPages();
        int xpos = 90;
        for (int i = 1; i <= pages; i++) {
            if (i % 2 == 0)
                xpos = 160;
            else
                xpos = 90;

            PdfContentByte under = stamp.getUnderContent(i);
            ColumnText.showTextAligned(under, Element.ALIGN_LEFT, phrase, xpos, bottom_margin, -0);
        }

        stamp.setFullCompression(); // without this code it'll 3 times bigger
        stamp.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:Billing.java

public boolean savePaymentRemittanceToPDF(ArrayList<String> info) {
    try {/*from   w w w .j  a  v  a2  s . c om*/
        // 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:Separator.java

License:Apache License

public static void run(File file) {
    String name = file.getName();
    Object[] options = { "Vertical", "Horizontal", "Cancel" };
    String fileName = "";
    int answer = JOptionPane.showOptionDialog(null,
            "Before you begin separating a PDF file, place it in a folder called \"Scan Folder\" \non the desktop. Select the orientation of the "
                    + "first page of " + name + " below.\n\n" + "(Clicking Cancel will stop the process.)",
            "PDFSeparator", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, null, options,
            options[2]);//from w w w  .  jav a2s.  co  m
    if (answer == JOptionPane.CANCEL_OPTION || answer == JOptionPane.CLOSED_OPTION) {
        System.exit(0);
    }
    if (answer == JOptionPane.YES_OPTION) {
        verFlag = true;
    }
    if (answer == JOptionPane.NO_OPTION) {
        verFlag = false;
    }

    try {
        Object[] options2 = { "Single-sided", "Double-sided", "Cancel" };
        int answer2 = JOptionPane.showOptionDialog(null,
                "Is " + name + " single-sided or double-sided?\n" + "(Clicking Cancel will stop the process.)",
                "PDFSeparator", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options2,
                options2[2]);
        if (answer2 == JOptionPane.CANCEL_OPTION || answer == JOptionPane.CLOSED_OPTION) {
            System.exit(0);
        }
        if (answer2 == JOptionPane.YES_OPTION) {
            doubSided = false;
        }
        if (answer2 == JOptionPane.NO_OPTION) {
            doubSided = true;
        }
        fileName = file.getPath();
        // Creating main scan File

        pReader = new PdfReader(fileName);

        // Creating temp pictures folder
        File scanPics = new File(scanFolder + "Temp Pictures\\temp.txt");
        picsFolder = new File(scanFolder + "Temp Pictures");
        File tempFolderFile = new File(scanFolder + "Temp PDFs\\temp2.txt");
        tempFolder = new File(scanFolder + "Temp PDFs");
        scanPics.getParentFile().mkdirs();
        tempFolderFile.getParentFile().mkdirs();
        FileWriter writer = new FileWriter(scanPics);
        FileWriter writer2 = new FileWriter(tempFolderFile);
        writer.close();
        writer2.close();
        scanPics.delete();
        tempFolderFile.delete();

        // config option 1:convert all document to image
        PDFtoImageArgs = new String[3];
        PDFtoImageArgs[0] = "-outputPrefix";
        PDFtoImageArgs[1] = System.getProperty("user.home")
                + "\\Desktop\\Scan Folder\\Temp Pictures\\my_image_";
        PDFtoImageArgs[2] = fileName;
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null,
                "Make sure the PDF  is in a desktop folder \nnamed" + "\"Scan Folder\", then try again.",
                "Error!", JOptionPane.OK_OPTION);
        System.exit(0);
    }

    try {
        PDFToImage.main(PDFtoImageArgs);
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null,
                "There was an error while trying to read\n" + "the PDF pages as images.", "Error!",
                JOptionPane.OK_OPTION);
        System.exit(0);
    }

    splitPDFFile(fileName);

    // Clearing Temp Pictures & deleting the folder
    File[] files = picsFolder.listFiles();
    for (File f : files) {
        f.delete();
    }
    picsFolder.delete();
    pReader.close();
}

From source file:Separator.java

License:Apache License

public static void crop(String inFileName, String outFileName, int split, boolean vert) throws Exception {

    PdfReader reader = new PdfReader(new File(inFileName).getAbsolutePath());
    String PDFName = outFileName.substring(outFileName.lastIndexOf("Folder\\") + 7,
            outFileName.indexOf(".pdf"));
    File fn = new File(scanFolder + PDFName + "\\" + PDFName + "_split_" + split + ".pdf");
    fn.getParentFile().mkdirs();//  w w w . j a va2s  . co  m

    int count = reader.getNumberOfPages();
    Document doc = new Document();
    PdfCopy copy = new PdfCopy(doc, new FileOutputStream(fn.getAbsolutePath()));
    doc.open();
    if (vert) {
        for (int i = 1; i <= count; i++) {
            reader.getPageN(i).put(PdfName.CROPBOX, new PdfRectangle(PageSize.LETTER));
            copy.addPage(copy.getImportedPage(reader, i));
        }
    } else {
        if (!doubSided) {
            for (int j = 1; j <= count; j++) {
                reader.getPageN(j).put(PdfName.CROPBOX, new PdfRectangle((new Rectangle(0, 180, 792, 792))));
                PdfDictionary pageDict;
                int rot = reader.getPageRotation(j);
                pageDict = reader.getPageN(j);
                pageDict.put(PdfName.ROTATE, new PdfNumber(rot + 90));
                copy.addPage(copy.getImportedPage(reader, j));
            }
        } else {
            for (int j = 1; j <= count; j++) {
                reader.getPageN(j).put(PdfName.CROPBOX, new PdfRectangle(new Rectangle(0, 180, 792, 792)));
                PdfDictionary pageDict;
                pageDict = reader.getPageN(j);
                if (j % 2 == 0) { // even
                    pageDict.put(PdfName.ROTATE, new PdfNumber(270));
                } else { // odd
                    pageDict.put(PdfName.ROTATE, new PdfNumber(90));
                }
                copy.addPage(copy.getImportedPage(reader, j));
            }
        }
    }
    doc.close();
}

From source file:TwoCustPDF.java

public static void createfile(File inputfile, Customer myCust, String SecondCust, Inverter myInvert,
        ExtraData mydata, Preparer myPrep, Module myMod) throws DocumentException, IOException {
    String[] LastFirst;//from   w  w  w. j av a  2s  .  c  om
    LastFirst = myCust.getName().split(" ");
    String homeDir = System.getProperty("user.home");
    String separator = System.getProperty("file.separator");
    String INPUTFILENAME = inputfile.getPath();
    String inputFileNameShort = inputfile.getName();
    inputFileNameShort = inputFileNameShort.substring(0, inputFileNameShort.lastIndexOf('.'));
    String OUTPUTFILENAME = homeDir + separator + "Dropbox" + separator + "Utility and Permiting" + separator
            + "1 Utility Submissions" + separator + LastFirst[LastFirst.length - 1] + ", " + LastFirst[0] + " "
            + "(" + myCust.getState() + ")" + separator + inputFileNameShort + "-" + myCust.getName() + ".pdf";
    File outfile = new File(OUTPUTFILENAME);
    outfile.getParentFile().mkdirs();
    if (!outfile.getParentFile().exists()) {
        boolean mkdirSts = outfile.getParentFile().mkdirs();
        GUI.instructions.setText(
                String.format("%s creating Files for %s", mkdirSts ? "Success" : "Failure", myCust.getName()));
    }

    PdfReader reader = new PdfReader(INPUTFILENAME);
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(OUTPUTFILENAME));
    AcroFields fields = stamper.getAcroFields();
    fields.setGenerateAppearances(true);
    fields.setField("Customer Name", SecondCust);
    fields.setField("Second Customer Name", myCust.getName());
    fields.setField("Account Number", mydata.getAccountNumber());
    fields.setField("Customer Street Address", myCust.getStreetAddress());
    fields.setField("Customer City", myCust.getCity());
    fields.setField("Customer Zip Code", myCust.getZipCode());
    fields.setField("Customer Phone", myCust.getCellNumber());
    fields.setField("Customer E-mail", myCust.getEmail());
    fields.setField("Preparer Name", myPrep.getName());
    fields.setField("License Number", myPrep.getLicencenum());
    fields.setField("Preparer Street Address", myPrep.getStreetAddress());
    fields.setField("Preparer City", myPrep.getCity());
    fields.setField("Preparer Zip Code", myPrep.getZipCode());
    fields.setField("Preparer Phone#", myPrep.getWorkPhoneNumber());
    fields.setField("Preparer E-mail", myPrep.getEmail());
    fields.setField("Module Brand", myMod.getBrand());
    fields.setField("Module Number", myMod.getNumber());
    fields.setField("Module qty", myMod.getQuantityString());
    fields.setField("ptc rating", myMod.getptcRating());
    fields.setField("Array Azimuth", myMod.getArrayAzimuth());
    fields.setField("Inverter Brand", myInvert.getBrand());
    fields.setField("Inverter Number", myInvert.getNumber());
    fields.setField("Inverter Efficiency", myInvert.getefficiencyString());
    fields.setField("DC kiloWatts", myMod.getDCkiloWatts() + "kW DC");
    fields.setField("Complete Date", mydata.getCompleteDate());
    fields.setField("Rebate Amount", mydata.getRebateAmount());
    fields.setField("Customer Address", myCust.getFullAddress());
    fields.setField("Array Tilt degrees", myMod.getArrayTilt());
    fields.setField("Customer + Customer Address", SecondCust + " " + myCust.getFullAddress());
    fields.setField("Preparer Address", myPrep.getFullAddress());
    fields.setField("AC kiloWatt", myInvert.getACKiloWatts());
    fields.setField("AC Export", mydata.getACExport());
    fields.setField("Amperage Rating", myInvert.getAmperage());
    fields.setField("Customer City, State, Zip", myCust.getCityStateZip());
    fields.setField("Inverter Name + Brand + Quantity", myInvert.getInverterNameBrandQty());
    fields.setField("Module Name + Brand + Quantity", myMod.getNumberBrandQty());
    fields.setField("Racking", myMod.getRacking());
    fields.setField("System Production", mydata.getProduction());
    fields.setField("System Cost", mydata.getCost());
    fields.setField("Date", mydata.getTodayDate());
    fields.setField("Module Watts", myMod.getWatts() + " " + "Watts");
    fields.setField("Price Per Watt", mydata.getPricePerWatt());
    stamper.close();
}

From source file:ReadmitArchiveFrame.java

private void tabletoPDF1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tabletoPDF1ActionPerformed
    // TODO add your handling code here:
    String title = "";
    if (jTabbedPane2.getSelectedIndex() == 0) {
        model = (DefaultTableModel) residentpersonalinfotable.getModel();
        title = "PersonalInformation";
    } else if (jTabbedPane2.getSelectedIndex() == 1) {
        model = (DefaultTableModel) residentcontactinfotable.getModel();
        title = "ContactInformation";
    } else if (jTabbedPane2.getSelectedIndex() == 2) {
        model = (DefaultTableModel) residentaddresstable.getModel();
        title = "AddressInformation";
    } else {/*  www .j  a v  a2  s. co m*/
        model = (DefaultTableModel) residentstatustable.getModel();
        title = "Status";
    }

    Document document = new Document();
    try {
        PdfWriter.getInstance(document, new FileOutputStream(path + "\\PDF\\" + title + "ReadmitArchive.pdf"));
        PdfReader pdfReader = new PdfReader("ReportGeneration.pdf");
        document.open();
        PdfPTable tab = new PdfPTable(model.getColumnCount());

        for (int i = 0; i < model.getColumnCount(); i++) {
            tab.addCell(model.getColumnName(i));
        }

        for (int i = 0; i < model.getRowCount(); i++) {
            for (int j = 0; j < model.getColumnCount(); j++) {
                if (model.getValueAt(i, j) != null) {
                    tab.addCell(model.getValueAt(i, j).toString());
                } else {
                    tab.addCell("-");
                }
            }
        }

        document.add(tab);
        pdfReader.close();

        JOptionPane.showMessageDialog(null,
                "Data saved at " + path + "'\\PDF\\" + title + "ReadmitArchive.pdf' successfully", "Message",
                JOptionPane.INFORMATION_MESSAGE);
        document.close();

    } catch (FileNotFoundException ex) {
        new MessageDialog().error(this, ex.getMessage());
    } catch (DocumentException | IOException ex) {
        //            Logger.getLogger(ReadmitArchiveFrame.class.getName()).log(Level.SEVERE, null, ex);
        new MessageDialog().error(this, ex.getMessage());
    }
}

From source file:Registration_Tenant.java

private void saveToPdf() {
    try {//from w  w  w  .ja va 2s  .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());
    }
}