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; }
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; }
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; }
/** * 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); }
PdfImportedPage(PdfReaderInstance readerInstance, PdfWriter writer, int pageNumber) { this.readerInstance = readerInstance; this.pageNumber = pageNumber; this.writer = writer; bBox = readerInstance.getReader().getPageSize(pageNumber); setMatrix(1, 0, 0, 1, -bBox.getLeft(), -bBox.getBottom()); type = TYPE_IMPORTED; }
/** * 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); }
PdfImportedPage(PdfReaderInstance readerInstance, PdfWriter writer, int pageNumber) { this.readerInstance = readerInstance; this.pageNumber = pageNumber; this.writer = writer; bBox = readerInstance.getReader().getPageSize(pageNumber); setMatrix(1, 0, 0, 1, -bBox.getLeft(), -bBox.getBottom()); type = TYPE_IMPORTED; }
/** * 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); }
PdfImportedPage(PdfReaderInstance readerInstance, PdfWriter writer, int pageNumber) { this.readerInstance = readerInstance; this.pageNumber = pageNumber; this.writer = writer; bBox = readerInstance.getReader().getPageSize(pageNumber); setMatrix(1, 0, 0, 1, -bBox.getLeft(), -bBox.getBottom()); type = TYPE_IMPORTED; }
/** * Signals that the <CODE>Document</CODE> was closed and that no other * <CODE>Elements</CODE> will be added. * <P> * The pages-tree is built and written to the outputstream. A Catalog is constructed, as well as an Info-object, the reference table is * composed and everything is written to the outputstream embedded in a Trailer. */ public void close() { if (open) { PdfReaderInstance ri = currentPdfReaderInstance; pdf.close(); super.close(); if (ri != null) { try { ri.getReader().close(); ri.getReaderFile().close(); } catch (IOException ioe) { // empty on purpose } } } }
/** * Create a page stamp. New content and annotations, including new fields, are allowed. The fields added cannot have parents in another * pages. This method modifies the PdfReader instance.<p> The general usage to stamp something in a page is: * <p> * <pre> * PdfImportedPage page = copy.getImportedPage(reader, 1); * PdfCopy.PageStamp ps = copy.createPageStamp(page); * ps.addAnnotation(PdfAnnotation.createText(copy, new Rectangle(50, 180, 70, 200), "Hello", "No Thanks", true, "Comment")); * PdfContentByte under = ps.getUnderContent(); * under.addImage(img); * PdfContentByte over = ps.getOverContent(); * over.beginText(); * over.setFontAndSize(bf, 18); * over.setTextMatrix(30, 30); * over.showText("total page " + totalPage); * over.endText(); * ps.alterContents(); * copy.addPage(page); * </pre> * * @param iPage an imported page * @return the <CODE>PageStamp</CODE> */ public PageStamp createPageStamp(PdfImportedPage iPage) { int pageNum = iPage.getPageNumber(); PdfReader reader = iPage.getPdfReaderInstance().getReader(); PdfDictionary pageN = reader.getPageN(pageNum); return new PageStamp(reader, pageN, this); }
/** * Signals that the <CODE>Document</CODE> was closed and that no other * <CODE>Elements</CODE> will be added. * <P> * The pages-tree is built and written to the outputstream. * A Catalog is constructed, as well as an Info-object, * the reference table is composed and everything is written * to the outputstream embedded in a Trailer. */ public void close() { if (open) { PdfReaderInstance ri = currentPdfReaderInstance; pdf.close(); super.close(); if (ri != null) { try { ri.getReader().close(); ri.getReaderFile().close(); } catch (IOException ioe) { // empty on purpose } } } } public PdfIndirectReference add(PdfOutline outline) { return null; }
/** * Create a page stamp. New content and annotations, including new fields, are allowed. * The fields added cannot have parents in another pages. This method modifies the PdfReader instance.<p> * The general usage to stamp something in a page is: * <p> * <pre> * PdfImportedPage page = copy.getImportedPage(reader, 1); * PdfCopy.PageStamp ps = copy.createPageStamp(page); * ps.addAnnotation(PdfAnnotation.createText(copy, new Rectangle(50, 180, 70, 200), "Hello", "No Thanks", true, "Comment")); * PdfContentByte under = ps.getUnderContent(); * under.addImage(img); * PdfContentByte over = ps.getOverContent(); * over.beginText(); * over.setFontAndSize(bf, 18); * over.setTextMatrix(30, 30); * over.showText("total page " + totalPage); * over.endText(); * ps.alterContents(); * copy.addPage(page); * </pre> * @param iPage an imported page * @return the <CODE>PageStamp</CODE> */ public PageStamp createPageStamp(PdfImportedPage iPage) { int pageNum = iPage.getPageNumber(); PdfReader reader = iPage.getPdfReaderInstance().getReader(); PdfDictionary pageN = reader.getPageN(pageNum); return new PageStamp(reader, pageN, this); }
/** * Signals that the <CODE>Document</CODE> was closed and that no other * <CODE>Elements</CODE> will be added. * <P> * The pages-tree is built and written to the outputstream. * A Catalog is constructed, as well as an Info-object, * the reference table is composed and everything is written * to the outputstream embedded in a Trailer. */ public void close() { if (open) { PdfReaderInstance ri = currentPdfReaderInstance; pdf.close(); super.close(); if (ri != null) { try { ri.getReader().close(); ri.getReaderFile().close(); } catch (IOException ioe) { // empty on purpose } } } } public PdfIndirectReference add(PdfOutline outline) { return null; }
/** * Visualizes an imported page * @param iPage */ public void listPage(PdfImportedPage iPage) { int pageNum = iPage.getPageNumber(); PdfReaderInstance readerInst = iPage.getPdfReaderInstance(); PdfReader reader = readerInst.getReader(); PdfDictionary page = reader.getPageN(pageNum); listDict(page); PdfObject obj = PdfReader.getPdfObject(page.get(PdfName.CONTENTS)); if (obj == null) return; switch (obj.type) { case PdfObject.STREAM: listStream((PRStream)obj, readerInst); break; case PdfObject.ARRAY: for (Iterator i = ((PdfArray)obj).listIterator(); i.hasNext();) { PdfObject o = PdfReader.getPdfObject((PdfObject)i.next()); listStream((PRStream)o, readerInst); out.println("-----------"); } break; } } }
/** * Visualizes an imported page * @param iPage */ public void listPage(PdfImportedPage iPage) { int pageNum = iPage.getPageNumber(); PdfReaderInstance readerInst = iPage.getPdfReaderInstance(); PdfReader reader = readerInst.getReader(); PdfDictionary page = reader.getPageN(pageNum); listDict(page); PdfObject obj = PdfReader.getPdfObject(page.get(PdfName.CONTENTS)); if (obj == null) return; switch (obj.type) { case PdfObject.STREAM: listStream((PRStream)obj, readerInst); break; case PdfObject.ARRAY: for (Iterator i = ((PdfArray)obj).listIterator(); i.hasNext();) { PdfObject o = PdfReader.getPdfObject((PdfObject)i.next()); listStream((PRStream)o, readerInst); out.println("-----------"); } break; } } }
/** * Visualizes an imported page * @param iPage */ public void listPage(PdfImportedPage iPage) { int pageNum = iPage.getPageNumber(); PdfReaderInstance readerInst = iPage.getPdfReaderInstance(); PdfReader reader = readerInst.getReader(); PdfDictionary page = reader.getPageN(pageNum); listDict(page); PdfObject obj = PdfReader.getPdfObject(page.get(PdfName.CONTENTS)); if (obj == null) return; switch (obj.type) { case PdfObject.STREAM: listStream((PRStream)obj, readerInst); break; case PdfObject.ARRAY: for (Iterator i = ((PdfArray)obj).listIterator(); i.hasNext();) { PdfObject o = PdfReader.getPdfObject((PdfObject)i.next()); listStream((PRStream)o, readerInst); out.println("-----------"); } break; } } }