/** * Returns the length of the actual content of the <CODE>PdfObject</CODE>. * <P> * In some cases, namely for <CODE>PdfString</CODE> and <CODE>PdfStream</CODE>, * this method differs from the method <CODE>pdfLength</CODE> because <CODE>pdfLength</CODE> * returns the length of the PDF representation of the object, not of the actual content * as does the method <CODE>length</CODE>.</P> * <P> * Remark: the actual content of an object is in some cases identical to its representation. * The following statement is always true: length() >= pdfLength().</P> * * @return The length as <CODE>int</CODE> */ public int length() { return toString().length(); }
/** * Returns the length of the actual content of the <CODE>PdfObject</CODE>. * <P> * In some cases, namely for <CODE>PdfString</CODE> and <CODE>PdfStream</CODE>, * this method differs from the method <CODE>pdfLength</CODE> because <CODE>pdfLength</CODE> * returns the length of the PDF representation of the object, not of the actual content * as does the method <CODE>length</CODE>.</P> * <P> * Remark: the actual content of an object is in some cases identical to its representation. * The following statement is always true: length() >= pdfLength().</P> * * @return The length as <CODE>int</CODE> */ public int length() { return toString().length(); }
@Override public String toString() { return new StringBuffer().append(number).append(' ').append(generation).append(" R: ").append(object != null ? object.toString(): "null").toString(); } }
@Override public String toString() { return new StringBuffer().append(number).append(' ').append(generation).append(" R: ").append(object != null ? object.toString(): "null").toString(); } }
/** * Returns the name of the widget annotation (the /NM entry). * @return a String or null (if there's no /NM key) */ public String getWidgetName() { PdfObject name = info.get(PdfName.NM); if (name != null) return name.toString(); return null; }
/** * Returns the name of the widget annotation (the /NM entry). * @return a String or null (if there's no /NM key) */ public String getWidgetName() { PdfObject name = info.get(PdfName.NM); if (name != null) return name.toString(); return null; }
public String getSummary() { return getAccessibleAttribute(PdfName.SUMMARY).toString(); }
public String getSummary() { return getAccessibleAttribute(PdfName.SUMMARY).toString(); }
private static void mapGotoBookmark(HashMap<String, Object> map, PdfObject dest, IntHashtable pages) { if (dest.isString()) map.put("Named", dest.toString()); else if (dest.isName()) map.put("Named", PdfName.decodeName(dest.toString())); else if (dest.isArray()) map.put("Page", makeBookmarkParam((PdfArray)dest, pages)); //changed by ujihara 2004-06-13 map.put("Action", "GoTo"); }
private static void mapGotoBookmark(HashMap<String, Object> map, PdfObject dest, IntHashtable pages) { if (dest.isString()) map.put("Named", dest.toString()); else if (dest.isName()) map.put("Named", PdfName.decodeName(dest.toString())); else if (dest.isArray()) map.put("Page", makeBookmarkParam((PdfArray)dest, pages)); //changed by ujihara 2004-06-13 map.put("Action", "GoTo"); }
/** * Visualizes a PDF object. * @param object a com.itextpdf.text.pdf object */ public void listAnyObject(PdfObject object) { switch (object.type()) { case PdfObject.ARRAY: listArray((PdfArray)object); break; case PdfObject.DICTIONARY: listDict((PdfDictionary) object); break; case PdfObject.STRING: out.println("(" + object.toString() + ")"); break; default: out.println(object.toString()); break; } } /**
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(); }
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; }
static String getFontName(final PdfDictionary dic) { if (dic == null) return null; PdfObject type = getPdfObjectRelease(dic.get(PdfName.BASEFONT)); if (type == null || !type.isName()) return null; return PdfName.decodeName(type.toString()); }
static String getFontName(final PdfDictionary dic) { if (dic == null) return null; PdfObject type = getPdfObjectRelease(dic.get(PdfName.BASEFONT)); if (type == null || !type.isName()) return null; return PdfName.decodeName(type.toString()); }
/** * Returns a PdfObject that can be used as the value of a Collection Item. * @param v value the value that has to be changed into a PdfObject (PdfString, PdfDate or PdfNumber) */ public PdfObject getValue(String v) { switch(fieldType) { case TEXT: return new PdfString(v, PdfObject.TEXT_UNICODE); case DATE: return new PdfDate(PdfDate.decode(v)); case NUMBER: return new PdfNumber(v); } throw new IllegalArgumentException(MessageLocalization.getComposedMessage("1.is.not.an.acceptable.value.for.the.field.2", v, get(PdfName.N).toString())); } }
/** * Returns a PdfObject that can be used as the value of a Collection Item. * @param v value the value that has to be changed into a PdfObject (PdfString, PdfDate or PdfNumber) */ public PdfObject getValue(String v) { switch(fieldType) { case TEXT: return new PdfString(v, PdfObject.TEXT_UNICODE); case DATE: return new PdfDate(PdfDate.decode(v)); case NUMBER: return new PdfNumber(v); } throw new IllegalArgumentException(MessageLocalization.getComposedMessage("1.is.not.an.acceptable.value.for.the.field.2", v, get(PdfName.N).toString())); } }
@Override protected void checkStructElem(PdfWriter writer, int key, Object obj1) { if (obj1 instanceof PdfStructureElement) { PdfStructureElement structElem = (PdfStructureElement) obj1; PdfName role = structElem.getStructureType(); if (PdfName.FIGURE.equals(role) || PdfName.FORMULA.equals(role) || PdfName.FORM.equals(role)) { PdfObject o = structElem.get(PdfName.ALT); if (o instanceof PdfString && o.toString().length() > 0) { } else { throw new PdfAConformanceException(obj1, MessageLocalization.getComposedMessage("alt.entry.should.specify.alternate.description.for.1.element", role.toString())); } } } }
@Override protected void checkStructElem(PdfWriter writer, int key, Object obj1) { if (obj1 instanceof PdfStructureElement) { PdfStructureElement structElem = (PdfStructureElement) obj1; PdfName role = structElem.getStructureType(); if (PdfName.FIGURE.equals(role) || PdfName.FORMULA.equals(role) || PdfName.FORM.equals(role)) { PdfObject o = structElem.get(PdfName.ALT); if (o instanceof PdfString && o.toString().length() > 0) { } else { throw new PdfAConformanceException(obj1, MessageLocalization.getComposedMessage("alt.entry.should.specify.alternate.description.for.1.element", role.toString())); } } } }