protected PdfReaderInstance getPdfReaderInstance(PdfWriter writer) { return new PdfReaderInstance(this, writer); }
/** * Gets the stream representing this page. * * @param compressionLevel the compressionLevel * @return the stream representing this page * @since 2.1.3 (replacing the method without param compressionLevel) */ PdfStream getFormXObject(int compressionLevel) throws IOException { return readerInstance.getFormXObject(pageNumber, compressionLevel); }
protected int getNewObjectNumber(PdfReader reader, int number, int generation) { return currentPdfReaderInstance.getNewObjectNumber(number, generation); }
public void freeReader(PdfReader reader) throws IOException { indirectMap.remove(reader); if (currentPdfReaderInstance != null) { if (currentPdfReaderInstance.getReader() == reader) { try { currentPdfReaderInstance.getReader().close(); currentPdfReaderInstance.getReaderFile().close(); } catch (IOException ioe) { // empty on purpose } currentPdfReaderInstance = null; } } }
/** * Grabs a page from the input document * * @param reader the reader of the document * @param pageNumber which page to get * @return the page */ public PdfImportedPage getImportedPage(PdfReader reader, int pageNumber) { if (currentPdfReaderInstance != null) { if (currentPdfReaderInstance.getReader() != reader) { try { currentPdfReaderInstance.getReader().close(); currentPdfReaderInstance.getReaderFile().close(); } catch (IOException ioe) { // empty on purpose } currentPdfReaderInstance = reader.getPdfReaderInstance(this); } } else { currentPdfReaderInstance = reader.getPdfReaderInstance(this); } return currentPdfReaderInstance.getImportedPage(pageNumber); }
/** * convenience method. Given an imported page, set our "globals" */ protected int setFromIPage(PdfImportedPage iPage) { int pageNum = iPage.getPageNumber(); PdfReaderInstance inst = currentPdfReaderInstance = iPage.getPdfReaderInstance(); reader = inst.getReader(); setFromReader(reader); return pageNum; }
RandomAccessFileOrArray getReaderFile(PdfReader reader) { return currentPdfReaderInstance.getReaderFile(); }
/** * Use this method to writes the reader to the document * and free the memory used by it. * The main use is when concatenating multiple documents * to keep the memory usage restricted to the current * appending document. * @param reader the <CODE>PdfReader</CODE> to free * @throws IOException on error */ public void freeReader(PdfReader reader) throws IOException { currentPdfReaderInstance = importedPages.get(reader); if (currentPdfReaderInstance == null) return; currentPdfReaderInstance.writeAllPages(); currentPdfReaderInstance = null; importedPages.remove(reader); }
PdfObject getResources() { return readerInstance.getResources(pageNumber); }
/** * Use this method to get a page from other PDF document. * The page can be used as any other PdfTemplate. * Note that calling this method more than once with the same parameters * will retrieve the same object. * @param reader the PDF document where the page is * @param pageNumber the page number. The first page is 1 * @return the template representing the imported page */ public PdfImportedPage getImportedPage(PdfReader reader, int pageNumber) { PdfReaderInstance inst = (PdfReaderInstance)importedPages.get(reader); if (inst == null) { inst = reader.getPdfReaderInstance(this); importedPages.put(reader, inst); } return inst.getImportedPage(pageNumber); }
void writeAllPages() throws IOException { try { file.reOpen(); for (Iterator it = importedPages.values().iterator(); it.hasNext();) { PdfImportedPage ip = (PdfImportedPage)it.next(); writer.addToBody(ip.getFormXObject(writer.getCompressionLevel()), ip.getIndirectReference()); } writeAllVisited(); } finally { try { reader.close(); file.close(); } catch (Exception e) { //Empty on purpose } } } }
/** * Grabs a page from the input document * @param reader the reader of the document * @param pageNumber which page to get * @return the page */ public PdfImportedPage getImportedPage(PdfReader reader, int pageNumber) { if (currentPdfReaderInstance != null) { if (currentPdfReaderInstance.getReader() != reader) { try { currentPdfReaderInstance.getReader().close(); currentPdfReaderInstance.getReaderFile().close(); } catch (IOException ioe) { // empty on purpose } currentPdfReaderInstance = reader.getPdfReaderInstance(this); } } else { currentPdfReaderInstance = reader.getPdfReaderInstance(this); } return currentPdfReaderInstance.getImportedPage(pageNumber); }
public void freeReader(PdfReader reader) throws IOException { indirectMap.remove(reader); if (currentPdfReaderInstance != null) { if (currentPdfReaderInstance.getReader() == reader) { try { currentPdfReaderInstance.getReader().close(); currentPdfReaderInstance.getReaderFile().close(); } catch (IOException ioe) { // empty on purpose } currentPdfReaderInstance = null; } } }
/** * convenience method. Given an imported page, set our "globals" */ protected int setFromIPage(PdfImportedPage iPage) { int pageNum = iPage.getPageNumber(); PdfReaderInstance inst = currentPdfReaderInstance = iPage.getPdfReaderInstance(); reader = inst.getReader(); setFromReader(reader); return pageNum; }
RandomAccessFileOrArray getReaderFile(PdfReader reader) { return currentPdfReaderInstance.getReaderFile(); }
/** * Use this method to writes the reader to the document * and free the memory used by it. * The main use is when concatenating multiple documents * to keep the memory usage restricted to the current * appending document. * @param reader the <CODE>PdfReader</CODE> to free * @throws IOException on error */ public void freeReader(PdfReader reader) throws IOException { currentPdfReaderInstance = (PdfReaderInstance)importedPages.get(reader); if (currentPdfReaderInstance == null) return; currentPdfReaderInstance.writeAllPages(); currentPdfReaderInstance = null; importedPages.remove(reader); }
PdfObject getResources() { return readerInstance.getResources(pageNumber); }
/** * Use this method to get a page from other PDF document. * The page can be used as any other PdfTemplate. * Note that calling this method more than once with the same parameters * will retrieve the same object. * @param reader the PDF document where the page is * @param pageNumber the page number. The first page is 1 * @return the template representing the imported page */ public PdfImportedPage getImportedPage(PdfReader reader, int pageNumber) { PdfReaderInstance inst = importedPages.get(reader); if (inst == null) { inst = reader.getPdfReaderInstance(this); importedPages.put(reader, inst); } return inst.getImportedPage(pageNumber); }
void writeAllPages() throws IOException { try { file.reOpen(); for (Iterator it = importedPages.values().iterator(); it.hasNext();) { PdfImportedPage ip = (PdfImportedPage)it.next(); writer.addToBody(ip.getFormXObject(writer.getCompressionLevel()), ip.getIndirectReference()); } writeAllVisited(); } finally { try { reader.close(); file.close(); } catch (Exception e) { //Empty on purpose } } } }
/** * Grabs a page from the input document * @param reader the reader of the document * @param pageNumber which page to get * @return the page */ public PdfImportedPage getImportedPage(PdfReader reader, int pageNumber) { if (currentPdfReaderInstance != null) { if (currentPdfReaderInstance.getReader() != reader) { try { currentPdfReaderInstance.getReader().close(); currentPdfReaderInstance.getReaderFile().close(); } catch (IOException ioe) { // empty on purpose } currentPdfReaderInstance = reader.getPdfReaderInstance(this); } } else { currentPdfReaderInstance = reader.getPdfReaderInstance(this); } return currentPdfReaderInstance.getImportedPage(pageNumber); }