Package com.itextpdf.forms.xfdf
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 void
addAnnotation
(PdfAnnotation pdfAnnot, AnnotsObject annots, int pageNumber) private static void
addAnnotations
(PdfDocument pdfDoc, XfdfObject resultXfdf) private void
addAnnotObjectAttribute
(AnnotObject annotObject, 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) 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 boolean
private static boolean
isAnnotSupported
(String nodeName) private static boolean
isSupportedAnnotation
(PdfAnnotation pdfAnnotation) private void
readAnnotsList
(Node node, AnnotsObject annotsObject) private void
readFieldList
(Node node, FieldsObject fieldsObject) private List
<AttributeObject> private static void
updateXfdfAnnotation
(AnnotObject annotObject, PdfAnnotation pdfAnnotation, int pageNumber) private void
visitAnnotationInnerNodes
(AnnotObject annotObject, Node annotNode, AnnotsObject annotsObject) private void
visitAnnotationNode
(Node currentNode, AnnotsObject annotsObject) private void
visitChildNodes
(NodeList nList, XfdfObject xfdfObject) private void
visitContentsRichTextSubelement
(Node parentNode, AnnotObject annotObject) private void
visitContentsSubelement
(Node parentNode, AnnotObject annotObject) private void
visitElementNode
(Node node, XfdfObject xfdfObject) private void
visitFieldElementNode
(Node node, FieldObject parentField, FieldsObject fieldsObject) private void
visitFNode
(Node node, XfdfObject xfdfObject) private void
visitIdsNode
(Node node, XfdfObject xfdfObject) private void
visitInnerFields
(FieldObject parentField, Node parentNode, FieldsObject fieldsObject) private void
visitPopupSubelement
(Node popupNode, AnnotObject annotObject) private void
visitVerticesSubelement
(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
-