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.photon.phresco.framework.docs.impl.DocumentUtil.java

License:Apache License

/**
 * @param titleSection//  ww  w .j a v  a 2s .c  om
 * @param pdfCopy
 * @throws PhrescoException 
 */
public static void addPages(InputStream titleSection, PdfCopy pdfCopy) throws PhrescoException {
    if (isDebugEnabled) {
        S_LOGGER.debug("Entering Method DocumentUtil.addPages(InputStream titleSection, PdfCopy pdfCopy)");
    }
    try {
        PdfReader reader = new PdfReader(titleSection);
        reader.consolidateNamedDestinations();
        int pages = reader.getNumberOfPages();
        for (int i = 1; i <= pages; i++) {
            PdfImportedPage importedPage = pdfCopy.getImportedPage(reader, i);
            pdfCopy.addPage(importedPage);
        }
        pdfCopy.freeReader(reader);
    } catch (BadPdfFormatException e) {
        e.printStackTrace();
        throw new PhrescoException(e);
    } catch (IOException e) {
        throw new PhrescoException(e);
    }
}

From source file:com.photon.phresco.framework.docs.impl.DocumentUtil.java

License:Apache License

/**
 * @param titleSection/*  w w w . j  a  v a2s  . c o  m*/
 * @param writer
 * @param docu
 * @throws PhrescoException 
 */
public static void addPages(InputStream titleSection, PdfWriter writer, com.itextpdf.text.Document docu)
        throws PhrescoException {
    if (isDebugEnabled) {
        S_LOGGER.debug(
                "Entering Method DocumentUtil.addPages(InputStream titleSection, PdfWriter writer, com.itextpdf.text.Document docu)");
    }
    try {
        PdfReader reader = new PdfReader(titleSection);
        reader.consolidateNamedDestinations();
        PdfContentByte cb = writer.getDirectContent();

        int pages = reader.getNumberOfPages();
        for (int i = 1; i <= pages; i++) {
            PdfImportedPage importedPage = writer.getImportedPage(reader, i);
            cb.addTemplate(importedPage, 0, 0);
            docu.newPage();
        }
    } catch (IOException e) {
        e.printStackTrace();
        throw new PhrescoException(e);
    }
}

From source file:com.photon.phresco.service.docs.impl.DocumentUtil.java

License:Apache License

/**
 * @param titleSection/*from w  w w  .  j  a  v a2s .  com*/
 * @param pdfCopy
 * @throws IOException
 * @throws BadPdfFormatException
 */
public static void addPages(InputStream titleSection, PdfCopy pdfCopy)
        throws IOException, BadPdfFormatException {
    if (isDebugEnabled) {
        S_LOGGER.debug("Entering Method DocumentUtil.addPages(InputStream titleSection, PdfCopy pdfCopy)");
    }
    PdfReader reader = new PdfReader(titleSection);
    reader.consolidateNamedDestinations();
    int pages = reader.getNumberOfPages();
    for (int i = 1; i <= pages; i++) {
        PdfImportedPage importedPage = pdfCopy.getImportedPage(reader, i);
        pdfCopy.addPage(importedPage);
    }
    pdfCopy.freeReader(reader);
}

From source file:com.photon.phresco.service.docs.impl.DocumentUtil.java

License:Apache License

/**
 * @param titleSection/*from w ww  . j  ava2  s .  com*/
 * @param writer
 * @param docu
 * @throws IOException
 * @throws DocumentException
 */
public static void addPages(InputStream titleSection, PdfWriter writer, com.itextpdf.text.Document docu)
        throws IOException, DocumentException {
    if (isDebugEnabled) {
        S_LOGGER.debug(
                "Entering Method DocumentUtil.addPages(InputStream titleSection, PdfWriter writer, com.itextpdf.text.Document docu)");
    }
    PdfReader reader = new PdfReader(titleSection);
    reader.consolidateNamedDestinations();
    PdfContentByte cb = writer.getDirectContent();

    int pages = reader.getNumberOfPages();
    for (int i = 1; i <= pages; i++) {
        PdfImportedPage importedPage = writer.getImportedPage(reader, i);
        cb.addTemplate(importedPage, 0, 0);
        docu.newPage();
    }
}

From source file:com.poet.ar.remover.AnnotationRemover.java

/**
 * @param fileIn  pdf filename you want to remove annotation
 * @param fileOut removed annotation pdf save path
 * @throws IOException//from w w  w.  j a  v a2 s .  co m
 * @throws DocumentException
 */
public static void doRemove(String fileIn, String fileOut) throws IOException, DocumentException {

    logger.debug("starting process file: " + fileIn);

    PdfReader reader = new PdfReader(fileIn);

    FileOutputStream fos = new FileOutputStream(fileOut);
    PdfStamper stamper = new PdfStamper(reader, fos);

    removeInfo(reader, stamper);

    int pageNums = reader.getNumberOfPages();

    int totalAnnoCount = 0;
    int totalContentCount = 0;
    for (int i = 1; i <= pageNums; i++) {

        PdfDictionary page = reader.getPageNRelease(i);

        int annoCount = doRemoveAnnotation(page);
        int contentCount = doRemoveContent(page);

        totalAnnoCount += annoCount;
        totalContentCount += contentCount;

        logger.debug("removed " + annoCount + " annotation(s) in page " + i + " ,in file: " + fileIn);
        logger.debug("removed " + contentCount + " content(s) in page " + i + " ,in file: " + fileIn);
    }

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

    logger.debug("success removed " + totalAnnoCount + " annotation(s), " + totalContentCount
            + " content(s), with output file: " + fileOut);
}

From source file:com.preselect.pdfservice.tasks.PdfConversionTask.java

License:Open Source License

public static void splitIText(OutlineItems outline, String inputFile, String outputPath)
        throws IOException, BadPdfFormatException, DocumentException {
    List<OutlineItem> outlineItems = filter(having(on(OutlineItem.class).getLevel(), equalTo(1)),
            outline.getItems());/* www  .  j  a v  a2s  .c o m*/
    PdfReader reader = new PdfReader(inputFile);
    reader.consolidateNamedDestinations();
    int numberOfPages = reader.getNumberOfPages();

    // Check if there are outline items
    if (outlineItems.size() <= 0) {
        throw new IllegalArgumentException("No outline items found!");
    }
    // Find start and end of each chapter
    for (int i = 0; i < outlineItems.size(); i++) {
        OutlineItem outlineItem = outlineItems.get(i);
        // fix for first chapter start at zero
        int chapterStart = outlineItem.getPage() < 1 ? 1 : outlineItem.getPage();
        int chapterEnd;
        // if last chapter is not reached yet ...
        if (outlineItems.size() > i + 1) {
            // ... get first page of next chapter and ...
            chapterEnd = outlineItems.get(i + 1).getPage();
            // ... reduce it for one page, if it's not a one page chapter
            if (chapterEnd != chapterStart) {
                chapterEnd--;
            }
        } else {
            // Otherwise set the end of last chapter to the end of the document
            chapterEnd = numberOfPages;
        }
        File file = new File(outputPath);
        file.mkdirs();
        String path = outputPath + File.separator + outlineItem.getId() + ".pdf";
        copyDocument(reader, chapterStart, chapterEnd, path, outline);

        Logger.getLogger(Task.class.getName()).log(Level.INFO, "Chapter: {0} - Start:{1} <-> End: {2}",
                new Object[] { outlineItem.getTitle(), chapterStart, chapterEnd });
    }
    reader.close();
}

From source file:com.qmetric.document.watermark.strategy.ImageWatermarkStrategy.java

License:Open Source License

@Override
public void apply(final PdfReader reader, final PdfStamper outputPdf) throws Exception {
    final Image image = pdfWatermarkFactory.createImage(reader);

    for (int pageNumber = 1; pageNumber <= reader.getNumberOfPages(); pageNumber++) {
        outputPdf.getOverContent(pageNumber).addImage(image);
    }//from   w w  w  .  j  a  v a  2  s .com
}

From source file:com.qmetric.document.watermark.strategy.MessageWatermarkStrategy.java

License:Open Source License

@Override
public void apply(final PdfReader reader, final PdfStamper outputPdf) throws Exception {
    for (int pageNumber = 1; pageNumber <= reader.getNumberOfPages(); pageNumber++) {
        final PdfContentByte overContent = outputPdf.getOverContent(pageNumber);

        applyTextTransparency(overContent);

        addTextToPage(reader.getPageSizeWithRotation(pageNumber), overContent, watermarkText);

        overContent.restoreState();/*from   ww  w . j  a  va2s .co  m*/
    }
}

From source file:com.sustainalytics.crawlerfilter.PDFTitleGeneration.java

License:Apache License

public static String extractITextText(String pdf) {
    PdfReader reader = null;
    try {/*from  w  w  w .  j a v a2s  . c  o m*/
        reader = new PdfReader(pdf);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    PdfReaderContentParser parser = new PdfReaderContentParser(reader);
    TextExtractionStrategy strategy;
    String text = "";
    for (int i = 1; i <= reader.getNumberOfPages(); i++) {
        try {
            strategy = parser.processContent(i, new SimpleTextExtractionStrategy());
            text += strategy.getResultantText();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    reader.close();

    return text;
}

From source file:com.sustainalytics.crawlerfilter.PDFtoText.java

License:Apache License

public static String extractITextText(String pdf) {
    PdfReader reader = null;
    try {//  w w  w  .  j  a  v a2 s .co m
        reader = new PdfReader(pdf);
    } catch (IOException e) {
        logger.info("Error in reading file with iText parser\n");
    }
    PdfReaderContentParser parser = new PdfReaderContentParser(reader);
    TextExtractionStrategy strategy;
    String text = "";
    for (int i = 1; i <= reader.getNumberOfPages(); i++) {
        try {
            strategy = parser.processContent(i, new SimpleTextExtractionStrategy());
            text += strategy.getResultantText();
        } catch (IOException e) {
            logger.info("Error in parsing with iText parser\n");
        }
        logger.info("PDF text extracted from " + pdf + "\n");
    }
    reader.close();

    return text;
}