Class XfdfObjectFactory
java.lang.Object
com.itextpdf.forms.xfdf.XfdfObjectFactory
A factory for creating
XfdfObject objects.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidaddAnnotation(PdfAnnotation pdfAnnot, AnnotsObject annots, int pageNumber) private static voidaddAnnotations(PdfDocument pdfDoc, XfdfObject resultXfdf) private voidaddAnnotObjectAttribute(AnnotObject annotObject, Node attributeNode) private static voidaddBorderStyleAttributes(AnnotObject annotObject, PdfNumber width, PdfArray dashes, PdfName style) private static voidaddCommonAnnotationAttributes(AnnotObject annot, PdfAnnotation pdfAnnotation) private static voidaddMarkupAnnotationAttributes(AnnotObject annot, PdfMarkupAnnotation pdfMarkupAnnotation) private static voidaddPopup(PdfAnnotation pdfAnnot, AnnotsObject annots, int pageNumber) private static AnnotObjectconvertPdfPopupToAnnotObject(PdfPopupAnnotation pdfPopupAnnotation, int pageNumber) private static voidcreateCircleAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) private static voidcreateDestElement(PdfArray dest, AnnotObject annot) private static voidcreateFreeTextAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot) private static voidcreateLineAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) private static voidcreateLinkAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot) private static voidcreatePolyGeomAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) private static voidcreateSquareAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) private static voidcreateStampAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) private static voidcreateTextAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) private static voidcreateTextMarkupAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) private static AnnotObjectcreateXfdfAnnotation(PdfAnnotation pdfAnnotation, int pageNumber) createXfdfObject(PdfDocument document, String filename) Extracts data from pdf document acroform and annotations into XfdfObject.createXfdfObject(InputStream xfdfInputStream) Extracts data from input stream into XfdfObject.private booleanprivate static booleanisAnnotSupported(String nodeName) private static booleanisSupportedAnnotation(PdfAnnotation pdfAnnotation) private voidreadAnnotsList(Node node, AnnotsObject annotsObject) private voidreadFieldList(Node node, FieldsObject fieldsObject) private List<AttributeObject> private static voidupdateXfdfAnnotation(AnnotObject annotObject, PdfAnnotation pdfAnnotation, int pageNumber) private voidvisitAnnotationInnerNodes(AnnotObject annotObject, Node annotNode, AnnotsObject annotsObject) private voidvisitAnnotationNode(Node currentNode, AnnotsObject annotsObject) private voidvisitChildNodes(NodeList nList, XfdfObject xfdfObject) private voidvisitContentsRichTextSubelement(Node parentNode, AnnotObject annotObject) private voidvisitContentsSubelement(Node parentNode, AnnotObject annotObject) private voidvisitElementNode(Node node, XfdfObject xfdfObject) private voidvisitFieldElementNode(Node node, FieldObject parentField, FieldsObject fieldsObject) private voidvisitFNode(Node node, XfdfObject xfdfObject) private voidvisitIdsNode(Node node, XfdfObject xfdfObject) private voidvisitInnerFields(FieldObject parentField, Node parentNode, FieldsObject fieldsObject) private voidvisitPopupSubelement(Node popupNode, AnnotObject annotObject) private voidvisitVerticesSubelement(Node parentNode, AnnotObject annotObject)
-
Field Details
-
logger
private static final org.slf4j.Logger logger
-
-
Constructor Details
-
XfdfObjectFactory
public XfdfObjectFactory()
-
-
Method Details
-
createXfdfObject
Extracts data from pdf document acroform and annotations into XfdfObject.- Parameters:
document- Pdf document for data extractionfilename- The name od pdf document for data extraction- Returns:
- XfdfObject containing data from pdf forms and annotations.
-
createXfdfObject
public XfdfObject createXfdfObject(InputStream xfdfInputStream) throws ParserConfigurationException, SAXException Extracts data from input stream into XfdfObject. Typically input stream is based on .xfdf file.- Parameters:
xfdfInputStream- the input stream containing xml-styled xfdf data- Returns:
- XfdfObject containing original xfdf data.
- Throws:
ParserConfigurationException- if a XfdfObject cannot be created which satisfies the configuration requested.SAXException- if any parse errors occurs.
-
visitFNode
-
visitIdsNode
-
visitElementNode
-
visitChildNodes
-
isAnnotSupported
-
readAnnotsList
-
visitAnnotationNode
-
visitAnnotationInnerNodes
private void visitAnnotationInnerNodes(AnnotObject annotObject, Node annotNode, AnnotsObject annotsObject) -
visitPopupSubelement
-
visitContentsSubelement
-
visitContentsRichTextSubelement
-
visitVerticesSubelement
-
addAnnotObjectAttribute
-
isAnnotationSubtype
-
readFieldList
-
visitFieldElementNode
-
visitInnerFields
-
readXfdfRootAttributes
-
addPopup
-
addAnnotation
-
addAnnotations
-
updateXfdfAnnotation
private static void updateXfdfAnnotation(AnnotObject annotObject, PdfAnnotation pdfAnnotation, int pageNumber) -
addCommonAnnotationAttributes
-
addMarkupAnnotationAttributes
private static void addMarkupAnnotationAttributes(AnnotObject annot, PdfMarkupAnnotation pdfMarkupAnnotation) -
addBorderStyleAttributes
private static void addBorderStyleAttributes(AnnotObject annotObject, PdfNumber width, PdfArray dashes, PdfName style) -
createTextMarkupAnnotation
private static void createTextMarkupAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) -
createTextAnnotation
private static void createTextAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) -
createCircleAnnotation
private static void createCircleAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) -
createSquareAnnotation
private static void createSquareAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) -
createStampAnnotation
private static void createStampAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) -
createFreeTextAnnotation
-
createLineAnnotation
private static void createLineAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) -
createLinkAnnotation
-
createDestElement
-
createPolyGeomAnnotation
private static void createPolyGeomAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber) -
createXfdfAnnotation
-
convertPdfPopupToAnnotObject
private static AnnotObject convertPdfPopupToAnnotObject(PdfPopupAnnotation pdfPopupAnnotation, int pageNumber) -
isSupportedAnnotation
-