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:com.cyberninjas.pdf.PdfEditor.java

License:Open Source License

/**
 * Constructs an instance of {@code PdfEditor}.
 *
 * @param src the source PDF file location.
 * @throws IOException on I/O error reading PDF source file.
 *///from  w w  w . j a  va 2s .  c o m
public PdfEditor(final String src) throws IOException {
    reader = new PdfReader(src);

    baos = new ByteArrayOutputStream();

    try {
        stamper = new PdfStamper(reader, baos);
    } catch (DocumentException ex) {
        throw new PdfException("Failed to iniatialize PdfStamper", ex);
    }
}

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 ww .ja va 2  s . co  m*/
        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 {// w  w w .  j a va2 s  .  c  o  m
        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.education.freelancer.MainActivity.java

private void doSaveToPdf() {
    PdfReader reader = null;//from   w  w w  .  ja v a  2 s  .c o m
    SharedPreferences sharedpreferences = getSharedPreferences("my_shared", Context.MODE_PRIVATE);
    //  SharedPreferences prefs = this.getSharedPreferences("general_settings", Context.MODE_PRIVATE);
    String count = sharedpreferences.getString("count", "1");
    String pdfPath1 = Environment.getExternalStorageDirectory().getPath() + "/DigitSign/abc" + count + ".pdf";
    try {
        reader = new PdfReader(getAssets().open("abc.pdf"));
        // reader = new PdfReader(getResources().openRawResource(R.raw.abc));
        //  reader = new PdfReader( pdfPath );
    } catch (IOException e) {
        e.printStackTrace();
    }
    AcroFields fields = reader.getAcroFields();

    try {
        OutputStream output = null;
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(pdfPath1));
        AcroFields acroFields = stamper.getAcroFields();
        acroFields.setField("page2_1", getUserdetails(0));
        acroFields.setField("page3_2", getUserdetails(1));
        acroFields.setField("page3_3", getUserdetails(2));
        acroFields.setField("page3_4", getUserdetails(3));
        acroFields.setField("page3_6", getUserdetails(4));
        acroFields.setField("page6_1", getUserdetails(5));
        acroFields.setField("page6_2", getUserdetails(6));
        acroFields.setField("page6_4", getUserdetails(7));
        setSignatureStamp(stamper, acroFields, "page3_1");
        setSignatureStamp(stamper, acroFields, "page3_5");
        setSignatureStamp(stamper, acroFields, "page6_3");
        stamper.setFormFlattening(true);
        stamper.close();
        int cou = Integer.parseInt(count);

        String newCount = Integer.toString(++cou);
        SharedPreferences.Editor editor = sharedpreferences.edit();
        editor.putString("count", newCount);
        editor.commit();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (DocumentException e) {
        e.printStackTrace();
    }

}

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

License:Open Source License

/**
 * The <code>getSelectedPdfFile</code> method is used to limit the file
 * to the page limit given./*  www  . j a  va 2s .  com*/
 * 
 * @param pdfFile {@link File} pdf file from which limit has to be applied
 * @param pageLimit int
 * @throws IOException if file is not found
 * @throws DocumentException if document cannot be created
 */
public static void getSelectedPdfFile(final File pdfFile, final int pageLimit)
        throws IOException, DocumentException {
    PdfReader reader = null;
    Document document = null;
    PdfContentByte contentByte = null;
    PdfWriter writer = null;
    FileInputStream fileInputStream = null;
    FileOutputStream fileOutputStream = null;
    File newFile = null;
    if (null != pdfFile && pdfFile.exists()) {
        try {
            document = new Document();
            fileInputStream = new FileInputStream(pdfFile);

            String name = pdfFile.getName();
            final int indexOf = name.lastIndexOf(IUtilCommonConstants.DOT);
            name = name.substring(0, indexOf);
            final String finalPath = pdfFile.getParent() + File.separator + name + System.currentTimeMillis()
                    + IUtilCommonConstants.EXTENSION_PDF;
            newFile = new File(finalPath);
            fileOutputStream = new FileOutputStream(finalPath);
            writer = PdfWriter.getInstance(document, fileOutputStream);
            document.open();
            contentByte = writer.getDirectContent();

            reader = new PdfReader(fileInputStream);
            for (int i = 1; i <= pageLimit; i++) {
                document.newPage();

                // import the page from source pdf
                final PdfImportedPage page = writer.getImportedPage(reader, i);

                // add the page to the destination pdf
                contentByte.addTemplate(page, 0, 0);
                page.closePath();
            }
        } finally {
            closePassedStream(reader, document, contentByte, writer, fileInputStream, fileOutputStream);
        }
        if (pdfFile.delete() && null != newFile) {
            newFile.renameTo(pdfFile);
        } else {
            if (null != newFile) {
                newFile.delete();
            }
        }
    }
}

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;/*  w w  w . java2s .  co  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;//from ww w  .  ja va  2  s.  co m
    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();
            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;//from   www  .ja va2s  . c om
    try {
        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  2  s  . 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.naofum.epubconverter.ReadPdf.java

License:Open Source License

public static boolean open(String filename) {
    try {/*w  w  w .j  ava  2 s .  co  m*/
        reader = new PdfReader(filename);
        info = reader.getInfo();
    } catch (Exception e) {
        return true;
    } catch (OutOfMemoryError e) {
        return true;
    } catch (NoClassDefFoundError e) {
        return true;
    }
    return false;
}