/** * @see com.itextpdf.text.pdf.PdfWriter#getPageReference(int) */ @Override public PdfIndirectReference getPageReference(int page) { PdfIndirectReference ref = reader.getPageOrigRef(page); if (ref == null) throw new IllegalArgumentException(MessageLocalization.getComposedMessage("invalid.page.number.1", page)); return ref; }
/** * @see com.itextpdf.text.pdf.PdfWriter#getPageReference(int) */ @Override public PdfIndirectReference getPageReference(int page) { PdfIndirectReference ref = reader.getPageOrigRef(page); if (ref == null) throw new IllegalArgumentException(MessageLocalization.getComposedMessage("invalid.page.number.1", page)); return ref; }
PageStamp getPageStamp(int pageNum) { PdfDictionary pageN = reader.getPageN(pageNum); PageStamp ps = pagesToContent.get(pageN); if (ps == null) { ps = new PageStamp(this, reader, pageN); pagesToContent.put(pageN, ps); } ps.pageN.setIndRef(reader.getPageOrigRef(pageNum)); return ps; }
public static HashMap<String, String> getNamedDestination(PdfReader reader, boolean fromNames) { IntHashtable pages = new IntHashtable(); int numPages = reader.getNumberOfPages(); for (int k = 1; k <= numPages; ++k) pages.put(reader.getPageOrigRef(k).getNumber(), k); HashMap<String, PdfObject> names = fromNames ? reader.getNamedDestinationFromNames() : reader.getNamedDestinationFromStrings(); HashMap<String, String> n2 = new HashMap<String, String>(names.size()); for (Map.Entry<String, PdfObject> entry: names.entrySet()) { PdfArray arr = (PdfArray)entry.getValue(); StringBuffer s = new StringBuffer(); try { s.append(pages.get(arr.getAsIndirectObject(0).getNumber())); s.append(' ').append(arr.getPdfObject(1).toString().substring(1)); for (int k = 2; k < arr.size(); ++k) s.append(' ').append(arr.getPdfObject(k).toString()); n2.put(entry.getKey(), s.toString()); } catch (Exception e) { } } return n2; }
public boolean addNamedDestination(final String name, final int page, final PdfDestination dest) throws IOException { HashMap<Object, PdfObject> namedDestinations = stamper.getNamedDestinations(); if (getReader().getNamedDestination().containsKey(name)){ return false; } PdfDestination d = new PdfDestination(dest); d.addPage(getReader().getPageOrigRef(page)); namedDestinations.put(name, new PdfArray(d)); return true; }
public static HashMap<String, String> getNamedDestination(PdfReader reader, boolean fromNames) { IntHashtable pages = new IntHashtable(); int numPages = reader.getNumberOfPages(); for (int k = 1; k <= numPages; ++k) pages.put(reader.getPageOrigRef(k).getNumber(), k); HashMap<String, PdfObject> names = fromNames ? reader.getNamedDestinationFromNames() : reader.getNamedDestinationFromStrings(); HashMap<String, String> n2 = new HashMap<String, String>(names.size()); for (Map.Entry<String, PdfObject> entry: names.entrySet()) { PdfArray arr = (PdfArray)entry.getValue(); StringBuffer s = new StringBuffer(); try { s.append(pages.get(arr.getAsIndirectObject(0).getNumber())); s.append(' ').append(arr.getPdfObject(1).toString().substring(1)); for (int k = 2; k < arr.size(); ++k) s.append(' ').append(arr.getPdfObject(k).toString()); n2.put(entry.getKey(), s.toString()); } catch (Exception e) { } } return n2; }
public boolean addNamedDestination(final String name, final int page, final PdfDestination dest) throws IOException { HashMap<Object, PdfObject> namedDestinations = stamper.getNamedDestinations(); if (getReader().getNamedDestination().containsKey(name)){ return false; } PdfDestination d = new PdfDestination(dest); d.addPage(getReader().getPageOrigRef(page)); namedDestinations.put(name, new PdfArray(d)); return true; }
public int getDestinationPage() { if (!isInternal()) return 0; // here destination is something like // [132 0 R, /XYZ, 29.3898, 731.864502, null] PdfIndirectReference ref = destination.getAsIndirectObject(0); PRIndirectReference pr = (PRIndirectReference) ref; PdfReader r = pr.getReader(); for (int i = 1; i <= r.getNumberOfPages(); i++) { PRIndirectReference pp = r.getPageOrigRef(i); if (pp.getGeneration() == pr.getGeneration() && pp.getNumber() == pr.getNumber()) return i; } throw new IllegalArgumentException(MessageLocalization.getComposedMessage("page.not.found")); }
public int getDestinationPage() { if (!isInternal()) return 0; // here destination is something like // [132 0 R, /XYZ, 29.3898, 731.864502, null] PdfIndirectReference ref = destination.getAsIndirectObject(0); PRIndirectReference pr = (PRIndirectReference) ref; PdfReader r = pr.getReader(); for (int i = 1; i <= r.getNumberOfPages(); i++) { PRIndirectReference pp = r.getPageOrigRef(i); if (pp.getGeneration() == pr.getGeneration() && pp.getNumber() == pr.getNumber()) return i; } throw new IllegalArgumentException(MessageLocalization.getComposedMessage("page.not.found")); }
PdfReader reader = readers.get(r); for (int page = 1; page <= reader.getNumberOfPages(); ++page) { pageRefs.add(getNewReference(reader.getPageOrigRef(page))); pageDics.add(reader.getPageN(page)); for (int page = 1; page <= reader.getNumberOfPages(); ++page) { PdfDictionary dic = reader.getPageN(page); PdfIndirectReference pageRef = getNewReference(reader.getPageOrigRef(page)); PdfIndirectReference parent = root.addPageRef(pageRef); dic.put(PdfName.PARENT, parent);
PdfReader reader = readers.get(r); for (int page = 1; page <= reader.getNumberOfPages(); ++page) { pageRefs.add(getNewReference(reader.getPageOrigRef(page))); pageDics.add(reader.getPageN(page)); for (int page = 1; page <= reader.getNumberOfPages(); ++page) { PdfDictionary dic = reader.getPageN(page); PdfIndirectReference pageRef = getNewReference(reader.getPageOrigRef(page)); PdfIndirectReference parent = root.addPageRef(pageRef); dic.put(PdfName.PARENT, parent);
PRIndirectReference origRef = reader.getPageOrigRef(pageNum); reader.releasePage(pageNum); RefKey key = new RefKey(origRef);
IntHashtable refs = new IntHashtable(); for (int p = 1; p <= len; ++p) { refs.put(reader.getPageOrigRef(p).getNumber(), 1); reader.releasePage(p);
PRIndirectReference origRef = reader.getPageOrigRef(pageNum); reader.releasePage(pageNum); RefKey key = new RefKey(origRef);
IntHashtable refs = new IntHashtable(); for (int p = 1; p <= len; ++p) { refs.put(reader.getPageOrigRef(p).getNumber(), 1); reader.releasePage(p);
/** * Gets a <CODE>List</CODE> with the bookmarks that are children of <CODE>outline</CODE>. It returns <CODE>null</CODE> if * the document doesn't have any bookmarks. * @param reader the document * @param outline the outline dictionary to get bookmarks from * @param includeRoot indicates if to include <CODE>outline</CODE> parameter itself into returned list of bookmarks * @return a <CODE>List</CODE> with the bookmarks or <CODE>null</CODE> if the * document doesn't have any */ public static List<HashMap<String, Object>> getBookmark(PdfReader reader, PdfDictionary outline, boolean includeRoot) { PdfDictionary catalog = reader.getCatalog(); if (outline == null) return null; IntHashtable pages = new IntHashtable(); int numPages = reader.getNumberOfPages(); for (int k = 1; k <= numPages; ++k) { pages.put(reader.getPageOrigRef(k).getNumber(), k); reader.releasePage(k); } if (includeRoot) return bookmarkDepth(reader, outline, pages, true); else return bookmarkDepth(reader, (PdfDictionary)PdfReader.getPdfObjectRelease(outline.get(PdfName.FIRST)), pages, false); }
/** * Gets a <CODE>List</CODE> with the bookmarks that are children of <CODE>outline</CODE>. It returns <CODE>null</CODE> if * the document doesn't have any bookmarks. * @param reader the document * @param outline the outline dictionary to get bookmarks from * @param includeRoot indicates if to include <CODE>outline</CODE> parameter itself into returned list of bookmarks * @return a <CODE>List</CODE> with the bookmarks or <CODE>null</CODE> if the * document doesn't have any */ public static List<HashMap<String, Object>> getBookmark(PdfReader reader, PdfDictionary outline, boolean includeRoot) { PdfDictionary catalog = reader.getCatalog(); if (outline == null) return null; IntHashtable pages = new IntHashtable(); int numPages = reader.getNumberOfPages(); for (int k = 1; k <= numPages; ++k) { pages.put(reader.getPageOrigRef(k).getNumber(), k); reader.releasePage(k); } if (includeRoot) return bookmarkDepth(reader, outline, pages, true); else return bookmarkDepth(reader, (PdfDictionary)PdfReader.getPdfObjectRelease(outline.get(PdfName.FIRST)), pages, false); }
pageNumber = 1; PdfDictionary firstPage = reader.getPageN(pageNumber); PRIndirectReference firstPageRef = reader.getPageOrigRef(pageNumber); reader.releasePage(pageNumber); parentRef = (PRIndirectReference) firstPage.get(PdfName.PARENT);
pageNumber = 1; PdfDictionary firstPage = reader.getPageN(pageNumber); PRIndirectReference firstPageRef = reader.getPageOrigRef(pageNumber); reader.releasePage(pageNumber); parentRef = (PRIndirectReference) firstPage.get(PdfName.PARENT);