Package com.itextpdf.forms.xfdf
Class XfdfObjectFactory
- java.lang.Object
-
- com.itextpdf.forms.xfdf.XfdfObjectFactory
-
public class XfdfObjectFactory extends java.lang.Object
A factory for creatingXfdfObject
objects.
-
-
Field Summary
Fields Modifier and Type Field Description private static org.slf4j.Logger
logger
-
Constructor Summary
Constructors Constructor Description XfdfObjectFactory()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static void
addAnnotation(PdfAnnotation pdfAnnot, AnnotsObject annots, int pageNumber)
private static void
addAnnotations(PdfDocument pdfDoc, XfdfObject resultXfdf)
private void
addAnnotObjectAttribute(AnnotObject annotObject, org.w3c.dom.Node attributeNode)
private static void
addBorderStyleAttributes(AnnotObject annotObject, PdfNumber width, PdfArray dashes, PdfName style)
private static void
addCommonAnnotationAttributes(AnnotObject annot, PdfAnnotation pdfAnnotation)
private static void
addMarkupAnnotationAttributes(AnnotObject annot, PdfMarkupAnnotation pdfMarkupAnnotation)
private static void
addPopup(PdfAnnotation pdfAnnot, AnnotsObject annots, int pageNumber)
private static AnnotObject
convertPdfPopupToAnnotObject(PdfPopupAnnotation pdfPopupAnnotation, int pageNumber)
private static void
createCircleAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber)
private static void
createDestElement(PdfArray dest, AnnotObject annot)
private static void
createFreeTextAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot)
private static void
createLineAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber)
private static void
createLinkAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot)
private static void
createPolyGeomAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber)
private static void
createSquareAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber)
private static void
createStampAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber)
private static void
createTextAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber)
private static void
createTextMarkupAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber)
private static AnnotObject
createXfdfAnnotation(PdfAnnotation pdfAnnotation, int pageNumber)
XfdfObject
createXfdfObject(PdfDocument document, java.lang.String filename)
Extracts data from pdf document acroform and annotations into XfdfObject.XfdfObject
createXfdfObject(java.io.InputStream xfdfInputStream)
Extracts data from input stream into XfdfObject.private boolean
isAnnotationSubtype(java.lang.String tag)
private static boolean
isAnnotSupported(java.lang.String nodeName)
private static boolean
isSupportedAnnotation(PdfAnnotation pdfAnnotation)
private void
readAnnotsList(org.w3c.dom.Node node, AnnotsObject annotsObject)
private void
readFieldList(org.w3c.dom.Node node, FieldsObject fieldsObject)
private java.util.List<AttributeObject>
readXfdfRootAttributes(org.w3c.dom.Element root)
private static void
updateXfdfAnnotation(AnnotObject annotObject, PdfAnnotation pdfAnnotation, int pageNumber)
private void
visitAnnotationInnerNodes(AnnotObject annotObject, org.w3c.dom.Node annotNode, AnnotsObject annotsObject)
private void
visitAnnotationNode(org.w3c.dom.Node currentNode, AnnotsObject annotsObject)
private void
visitChildNodes(org.w3c.dom.NodeList nList, XfdfObject xfdfObject)
private void
visitContentsRichTextSubelement(org.w3c.dom.Node parentNode, AnnotObject annotObject)
private void
visitContentsSubelement(org.w3c.dom.Node parentNode, AnnotObject annotObject)
private void
visitElementNode(org.w3c.dom.Node node, XfdfObject xfdfObject)
private void
visitFieldElementNode(org.w3c.dom.Node node, FieldObject parentField, FieldsObject fieldsObject)
private void
visitFNode(org.w3c.dom.Node node, XfdfObject xfdfObject)
private void
visitIdsNode(org.w3c.dom.Node node, XfdfObject xfdfObject)
private void
visitInnerFields(FieldObject parentField, org.w3c.dom.Node parentNode, FieldsObject fieldsObject)
private void
visitPopupSubelement(org.w3c.dom.Node popupNode, AnnotObject annotObject)
private void
visitVerticesSubelement(org.w3c.dom.Node parentNode, AnnotObject annotObject)
-
-
-
Method Detail
-
createXfdfObject
public XfdfObject createXfdfObject(PdfDocument document, java.lang.String filename)
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(java.io.InputStream xfdfInputStream) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.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:
javax.xml.parsers.ParserConfigurationException
- if a XfdfObject cannot be created which satisfies the configuration requested.org.xml.sax.SAXException
- if any parse errors occurs.
-
visitFNode
private void visitFNode(org.w3c.dom.Node node, XfdfObject xfdfObject)
-
visitIdsNode
private void visitIdsNode(org.w3c.dom.Node node, XfdfObject xfdfObject)
-
visitElementNode
private void visitElementNode(org.w3c.dom.Node node, XfdfObject xfdfObject)
-
visitChildNodes
private void visitChildNodes(org.w3c.dom.NodeList nList, XfdfObject xfdfObject)
-
isAnnotSupported
private static boolean isAnnotSupported(java.lang.String nodeName)
-
readAnnotsList
private void readAnnotsList(org.w3c.dom.Node node, AnnotsObject annotsObject)
-
visitAnnotationNode
private void visitAnnotationNode(org.w3c.dom.Node currentNode, AnnotsObject annotsObject)
-
visitAnnotationInnerNodes
private void visitAnnotationInnerNodes(AnnotObject annotObject, org.w3c.dom.Node annotNode, AnnotsObject annotsObject)
-
visitPopupSubelement
private void visitPopupSubelement(org.w3c.dom.Node popupNode, AnnotObject annotObject)
-
visitContentsSubelement
private void visitContentsSubelement(org.w3c.dom.Node parentNode, AnnotObject annotObject)
-
visitContentsRichTextSubelement
private void visitContentsRichTextSubelement(org.w3c.dom.Node parentNode, AnnotObject annotObject)
-
visitVerticesSubelement
private void visitVerticesSubelement(org.w3c.dom.Node parentNode, AnnotObject annotObject)
-
addAnnotObjectAttribute
private void addAnnotObjectAttribute(AnnotObject annotObject, org.w3c.dom.Node attributeNode)
-
isAnnotationSubtype
private boolean isAnnotationSubtype(java.lang.String tag)
-
readFieldList
private void readFieldList(org.w3c.dom.Node node, FieldsObject fieldsObject)
-
visitFieldElementNode
private void visitFieldElementNode(org.w3c.dom.Node node, FieldObject parentField, FieldsObject fieldsObject)
-
visitInnerFields
private void visitInnerFields(FieldObject parentField, org.w3c.dom.Node parentNode, FieldsObject fieldsObject)
-
readXfdfRootAttributes
private java.util.List<AttributeObject> readXfdfRootAttributes(org.w3c.dom.Element root)
-
addPopup
private static void addPopup(PdfAnnotation pdfAnnot, AnnotsObject annots, int pageNumber)
-
addAnnotation
private static void addAnnotation(PdfAnnotation pdfAnnot, AnnotsObject annots, int pageNumber)
-
addAnnotations
private static void addAnnotations(PdfDocument pdfDoc, XfdfObject resultXfdf)
-
updateXfdfAnnotation
private static void updateXfdfAnnotation(AnnotObject annotObject, PdfAnnotation pdfAnnotation, int pageNumber)
-
addCommonAnnotationAttributes
private static void addCommonAnnotationAttributes(AnnotObject annot, PdfAnnotation pdfAnnotation)
-
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
private static void createFreeTextAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot)
-
createLineAnnotation
private static void createLineAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber)
-
createLinkAnnotation
private static void createLinkAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot)
-
createDestElement
private static void createDestElement(PdfArray dest, AnnotObject annot)
-
createPolyGeomAnnotation
private static void createPolyGeomAnnotation(PdfAnnotation pdfAnnotation, AnnotObject annot, int pageNumber)
-
createXfdfAnnotation
private static AnnotObject createXfdfAnnotation(PdfAnnotation pdfAnnotation, int pageNumber)
-
convertPdfPopupToAnnotObject
private static AnnotObject convertPdfPopupToAnnotObject(PdfPopupAnnotation pdfPopupAnnotation, int pageNumber)
-
isSupportedAnnotation
private static boolean isSupportedAnnotation(PdfAnnotation pdfAnnotation)
-
-