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 String filename, final Certificate certificate, final Key certificateKey,
        final String certificateKeyProvider) throws IOException 

Source Link

Document

Reads and parses a PDF document.

Usage

From source file:com.vectorprint.report.itext.DefaultElementProducer.java

License:Open Source License

@Override
public void loadPdf(InputStream pdf, PdfWriter writer, Certificate certificate, Key key,
        String securityProvider, ImageProcessor imageProcessor, int... pages) throws VectorPrintException {
    // first download, then load
    File f = null;//w  w w.j a v a 2 s .c o m
    try {
        f = File.createTempFile("pdf.", "pdf");
        f.deleteOnExit();
        IOHelper.load(pdf, new FileOutputStream(f), ReportConstants.DEFAULTBUFFERSIZE, true);
        PdfReader reader = new PdfReader(f.getPath(), certificate, key, securityProvider);
        if (pages == null) {
            for (int i = 0; i < reader.getNumberOfPages();) {
                imageProcessor.processImage(Image.getInstance(writer.getImportedPage(reader, ++i)));
                writer.freeReader(reader);
            }
        } else {
            for (int i : pages) {
                imageProcessor.processImage(Image.getInstance(writer.getImportedPage(reader, i)));
                writer.freeReader(reader);
            }
        }
    } catch (BadElementException | IOException ex) {
        throw new VectorPrintException(String.format("unable to load image %s", pdf.toString()), ex);
    } finally {
        if (f != null) {
            f.delete();
        }
    }
}