Foxit PDF SDK

Public Member Functions | Static Public Attributes | List of all members
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] | document | A 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 FSDK.Library.Initialize, 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] | document | A valid PDF document. It should has been loaded successfully.
  [in] | xfa_doc_provider_handler | An 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 FSDK.Library.Initialize, 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_path | A file path, to which data will be exported to.
  [in] | export_type | Export 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_path | A file path, to which data will be exported to.
  [in] | export_type | Export 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] | stream | A FSDK.FileWriterCallback object which is implemented by user to save the exported data.
  [in] | export_type | Export 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_path | A 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_path | A 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] | stream | A 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_index | The 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_name | An 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_path | A 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_path | A 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_reader | A 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_type | An 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_callback | An 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_widget | An 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_path | The 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_path | The 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] | pause | Pause 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.