Foxit PDF SDK
FSDK.XFADoc Class Reference

Public Member Functions

 XFADoc (document)
 Constructor. More...
 
 constructor (document, xfa_doc_provider_handler)
 Constructor. More...
 
 ExportData (output_file_path, export_type)
 Export data to a file. More...
 
 ExportData (output_file_path, export_type)
 Export data to a file. More...
 
 ExportData (stream, export_type)
 Export data to a FSDK.FileWriterCallback object. More...
 
 FlattenTo (output_file_path)
 Flatten current XFA document to a file. More...
 
 FlattenTo (output_file_path)
 Flatten current XFA document to a file. More...
 
 FlattenTo (stream)
 Flatten current XFA document to a file stream. More...
 
 GetPage (page_index)
 Get XFA page by index. More...
 
 GetPageCount ()
 Get XFA page count. More...
 
 GetType ()
 Get the XFA document type. More...
 
 GetWidgetByFullName (full_name)
 Get the XFA widget which matches the specified full name. More...
 
 ImportData (file_path)
 Import data from an XML or XDP file. More...
 
 ImportData (file_path)
 Import data from an XML or XDP file. More...
 
 ImportData (file_reader)
 Import data from a FSDK.FileReaderCallback object. More...
 
 IsEmpty ()
 Check whether current object is empty or not. More...
 
 KillFocus ()
 Kill the focus of XFA widget. More...
 
 ProcessEvent (event_type)
 Process a kind of event for all the XFA widgets in current XFA document. More...
 
 ResetForm ()
 Reset form. More...
 
 SetDocProviderCallback (doc_provider_callback)
 Set XFA document provider callback. More...
 
 SetFocus (xfa_widget)
 Set the focus of XFA widget. More...
 
 SetPDFPath (pdf_file_path)
 Set the path of related PDF document. More...
 
 SetPDFPath (pdf_file_path)
 Set the path of related PDF document. More...
 
 StartLoad (pause)
 Start to load content for current XFA document. More...
 

Static Public Attributes

static e_Dynamic
 Enumeration for XFA document type. More...
 
static e_EventTypeCalculate
 This kind of event represents a calculate operation.
 
static e_EventTypeChange
 This kind of event is triggered when the user changes the field value.
 
static e_EventTypeClick
 This kind of event is triggered when the user clicks in the field.
 
static e_EventTypeDocClose
 This kind of event is triggered at the very end of processing if and only if all validations succeeded.
 
static e_EventTypeDocReady
 This kind of event is triggered before the document is rendered but after data binding.
 
static e_EventTypeEnter
 This kind of event is triggered when the field gains keyboard focus, whether caused by a user action (tabbing into the field or clicking on it with the mouse) or by a script programmatically setting the preSubmit event applies only to the Form DOM ($form).
 
static e_EventTypeExit
 This kind of event is triggered when keyboard focus is yielded from a field directly or indirectly within the subform to a field or other object outside the subform.
 
static e_EventTypeFull
 This kind of event is triggered when the user has entered the maximum allowed amount of content into the field and tries to enter more content.
 
static e_EventTypeIndexChange
 This kind of event is triggered to tell an object that it has just been added to an array or that its position in the array (its subscript) has changed.
 
static e_EventTypeInitCalculate
 This kind of event represents the first run calculate.
 
static e_EventTypeInitialize
 This kind of event is triggered after data binding is complete.
 
static e_EventTypeInitVariables
 This kind of event is not a real event activity, just sign script in variables.
 
static e_EventTypeMouseDown
 This kind of event is triggered when the mouse button is depressed at a moment and the mouse pointer is within the region.
 
static e_EventTypeMouseEnter
 This kind of event is triggered when the user moves the mouse pointer into the region of the field, without necessarily pressing the mouse button.
 
static e_EventTypeMouseExit
 This kind of event is triggered when user moves the mouse pointer out of the field, whether the mouse button is depressed or not.
 
static e_EventTypeMouseUp
 This kind of event is triggered when the mouse button is released at a moment and the mouse pointer is within the region.
 
static e_EventTypePostExecute
 This kind of event is triggered after a successful WSDL transaction, just after the reply to the request has been received and the received data is marshalled in the Connection Data DOM.
 
static e_EventTypePostOpen
 This kind of event is related to pre-open event for drop-down choice lists.
 
static e_EventTypePostPrint
 This kind of event is triggered just after the rendered form has been sent to the printer, spooler, or output destination.
 
static e_EventTypePostSave
 This kind of event is triggered just after the form has been written out in PDF or XDP format.
 
static e_EventTypePostSign
 This kind of event is triggered after successfully applying a signature.
 
static e_EventTypePostSubmit
 This kind of event is triggered just after the returned data has been marshalled in the Connection Data DOM.
 
static e_EventTypePreExecute
 This kind of event is triggered when a request is sent to a web service via WSDL, just after the data has been marshalled in the Connection Data DOM but before the request has been sent.
 
static e_EventTypePreOpen
 This kind of event applies only to drop-down choice lists for which open="userControl" or open="onEntry". The event is intended to trigger scripts that add choices to and remove choices from the choice list.
 
static e_EventTypePrePrint
 This kind of event is triggered just before the rendering for printing begins.
 
static e_EventTypePreSave
 This kind of event is triggered just before the form data is written out in PDF or XDP format.
 
static e_EventTypePreSign
 This kind of event is triggered when a signature is about to be applied.
 
static e_EventTypePreSubmit
 This kind of event is triggered just after the data has been marshalled in the Connection Data DOM but before validation and before the data is submitted to the host.
 
static e_EventTypeReady
 This kind of event is triggered after an XFA DOM has finished loading.
 
static e_EventTypeUnknown
 Enumeration for XFA event type. More...
 
static e_EventTypeValidate
 This kind of event represents a validate operation.
 
static e_EventTypeValidationState
 This kind of event is triggered whenever the validation state of the target changes.
 
static e_ExportDataTypeStaticXDP
 Type of exported data: Static XDP.
 
static e_ExportDataTypeXDP
 Type of exported data: XDP.
 
static e_ExportDataTypeXML
 Enumeration for the type of exported data. More...
 
static e_Static
 XFA document type: Static.
 
static e_XDP
 XFA document type: XDP, as Raw XML data.
 

Detailed Description

Class FSDK.XFADoc is constructed from a loaded PDF document object, in order to access XFA content more clearly. User must call FSDK.Library.RegisterXFAAppProviderCallback before using XFA moudle. For a newly constructed XFA object, please remember to call function FSDK.XFADoc.StartLoad before using other functions in class XFA.
To search among an XFA document, please construct a FSDK.TextSearch object with FSDK.XFADoc object.

See also
FSDK.TextSearch

Constructor & Destructor Documentation

◆ XFADoc()

FSDK.XFADoc.XFADoc ( document  )

Constructor.

When constructing an XFADoc by this constructor successfully, user must set XFA document provider callback by function FSDK.XFADoc.SetDocProviderCallback.

Parameters
[in]documentA valid PDF document. It should has been loaded successfully.
Note
If module "XFA" is not defined in the license information which is used in function , that means user has no right in using XFA related functions and this constructor will throw exception FSDK.e_ErrNoXFAModuleRight .

Member Function Documentation

◆ constructor()

FSDK.XFADoc.constructor ( document  ,
xfa_doc_provider_handler   
)

Constructor.

Parameters
[in]documentA valid PDF document. It should has been loaded successfully.
[in]xfa_doc_provider_handlerAn XFA document provider callback object which is implemented by user and based on callback class FSDK.DocProviderCallback. It should not be null. User should ensure this callback object is kept valid until related PDF document is released.
Note
If module "XFA" is not defined in the license information which is used in function , that means user has no right in using XFA related functions and this constructor will throw exception FSDK.e_ErrNoXFAModuleRight .

◆ ExportData() [1/3]

FSDK.XFADoc.ExportData ( output_file_path  ,
export_type   
)

Export data to a file.

Parameters
[in]output_file_pathA file path, to which data will be exported to.
[in]export_typeExport type. Please refer to values starting from FSDK.XFADoc.e_ExportDataTypeXML and this should be one of these values.
Returns
true means success, while false means failure.

◆ ExportData() [2/3]

FSDK.XFADoc.ExportData ( output_file_path  ,
export_type   
)

Export data to a file.

Parameters
[in]output_file_pathA file path, to which data will be exported to.
[in]export_typeExport type. Please refer to values starting from FSDK.XFADoc.e_ExportDataTypeXML and this should be one of these values.
Returns
true means success, while false means failure.

◆ ExportData() [3/3]

FSDK.XFADoc.ExportData ( stream  ,
export_type   
)

Export data to a FSDK.FileWriterCallback object.

Parameters
[in]streamA FSDK.FileWriterCallback object which is implemented by user to save the exported data.
[in]export_typeExport type. Please refer to values starting from XFADoc.e_ExportDataTypeXML and this should be one of these values.
Returns
true means success, while false means failure.

◆ FlattenTo() [1/3]

FSDK.XFADoc.FlattenTo ( output_file_path  )

Flatten current XFA document to a file.

Parameters
[in]output_file_pathA file path, to which the flattening result will be saved.
Returns
None.

◆ FlattenTo() [2/3]

FSDK.XFADoc.FlattenTo ( output_file_path  )

Flatten current XFA document to a file.

Parameters
[in]output_file_pathA file path, to which the flattening result will be saved.
Returns
None.

◆ FlattenTo() [3/3]

FSDK.XFADoc.FlattenTo ( stream  )

Flatten current XFA document to a file stream.

Parameters
[in]streamA FSDK.StreamCallback object which is implemented by user to save the flattened result.
Returns
None.

◆ GetPage()

FSDK.XFADoc.GetPage ( page_index  )

Get XFA page by index.

Parameters
[in]page_indexThe page index. Valid range: from 0 to (count-1). count is returned by function FSDK.XFADoc.GetPageCount.
Returns
The XFA page.

◆ GetPageCount()

FSDK.XFADoc.GetPageCount ( )

Get XFA page count.

Returns
Page count.

◆ GetType()

FSDK.XFADoc.GetType ( )

Get the XFA document type.

Returns
The type of XFA document. Please refer to values starting from FSDK.XFADoc.e_Dynamic and this would be one of these values.

◆ GetWidgetByFullName()

FSDK.XFADoc.GetWidgetByFullName ( full_name  )

Get the XFA widget which matches the specified full name.

Some XFA widgets may cover serveral XFA pages. In this case, this function can only be used to get the first matched XFA widget in XFA document. User can also use function FSDK.XFAPage.GetWidgetByFullName to get the matched XFA widget in an XFA page.

Parameters
[in]full_nameAn XFA widget's full name. It should not be an empty string. XFA widget's full name can be retrieved by function FSDK.XFAWidget.GetName with type FSDK.XFAWidget.e_WidgetNameTypeFullName in previous process.
Returns
An XFA Widget object.

◆ ImportData() [1/3]

FSDK.XFADoc.ImportData ( file_path  )

Import data from an XML or XDP file.

Parameters
[in]file_pathA path of a source file, whose data will be imported to current XFA document. It should be XML or XDP file and the file extension should be ".xml" or ".xdp".
Returns
true means success, while false means failure.

◆ ImportData() [2/3]

FSDK.XFADoc.ImportData ( file_path  )

Import data from an XML or XDP file.

Parameters
[in]file_pathA path of a source file, whose data will be imported to current XFA document. It should be XML or XDP file and the file extension should be ".xml" or ".xdp".
Returns
true means success, while false means failure.

◆ ImportData() [3/3]

FSDK.XFADoc.ImportData ( file_reader  )

Import data from a FSDK.FileReaderCallback object.

Parameters
[in]file_readerA FSDK.FileReaderCallback object, whose data will be imported to current XFA document. It should be XML or XDP file.
Returns
true means success, while false means failure.

◆ IsEmpty()

FSDK.XFADoc.IsEmpty ( )

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
true means current object is empty, while false means not.

◆ KillFocus()

FSDK.XFADoc.KillFocus ( )

Kill the focus of XFA widget.

Returns
None.

◆ ProcessEvent()

FSDK.XFADoc.ProcessEvent ( event_type  )

Process a kind of event for all the XFA widgets in current XFA document.

Parameters
[in]event_typeAn event type. Please refer to values starting from FSDK.XFADoc.e_EventTypePostPrint and this should be one of these values except FSDK.XFADoc.e_EventTypeUnknown.
Returns
None.

◆ ResetForm()

FSDK.XFADoc.ResetForm ( )

Reset form.

Returns
None.

◆ SetDocProviderCallback()

FSDK.XFADoc.SetDocProviderCallback ( doc_provider_callback  )

Set XFA document provider callback.

Parameters
[in]doc_provider_callbackAn XFA document provider callback object which is implemented by user and based on callback class FSDK.DocProviderCallback. It should not be null. User should ensure this callback object is kept valid until related PDF document is released.
Returns
None.

◆ SetFocus()

FSDK.XFADoc.SetFocus ( xfa_widget  )

Set the focus of XFA widget.

Parameters
[in]xfa_widgetAn XFA widget which would be focused.
Returns
None.

◆ SetPDFPath() [1/2]

FSDK.XFADoc.SetPDFPath ( pdf_file_path  )

Set the path of related PDF document.

The PDF path will be used in function FSDK.XFADoc.ExportData, to be a part of exported data.

Parameters
[in]pdf_file_pathThe file path of related PDF document. It can be either an absolute path or a relative path. It should not be an empty string.
Returns
None.

◆ SetPDFPath() [2/2]

FSDK.XFADoc.SetPDFPath ( pdf_file_path  )

Set the path of related PDF document.

The PDF path will be used in function FSDK.XFADoc.ExportData, to be a part of exported data.

Parameters
[in]pdf_file_pathThe file path of related PDF document. It can be either an absolute path or a relative path. It should not be an empty string.
Returns
None.

◆ StartLoad()

FSDK.XFADoc.StartLoad ( pause  )

Start to load content for current XFA document.

It may take a long time to loading XFA content, so this function uses a progressive process to do this.
The related PDF document object has been loaded, but only PDF related contents have been loaded. So, in order to access XFA content, this function should be called to load XFA content.

Parameters
[in]pausePause object which decides if the importing process needs to be paused. This can be null which means not to pause during the parsing process. If this is not null, it should be a valid pause object implemented by user. Default value: null.
Returns
A progressive object. Please check the rate of current progress by function FSDK.Progressive.GetRateOfProgress. If the rate is not 100 yet, call function FSDK.Progressive.Continue to continue the progress until the progress is finished.

Member Data Documentation

◆ e_Dynamic

FSDK.XFADoc.e_Dynamic
static

Enumeration for XFA document type.

Values of this enumeration should be used alone.

XFA document type: Dynamic.

◆ e_EventTypeUnknown

FSDK.XFADoc.e_EventTypeUnknown
static

Enumeration for XFA event type.

Values of this enumeration should be used alone.

Enumeration for XFA event type.

Values of this enumeration should be used alone.

Event type: Unknown.

◆ e_ExportDataTypeXML

FSDK.XFADoc.e_ExportDataTypeXML
static

Enumeration for the type of exported data.

Values of this enumeration should be used alone.

Type of exported data: XML.