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

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

Introduction

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

Prototype

public int getNumberOfPages() 

Source Link

Document

Gets the number of pages in the document.

Usage

From source file:pdf.letter.java

public boolean AlterLetter(String rujukan, String name, String position, String department, String gStatus,
        String sDate, String eDate, String taskName, String postHolderName, String postHolderEmail,
        String postName) {//from   w  w w .  j  a v  a 2  s  .  com
    DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
    Date today = Calendar.getInstance().getTime();
    String currDate = df.format(today);
    try {
        PdfReader pdfReader;
        pdfReader = new PdfReader("C:\\Users\\on\\Desktop\\AD\\TFMsystem\\web\\Appointment letter.pdf");
        //C:\\Users\\on\\Desktop\\AD\\TFMsystem\\web\\Appointment letter.pdf

        //Create PdfStamper instance.
        PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileOutputStream(
                "C:\\Users\\on\\Desktop\\AD\\TFMsystem\\web\\Modified appointment letter.pdf"));
        //C:\\Users\\on\\Desktop\\AD\\TFMsystem\\web\\Modified Appointment letter.pdf

        //Create BaseFont instance.
        BaseFont baseFont = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.CP1257, BaseFont.NOT_EMBEDDED);

        //Get the number of pages in pdf.
        int pages = pdfReader.getNumberOfPages();

        //Iterate the pdf through pages.
        for (int i = 1; i <= pages; i++) {
            //Contain the pdf data.
            PdfContentByte pageContentByte = pdfStamper.getOverContent(i);

            pageContentByte.beginText();
            //Set text font and size.
            pageContentByte.setFontAndSize(baseFont, 11);

            //Write text
            pageContentByte.setTextMatrix(120, 706);
            pageContentByte.showText(rujukan);

            pageContentByte.setTextMatrix(500, 706);
            pageContentByte.showText(currDate);
            //address
            pageContentByte.setTextMatrix(46, 641);
            pageContentByte.showText(name);
            pageContentByte.setTextMatrix(46, 629);
            pageContentByte.showText(position);
            pageContentByte.setTextMatrix(46, 617);
            pageContentByte.showText(department);

            String gstatus;

            pageContentByte.setTextMatrix(157, 493);
            String changeCase = gStatus + ", " + taskName;
            pageContentByte.showText(changeCase.toUpperCase());

            pageContentByte.setTextMatrix(250, 444);
            pageContentByte.showText(gStatus + "  " + taskName + " .");

            pageContentByte.setTextMatrix(180, 432);
            pageContentByte.showText(sDate);

            pageContentByte.setTextMatrix(290, 432);
            pageContentByte.showText(eDate + " .");

            pageContentByte.setTextMatrix(46, 248);
            pageContentByte.showText(postHolderName);
            pageContentByte.setTextMatrix(46, 236);
            pageContentByte.showText(postName);
            pageContentByte.setTextMatrix(46, 224);
            pageContentByte.showText("Fakulti Komputeran");
            pageContentByte.setTextMatrix(46, 212);
            pageContentByte.showText(postHolderEmail);

            pageContentByte.endText();
        }
        //Close the pdfStamper.
        pdfStamper.close();
        System.out.println("PDF modified successfully.");

        return true;
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }

}

From source file:pdf.SplitPDF.java

public static void splitPDF(InputStream inputStream, OutputStream outputStream, int fromPage, int toPage) {
    Document document = new Document();
    try {/*from   w  w  w .  ja va2  s. c  om*/
        PdfReader inputPDF = new PdfReader(inputStream);

        int totalPages = inputPDF.getNumberOfPages();

        //make fromPage equals to toPage if it is greater
        if (fromPage > toPage) {
            fromPage = toPage;
        }
        if (toPage > totalPages) {
            toPage = totalPages;
        }

        // Create a writer for the outputstream
        PdfWriter writer = PdfWriter.getInstance(document, outputStream);

        document.open();
        PdfContentByte cb = writer.getDirectContent(); // Holds the PDF data
        PdfImportedPage page;

        while (fromPage <= toPage) {
            document.newPage();
            page = writer.getImportedPage(inputPDF, fromPage);
            cb.addTemplate(page, 0, 0);
            fromPage++;
        }
        outputStream.flush();
        document.close();
        outputStream.close();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (document.isOpen()) {
            document.close();
        }
        try {
            if (outputStream != null) {
                outputStream.close();
            }
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
}

From source file:pdf.watermark.java

License:Open Source License

public watermark() {
    try {//from  w  w w.  ja  va 2s .c om
        PdfReader Read_PDF_To_Watermark = new PdfReader(
                "D:\\Dropbox\\Studium\\Bachelor Thesis\\Resourcen\\pdfexport\\xmltopdf\\test.pdf");
        int number_of_pages = Read_PDF_To_Watermark.getNumberOfPages();
        PdfStamper stamp = new PdfStamper(Read_PDF_To_Watermark, new FileOutputStream(
                "D:\\Dropbox\\Studium\\Bachelor Thesis\\Resourcen\\pdfexport\\xmltopdf\\New_PDF_With_Watermark_Image.pdf"));
        int i = 0;
        Image watermark_image = Image
                .getInstance("D:\\Dropbox\\Studium\\Bachelor Thesis\\Resourcen\\pdfexport\\xmltopdf\\desy.png");
        watermark_image.setAbsolutePosition(50, 150);
        watermark_image.scaleToFit(500, 500);
        PdfContentByte add_watermark;
        while (i < number_of_pages) {
            i++;
            add_watermark = stamp.getUnderContent(i);
            add_watermark.addImage(watermark_image);
        }
        stamp.close();
    } catch (IOException | DocumentException i1) {
        i1.printStackTrace();
    }
}

From source file:pdfextract.ControlPDF.java

public List<String> parsePdfToArrayList(String pdfPath) throws IOException {
    PdfReader reader = new PdfReader(pdfPath);
    PdfReaderContentParser parser = new PdfReaderContentParser(reader);
    List<String> arrayOftext = new ArrayList<String>();

    TextExtractionStrategy strategy;/*from   w  w  w.  ja va2s. c  o m*/
    for (int i = 1; i <= reader.getNumberOfPages(); i++) {
        strategy = parser.processContent(i, new SimpleTextExtractionStrategy());
        arrayOftext.add(strategy.getResultantText());
    }
    reader.close();

    return arrayOftext;
}

From source file:pdfextract.ControlPDF.java

public void extractImagesFromPdf(String filename, String save) throws IOException, DocumentException {
    PdfReader reader = new PdfReader(filename);
    PdfReaderContentParser parser = new PdfReaderContentParser(reader);
    ImageRenderListener listener = new ImageRenderListener(save);

    for (int i = 1; i <= reader.getNumberOfPages(); i++) {
        parser.processContent(i, listener);
    }//from www  . j ava 2s  .  c om
    reader.close();
}

From source file:pdfextract.ControlPDF.java

public String pdfToDIrAndimgToString(String pdfPath, File destnationPath)
        throws IOException, DocumentException, Exception {
    //boolean success;
    String kk = "";
    String desPath = null;//  www.  jav a  2 s . c  o  m
    PdfReader reader = new PdfReader(pdfPath);
    PdfReaderContentParser parser = new PdfReaderContentParser(reader);
    try {
        desPath = destnationPath.getName();

        new File(desPath.replace(".txt", "")).mkdir();
        PrintWriter out = new PrintWriter(
                new FileOutputStream(desPath.replace(".txt", "") + "/" + destnationPath.getName()));
        TextExtractionStrategy strategy;
        for (int i = 1; i <= reader.getNumberOfPages(); i++) {
            strategy = parser.processContent(i, new SimpleTextExtractionStrategy());
            out.println(i + " " + strategy.getResultantText());
        }
        reader.close();
        out.flush();
        out.close();
        extractImagesFromPdf(pdfPath, desPath.replace(".txt", "") + "/" + desPath.replace(".txt", ""));
        File f = new File(desPath.replace(".txt", "") + "/" + desPath.replace(".txt", "") + "-16.null");
        kk = imageToBase64String(f);
        /*File deletedFolder = new File(destnationPath.getParent());
        System.out.println("here"+destnationPath.getParent());
        deletedFolder.delete();
        System.out.println("is delete+ " + deletedFolder.delete());*/
        //       FileUtils.deleteDirectory(new File(deletedFolder.getParent()));
        //success = true;
    } catch (Exception ex) {
        //success = false;

    }

    return kk;
}

From source file:pdfextract.ExtractInfo.java

public List<String> parsePdf(String pdfPath) throws IOException {
    PdfReader reader = new PdfReader(pdfPath);
    PdfReaderContentParser parser = new PdfReaderContentParser(reader);
    //String [] arrayOftext= new String[300];
    List<String> arrayOftext = new ArrayList<String>();

    // PrintWriter out = new PrintWriter(new FileOutputStream(destnationPath));
    TextExtractionStrategy strategy;/*from   ww w  . jav  a 2s  .  c  o m*/
    for (int i = 1; i <= reader.getNumberOfPages(); i++) {
        strategy = parser.processContent(i, new SimpleTextExtractionStrategy());
        // out.println(i + " " + strategy.getResultantText());
        arrayOftext.add(strategy.getResultantText());
    }
    reader.close();

    return arrayOftext;
}

From source file:pdfextract.ExtractInfo.java

public void extractImages(String filename) throws IOException, DocumentException {

    PdfReader reader = new PdfReader(filename);
    PdfReaderContentParser parser = new PdfReaderContentParser(reader);
    ImageRenderListener listener = new ImageRenderListener("spdf");

    for (int i = 1; i <= reader.getNumberOfPages(); i++) {
        parser.processContent(i, listener);
    }//from  w ww  .  j  av a 2  s.  co m
    reader.close();
    BufferedImage buffImage;
}

From source file:pdfgen.pdf_generation_try5.java

public void AllFunctions(String realpath, String sample_pdf_path) {

    try {//from  ww  w  .j  a v a2s .c  om
        INPUTFILE = sample_pdf_path;
        // System.out.println("Inputfile: "+INPUTFILE);
        Document document = new Document();
        //PdfWriter.getInstance(document, new FileOutputStream(OUTPUTFILE));
        OUTPUTFILE = filepath(realpath);
        //System.out.println("Outputfile"+OUTPUTFILE);
        PdfReader reader = new PdfReader(INPUTFILE);
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(OUTPUTFILE));
        //     writer.setEncryption(USER_PASS.getBytes(), OWNER_PASS.getBytes(),PdfWriter.ALLOW_PRINTING, PdfWriter.ENCRYPTION_AES_128);

        document.open();
        addTitlePage(document);

        int n = reader.getNumberOfPages();
        PdfImportedPage page;
        // Go through all pages
        for (int i = 1; i <= n; i++) {

            page = writer.getImportedPage(reader, i);
            Image instance = Image.getInstance(page);
            instance.setAlignment(Element.ALIGN_LEFT);
            //  document.add(instance);

        }

        addMetaData(document);
        pdfReaderFunction(reader);
        AddParagraph(document);
        //    addContent(document);
        // scaleImage();
        qr_generator(document);
        document.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:pdfgen.pdf_generation_try5.java

public void pdfReaderFunction(PdfReader reader) throws IOException {

    String s;//from w  w w  .  jav a2 s.c  o m
    String u;
    String k;
    Xmltohashmap xh = new Xmltohashmap();
    //System.out.println(xh.hmap);
    int i = reader.getNumberOfPages();
    String s1 = null;
    for (int j = 1; j <= i; j++) {

        s = PdfTextExtractor.getTextFromPage(reader, j);
        k = s.format(s, null);
        // System.out.println(k);
        s1 = s1 + s;
        int st1 = s1.length();
        //   String nullChar=s1.substring(0,4);
        s1 = s1.substring(5, st1);
        //   System.out.println("This is null character"+nullChar);

    }
    Xmlgeneric xg = new Xmlgeneric();
    Iterator<Integer> iter = xg.tmap.keySet().iterator();
    for (int f = 0; f < xg.tmap.size(); f++) {

        /*---------------Jaydatta---------------
         * String key="*"+(String)xh.hmap.keySet().toArray()[f]+"*";
                
        String value=(String)xh.hmap.values().toArray()[f];
        */

        //-----------------------Prasanna----------------

        String key = "";
        String value = "";
        int keyOfMap = iter.next();
        key = "*" + keyOfMap + "*";
        value = xg.tmap.get(keyOfMap);
        //              System.out.println("key :=> "+key+": "+xg.tmap.get(keyOfMap));

        if (f == 0) {
            rep1 = s1.replace(key, value);
        } else {
            rep1 = rep1.replace(key, value);
        }
    }
}