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:com.docdoku.server.esindexer.ESTools.java

License:Open Source License

private static String pdfDocumentToString(InputStream inputStream, String fullName) throws IOException {
    StringBuilder buf = new StringBuilder();
    try (InputStream pdfStream = new BufferedInputStream(inputStream)) {
        PdfReader reader = new PdfReader(pdfStream);
        for (int i = 1; i <= reader.getNumberOfPages(); i++) {
            buf.append(pdfPageToString(reader, i, fullName));
        }//from   w  w  w .j  a v  a2  s. com
        reader.close();
    }

    return buf.toString();
}

From source file:com.docdoku.server.extras.TitleBlockGenerator.java

License:Open Source License

public static InputStream mergePdfDocuments(InputStream input1, InputStream input2) {

    try {//from   www . j  a  va 2  s .c  om
        File tmpDir = com.google.common.io.Files.createTempDir();
        File tmpCopyFile = new File(tmpDir, TEMP_FILE_NAME);
        InputStream[] files = { input1, input2 };

        Document doc = new Document();
        PdfCopy copy = new PdfCopy(doc, new FileOutputStream(tmpCopyFile));
        doc.open();
        PdfReader pdfReader;

        int n;
        // TODO check for resources to be closed
        for (InputStream file : files) {
            pdfReader = new PdfReader(file);
            n = pdfReader.getNumberOfPages();
            for (int page = 0; page < n;) {
                copy.addPage(copy.getImportedPage(pdfReader, ++page));
            }
        }

        doc.close();

        tmpDir.deleteOnExit();

        return new FileInputStream(tmpCopyFile);
    } catch (Exception e) {
        LOGGER.log(Level.INFO, null, e);
    }

    return null;
}

From source file:com.ephesoft.dcma.util.PDFUtil.java

License:Open Source License

/**
 * API for getting the number of pages in the pdf file.
 * /*from w  ww  .j a  v a 2 s . c o  m*/
 * @param filePath file path {@link String}
 * @return numberOfPage
 */
public static int getPDFPageCount(String filePath) {
    int numberOfPage = 0;
    PdfReader pdfReader = null;
    try {
        pdfReader = new PdfReader(new RandomAccessFileOrArray(filePath), null);
        numberOfPage = pdfReader.getNumberOfPages();
    } catch (IOException e) {
        LOG.error("Error in reading the file:" + filePath + UtilConstants.SPACE + e.getMessage(), e);
    } finally {
        if (pdfReader != null) {
            pdfReader.close();
        }
    }
    return numberOfPage;
}

From source file:com.erikHolz.vertretungsplan.Converter.java

License:Open Source License

public void parsePDF() throws IOException {

    PdfReader reader = new PdfReader(fileDest + ".pdf");
    PdfReaderContentParser parser = new PdfReaderContentParser(reader);
    PrintWriter out = new PrintWriter(new FileOutputStream(fileDest + "__.txt"));

    TextExtractionStrategy strategy;/*from  w  w  w .  j  a  v a2  s.c  o  m*/
    for (int intI = 1; intI <= reader.getNumberOfPages(); intI++) {
        strategy = parser.processContent(intI, new LocationTextExtractionStrategy());
        out.println(strategy.getResultantText());
    }

    out.flush();
    out.close();
    reader.close();

    // lschen der ursprnglichen pdf
    File f = new File(fileDest + ".pdf");
    if (f.exists())
        f.delete();
}

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

License:Open Source License

private void addPdf(final File file, final Document document, final PdfWriter writer) throws Exception {
    PdfReader pdfReader = null;
    try (InputStream is = new FileInputStream(file)) {
        pdfReader = new PdfReader(is);
        PdfContentByte cb = writer.getDirectContent();
        for (int currentPage = 1; currentPage <= pdfReader.getNumberOfPages(); currentPage++) {
            Rectangle currentPageSize = pdfReader.getPageSize(currentPage);
            document.setPageSize(currentPageSize);
            document.newPage();//from w  ww .  ja va  2 s  .c om
            PdfImportedPage page = writer.getImportedPage(pdfReader, currentPage);
            cb.addTemplate(page, 0, 0);
            writePageNumber(cb);

        }
        writer.flush();
    } finally {
        if (pdfReader != null) {
            writer.freeReader(pdfReader);
            ItextUtils.close(pdfReader);
        }
    }
}

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

License:Open Source License

private static int getPageCountPdf(final InputStream is) {
    PdfReader pdfReader = null;
    try {//from w  w  w.  j  a  v a  2 s.c om
        pdfReader = new PdfReader(is);
        return pdfReader.getNumberOfPages();
    } catch (Exception e) {
        return 0;
    } finally {
        ItextUtils.close(pdfReader);
    }
}

From source file:com.github.hossman.PdfShrinker.java

License:Apache License

public static void main(String args[]) throws Exception {
    if (1 != args.length) {
        System.err.println("Run this app with a single command line PDF filename");
        System.err.println("The specified file will be read, and a shrunk version written to stdout");
        System.err.println("ie:   java -jar pdf-shrinker.jar big.pdf > small.pdf");
        System.exit(-1);/*from w  ww  .java 2s  .  c  o m*/
    }

    Document document = new Document();
    PdfSmartCopy copy = new PdfSmartCopy(document, System.out);
    copy.setCompressionLevel(9);
    copy.setFullCompression();
    document.open();
    PdfReader reader = new PdfReader(args[0]);
    List<HashMap<String, Object>> bookmarks = SimpleBookmark.getBookmark(reader);
    int pages = reader.getNumberOfPages();
    for (int i = 0; i < pages; i++) {
        PdfImportedPage page = copy.getImportedPage(reader, i + 1);
        copy.addPage(page);
    }
    copy.freeReader(reader);
    reader.close();
    copy.setOutlines(bookmarks);
    document.close();
}

From source file:com.github.sgelb.sldownloader.model.Pdf.java

License:Open Source License

public void mergePdfs() throws DocumentException, IOException {
    String title = book.getPdfTitle() + ".pdf";
    File saveFile = new File(saveFolder, title);

    int count = 1;
    while (saveFile.exists()) {
        title = book.getPdfTitle() + "_" + count++ + ".pdf";
        saveFile = new File(saveFolder, title);
    }/*  w ww  .jav a2 s .  com*/
    book.setInfo("saveFile", saveFile.toString());

    Document document = new Document();
    PdfCopy destPdf = new PdfCopy(document, new FileOutputStream(saveFile));
    document.open();
    PdfReader reader;
    int page_offset = 0;
    int n;
    ArrayList<HashMap<String, Object>> bookmarks = new ArrayList<HashMap<String, Object>>();
    List<HashMap<String, Object>> tmp;

    count = 1;
    System.out.println("Start mergin\u2026");
    for (File srcPdf : src) {

        if (Thread.interrupted()) {
            return;
        }

        System.out.print(":: " + count++ + "/" + src.size());
        reader = new PdfReader(srcPdf.toString());

        tmp = SimpleBookmark.getBookmark(reader);
        if (tmp != null) {
            SimpleBookmark.shiftPageNumbers(tmp, page_offset, null);
            bookmarks.addAll(tmp);
        }

        n = reader.getNumberOfPages();
        page_offset += n;
        for (int page = 0; page < n;) {
            destPdf.addPage(destPdf.getImportedPage(reader, ++page));
        }
        destPdf.freeReader(reader);
        reader.close();
        System.out.println(" succeed.");
    }
    if (!bookmarks.isEmpty()) {
        destPdf.setOutlines(bookmarks);
    }

    if (book.getInfo("author") != null)
        document.addAuthor(book.getInfo("author"));
    if (book.getInfo("title") != null)
        document.addTitle(book.getInfo("title"));
    if (book.getInfo("subtitle") != null)
        document.addSubject(book.getInfo("subtitle"));
    document.close();

    System.out.println("Merge complete. Saved to " + saveFile);
}

From source file:com.github.ukase.bulk.BulkRenderTask.java

License:Open Source License

private void appendPdf(Document document, PdfWriter writer, PdfContentByte cb, byte[] pdf) throws IOException {
    PdfReader reader = new PdfReader(pdf);
    for (int i = 1; i <= reader.getNumberOfPages(); i++) {
        PdfImportedPage page = writer.getImportedPage(reader, i);
        document.newPage();//from  www.j  ava2s.co  m
        cb.addTemplate(page, 0, 0);
    }
}

From source file:com.github.ukase.service.PdfRenderer.java

License:Open Source License

private void addSampleWatermark(ByteArrayOutputStream baos, char pdfVersion)
        throws IOException, DocumentException {
    PdfReader reader = new PdfReader(baos.toByteArray());
    baos.reset();/* ww w.ja  v  a2 s  .c om*/
    Phrase phrase = new Phrase(waterMark.getText(), font);
    PdfStamper stamper = new PdfStamper(reader, baos, pdfVersion);
    for (int i = 1; i <= reader.getNumberOfPages(); i++) {
        PdfContentByte canvas = stamper.getUnderContent(i);
        ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase, waterMark.getX(), waterMark.getY(),
                waterMark.getDegree());
    }
    stamper.close();
    reader.close();
}