/** * Creates an attribute object. * * @param dictionary the dictionary * @return the attribute object */ public static PDAttributeObject create(COSDictionary dictionary) { String owner = dictionary.getNameAsString(COSName.O); if (PDUserAttributeObject.OWNER_USER_PROPERTIES.equals(owner)) { return new PDUserAttributeObject(dictionary); } else if (PDListAttributeObject.OWNER_LIST.equals(owner)) { return new PDListAttributeObject(dictionary); } else if (PDPrintFieldAttributeObject.OWNER_PRINT_FIELD.equals(owner)) { return new PDPrintFieldAttributeObject(dictionary); } else if (PDTableAttributeObject.OWNER_TABLE.equals(owner)) { return new PDTableAttributeObject(dictionary); } else if (PDLayoutAttributeObject.OWNER_LAYOUT.equals(owner)) { return new PDLayoutAttributeObject(dictionary); } else if (PDExportFormatAttributeObject.OWNER_XML_1_00.equals(owner) || PDExportFormatAttributeObject.OWNER_HTML_3_20.equals(owner) || PDExportFormatAttributeObject.OWNER_HTML_4_01.equals(owner) || PDExportFormatAttributeObject.OWNER_OEB_1_00.equals(owner) || PDExportFormatAttributeObject.OWNER_RTF_1_05.equals(owner) || PDExportFormatAttributeObject.OWNER_CSS_1_00.equals(owner) || PDExportFormatAttributeObject.OWNER_CSS_2_00.equals(owner)) { return new PDExportFormatAttributeObject(dictionary); } return new PDDefaultAttributeObject(dictionary); }
/** * This will get the type of PDF object that the actions dictionary describes. If present must be * Action for an action dictionary. * * @return The Type of PDF object. */ public String getType() { return action.getNameAsString("Type"); }
/** * If <b>Filter</b> is not null and the {@link #isFilterRequired()} indicates this entry is a * required constraint, then the signature handler specified by this entry shall be used when * signing; otherwise, signing shall not take place. If {@link #isFilterRequired()} indicates that * this is an optional constraint, this handler may be used if it is available. If it is not * available, a different handler may be used instead. * * @return the filter that shall be used by the signature handler */ public String getFilter() { return dictionary.getNameAsString(COSName.FILTER); }
/** * This will get the type of action that the actions dictionary describes. If present, must be * Action for an action dictionary. * * @return The S entry of actions dictionary. */ public String getSubType() { return action.getNameAsString("S"); }