/** * Returns the <CODE>PdfObject</CODE> with the specified index, resolving * a possible indirect reference to a direct object. * * Thus this method will never return a <CODE>PdfIndirectReference</CODE> * object. * * @param idx The index of the <CODE>PdfObject</CODE> to be returned * @return A direct <CODE>PdfObject</CODE> or <CODE>null</CODE> */ public PdfObject getDirectObject(int idx) { return PdfReader.getPdfObject(getPdfObject(idx)); }
/** * Returns the <CODE>PdfObject</CODE> with the specified index, resolving * a possible indirect reference to a direct object. * * Thus this method will never return a <CODE>PdfIndirectReference</CODE> * object. * * @param idx The index of the <CODE>PdfObject</CODE> to be returned * @return A direct <CODE>PdfObject</CODE> or <CODE>null</CODE> */ public PdfObject getDirectObject(int idx) { return PdfReader.getPdfObject(getPdfObject(idx)); }
/** * Returns the <CODE>PdfObject</CODE> with the specified index, resolving a * possible indirect reference to a direct object. * * Thus this method will never return a <CODE>PdfIndirectReference</CODE> * object. * * @param idx * The index of the <CODE>PdfObject</CODE> to be returned * @return A direct <CODE>PdfObject</CODE> or <CODE>null</CODE> */ public PdfObject getDirectObject(int idx) { return PdfReader.getPdfObject(getPdfObject(idx)); }
private static String makeBookmarkParam(PdfArray dest, IntHashtable pages) { StringBuffer s = new StringBuffer(); PdfObject obj = dest.getPdfObject(0); if (obj.isNumber()) s.append(((PdfNumber)obj).intValue() + 1); else s.append(pages.get(getNumber((PdfIndirectReference)obj))); //changed by ujihara 2004-06-13 s.append(' ').append(dest.getPdfObject(1).toString().substring(1)); for (int k = 2; k < dest.size(); ++k) s.append(' ').append(dest.getPdfObject(k).toString()); return s.toString(); }
private static String makeBookmarkParam(PdfArray dest, IntHashtable pages) { StringBuffer s = new StringBuffer(); PdfObject obj = dest.getPdfObject(0); if (obj.isNumber()) s.append(((PdfNumber)obj).intValue() + 1); else s.append(pages.get(getNumber((PdfIndirectReference)obj))); //changed by ujihara 2004-06-13 s.append(' ').append(dest.getPdfObject(1).toString().substring(1)); for (int k = 2; k < dest.size(); ++k) s.append(' ').append(dest.getPdfObject(k).toString()); return s.toString(); }
private static String makeBookmarkParam(PdfArray dest, IntHashtable pages) { StringBuffer s = new StringBuffer(); PdfObject obj = dest.getPdfObject(0); if (obj.isNumber()) s.append(((PdfNumber)obj).intValue() + 1); else s.append(pages.get(getNumber((PdfIndirectReference)obj))); //changed by ujihara 2004-06-13 s.append(' ').append(dest.getPdfObject(1).toString().substring(1)); for (int k = 2; k < dest.size(); ++k) s.append(' ').append(dest.getPdfObject(k).toString()); return s.toString(); }
/** Normalizes a <CODE>Rectangle</CODE> so that llx and lly are smaller than urx and ury. * @param box the original rectangle * @return a normalized <CODE>Rectangle</CODE> */ public static Rectangle getNormalizedRectangle(PdfArray box) { float llx = ((PdfNumber)getPdfObjectRelease(box.getPdfObject(0))).floatValue(); float lly = ((PdfNumber)getPdfObjectRelease(box.getPdfObject(1))).floatValue(); float urx = ((PdfNumber)getPdfObjectRelease(box.getPdfObject(2))).floatValue(); float ury = ((PdfNumber)getPdfObjectRelease(box.getPdfObject(3))).floatValue(); return new Rectangle(Math.min(llx, urx), Math.min(lly, ury), Math.max(llx, urx), Math.max(lly, ury)); }
/** Normalizes a <CODE>Rectangle</CODE> so that llx and lly are smaller than urx and ury. * @param box the original rectangle * @return a normalized <CODE>Rectangle</CODE> */ public static Rectangle getNormalizedRectangle(PdfArray box) { float llx = ((PdfNumber)getPdfObjectRelease(box.getPdfObject(0))).floatValue(); float lly = ((PdfNumber)getPdfObjectRelease(box.getPdfObject(1))).floatValue(); float urx = ((PdfNumber)getPdfObjectRelease(box.getPdfObject(2))).floatValue(); float ury = ((PdfNumber)getPdfObjectRelease(box.getPdfObject(3))).floatValue(); return new Rectangle(Math.min(llx, urx), Math.min(lly, ury), Math.max(llx, urx), Math.max(lly, ury)); }
private void serArray(PdfArray array, int level, ByteBuffer bb) throws IOException { bb.append("$A"); if (level <= 0) return; for (int k = 0; k < array.size(); ++k) { serObject(array.getPdfObject(k), level, bb); } }
private void serArray(PdfArray array, int level, ByteBuffer bb) throws IOException { bb.append("$A"); if (level <= 0) return; for (int k = 0; k < array.size(); ++k) { serObject(array.getPdfObject(k), level, bb); } }
private void serArray(PdfArray array, int level, ByteBuffer bb) throws IOException { bb.append("$A"); if (level <= 0) return; for (int k = 0; k < array.size(); ++k) { serObject(array.getPdfObject(k), level, bb); } }
private static void iterateItems(PdfDictionary dic, HashMap items) { PdfArray nn = (PdfArray)PdfReader.getPdfObjectRelease(dic.get(PdfName.NUMS)); if (nn != null) { for (int k = 0; k < nn.size(); ++k) { PdfNumber s = (PdfNumber)PdfReader.getPdfObjectRelease(nn.getPdfObject(k++)); items.put(new Integer(s.intValue()), nn.getPdfObject(k)); } } else if ((nn = (PdfArray)PdfReader.getPdfObjectRelease(dic.get(PdfName.KIDS))) != null) { for (int k = 0; k < nn.size(); ++k) { PdfDictionary kid = (PdfDictionary)PdfReader.getPdfObjectRelease(nn.getPdfObject(k)); iterateItems(kid, items); } } }
private static void iterateItems(PdfDictionary dic, HashMap<String, PdfObject> items) { PdfArray nn = (PdfArray) PdfReader.getPdfObjectRelease(dic.get(PdfName.NAMES)); if (nn != null) { for (int k = 0; k < nn.size(); ++k) { PdfString s = (PdfString) PdfReader.getPdfObjectRelease(nn.getPdfObject(k++)); items.put(PdfEncodings.convertToString(s.getBytes(), null), nn.getPdfObject(k)); } } else if ((nn = (PdfArray) PdfReader.getPdfObjectRelease(dic.get(PdfName.KIDS))) != null) { for (int k = 0; k < nn.size(); ++k) { PdfDictionary kid = (PdfDictionary) PdfReader.getPdfObjectRelease(nn.getPdfObject(k)); iterateItems(kid, items); } } }
private static void iterateItems(PdfDictionary dic, HashMap items) { PdfArray nn = (PdfArray)PdfReader.getPdfObjectRelease(dic.get(PdfName.NAMES)); if (nn != null) { for (int k = 0; k < nn.size(); ++k) { PdfString s = (PdfString)PdfReader.getPdfObjectRelease(nn.getPdfObject(k++)); items.put(PdfEncodings.convertToString(s.getBytes(), null), nn.getPdfObject(k)); } } else if ((nn = (PdfArray)PdfReader.getPdfObjectRelease(dic.get(PdfName.KIDS))) != null) { for (int k = 0; k < nn.size(); ++k) { PdfDictionary kid = (PdfDictionary)PdfReader.getPdfObjectRelease(nn.getPdfObject(k)); iterateItems(kid, items); } } }
private static void iterateItems(PdfDictionary dic, HashMap items) { PdfArray nn = (PdfArray)PdfReader.getPdfObjectRelease(dic.get(PdfName.NAMES)); if (nn != null) { for (int k = 0; k < nn.size(); ++k) { PdfString s = (PdfString)PdfReader.getPdfObjectRelease(nn.getPdfObject(k++)); items.put(PdfEncodings.convertToString(s.getBytes(), null), nn.getPdfObject(k)); } } else if ((nn = (PdfArray)PdfReader.getPdfObjectRelease(dic.get(PdfName.KIDS))) != null) { for (int k = 0; k < nn.size(); ++k) { PdfDictionary kid = (PdfDictionary)PdfReader.getPdfObjectRelease(nn.getPdfObject(k)); iterateItems(kid, items); } } }
void sweepKids(PdfObject obj) { PdfObject oo = PdfReader.killIndirect(obj); if (oo == null || !oo.isDictionary()) return; PdfDictionary dic = (PdfDictionary)oo; PdfArray kids = (PdfArray)PdfReader.killIndirect(dic.get(PdfName.KIDS)); if (kids == null) return; for (int k = 0; k < kids.size(); ++k) { sweepKids(kids.getPdfObject(k)); } }
void sweepKids(PdfObject obj) { PdfObject oo = PdfReader.killIndirect(obj); if (oo == null || !oo.isDictionary()) return; PdfDictionary dic = (PdfDictionary)oo; PdfArray kids = (PdfArray)PdfReader.killIndirect(dic.get(PdfName.KIDS)); if (kids == null) return; for (int k = 0; k < kids.size(); ++k) { sweepKids(kids.getPdfObject(k)); } }
void sweepKids(PdfObject obj) { PdfObject oo = PdfReader.killIndirect(obj); if (oo == null || !oo.isDictionary()) return; PdfDictionary dic = (PdfDictionary)oo; PdfArray kids = (PdfArray)PdfReader.killIndirect(dic.get(PdfName.KIDS)); if (kids == null) return; for (int k = 0; k < kids.size(); ++k) { sweepKids(kids.getPdfObject(k)); } }
private int removeRefFromArray(PdfArray array, PdfObject refo) { if (refo == null || !refo.isIndirect()) return array.size(); PdfIndirectReference ref = (PdfIndirectReference)refo; for (int j = 0; j < array.size(); ++j) { PdfObject obj = array.getPdfObject(j); if (!obj.isIndirect()) continue; if (((PdfIndirectReference)obj).getNumber() == ref.getNumber()) array.remove(j--); } return array.size(); }
private int removeRefFromArray(PdfArray array, PdfObject refo) { if (refo == null || !refo.isIndirect()) return array.size(); PdfIndirectReference ref = (PdfIndirectReference)refo; for (int j = 0; j < array.size(); ++j) { PdfObject obj = array.getPdfObject(j); if (!obj.isIndirect()) continue; if (((PdfIndirectReference)obj).getNumber() == ref.getNumber()) array.remove(j--); } return array.size(); }