Foxit PDF SDK

Public Types | Public Member Functions | List of all members
foxit.addon.xfa.XFADoc Class Reference
Inheritance diagram for foxit.addon.xfa.XFADoc:

## Public Types
enum | EventType { EventType.e_EventTypeUnknown = 0, EventType.e_EventTypePostPrint = 1, EventType.e_EventTypePrePrint = 2, EventType.e_EventTypeClick = 3, EventType.e_EventTypeChange = 4, EventType.e_EventTypeDocClose = 5, EventType.e_EventTypeDocReady = 6, EventType.e_EventTypeEnter = 7, EventType.e_EventTypeExit = 8, EventType.e_EventTypeFull = 9, EventType.e_EventTypeIndexChange = 10, EventType.e_EventTypeInitialize = 11, EventType.e_EventTypeMouseDown = 12, EventType.e_EventTypeMouseEnter = 13, EventType.e_EventTypeMouseExit = 14, EventType.e_EventTypeMouseUp = 15, EventType.e_EventTypePostExecute = 16, EventType.e_EventTypePostOpen = 17, EventType.e_EventTypePostSave = 18, EventType.e_EventTypePostSign = 19, EventType.e_EventTypePostSubmit = 20, EventType.e_EventTypePreExecute = 21, EventType.e_EventTypePreOpen = 22, EventType.e_EventTypePreSave = 23, EventType.e_EventTypePreSign = 24, EventType.e_EventTypePreSubmit = 25, EventType.e_EventTypeReady = 26, EventType.e_EventTypeValidationState = 27, EventType.e_EventTypeInitCalculate = 28, EventType.e_EventTypeInitVariables = 29, EventType.e_EventTypeCalculate = 30, EventType.e_EventTypeValidate = 31 }
| Enumeration for XFA event type. More...
enum | ExportDataType { ExportDataType.e_ExportDataTypeXML = 0, ExportDataType.e_ExportDataTypeStaticXDP = 1, ExportDataType.e_ExportDataTypeXDP = 2 }
| Enumeration for the type of exported data. More...
enum | Type { Type.e_Dynamic = 0, Type.e_Static = 1, Type.e_XDP = 2 }
| Enumeration for XFA document type. More...

## Public Member Functions
| XFADoc (PDFDoc document, DocProviderCallback xfa_doc_provider_handler)
| Constructor. More...
| XFADoc (PDFDoc document)
| Constructor. More...
| XFADoc (XFADoc other)
| Constructor, with another XFA document object. More...
bool | ExportData (string output_file_path, XFADoc.ExportDataType export_type)
| Export data to a file. More...
bool | ExportData (FileWriterCallback stream, XFADoc.ExportDataType export_type)
| Export data to a foxit.common.fxcrt.FileWriterCallback object. More...
void | FlattenTo (string output_file_path)
| Flatten current XFA document to a file. More...
void | FlattenTo (StreamCallback stream)
| Flatten current XFA document to a file stream. More...
XFAPage | GetPage (int page_index)
| Get XFA page by index. More...
int | GetPageCount ()
| Get XFA page count. More...
XFADoc.Type | GetType ()
| Get the XFA document type. More...
XFAWidget | GetWidgetByFullName (string full_name)
| Get the XFA widget which matches the specified full name. More...
bool | ImportData (string file_path)
| Import data from an XML or XDP file. More...
bool | ImportData (FileReaderCallback file_reader)
| Import data from a foxit.common.fxcrt.FileReaderCallback object. More...
bool | IsEmpty ()
| Check whether current object is empty or not. More...
void | KillFocus ()
| Kill the focus of XFA widget. More...
void | ProcessEvent (XFADoc.EventType event_type)
| Process a kind of event for all the XFA widgets in current XFA document. More...
void | ResetForm ()
| Reset form. More...
void | SetDocProviderCallback (DocProviderCallback doc_provider_callback)
| Set XFA document provider callback. More...
void | SetFocus (XFAWidget xfa_widget)
| Set the focus of XFA widget. More...
void | SetPDFPath (string pdf_file_path)
| Set the path of related PDF document. More...
Progressive | StartLoad (PauseCallback pause)
| Start to load content for current XFA document. More...

## Detailed Description

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

See also
  foxit.pdf.TextSearch

## Member Enumeration Documentation

## ◆ EventType

enum foxit.addon.xfa.XFADoc.EventType
| strong

Enumeration for XFA event type.

Values of this enumeration should be used alone.

Enumerator
e_EventTypeUnknown | Event type: Unknown.
e_EventTypePostPrint | This kind of event is triggered just after the rendered form has been sent to the printer, spooler, or output destination.
e_EventTypePrePrint | This kind of event is triggered just before the rendering for printing begins.
e_EventTypeClick | This kind of event is triggered when the user clicks in the field.
e_EventTypeChange | This kind of event is triggered when the user changes the field value.
e_EventTypeDocClose | This kind of event is triggered at the very end of processing if and only if all validations succeeded.
e_EventTypeDocReady | This kind of event is triggered before the document is rendered but after data binding.
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).
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.
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.
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.
e_EventTypeInitialize | This kind of event is triggered after data binding is complete.
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.
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.
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.
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.
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.
e_EventTypePostOpen | This kind of event is related to pre-open event for drop-down choice lists.
e_EventTypePostSave | This kind of event is triggered just after the form has been written out in PDF or XDP format.
e_EventTypePostSign | This kind of event is triggered after successfully applying a signature.
e_EventTypePostSubmit | This kind of event is triggered just after the returned data has been marshalled in the Connection Data DOM.
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.
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.
e_EventTypePreSave | This kind of event is triggered just before the form data is written out in PDF or XDP format.
e_EventTypePreSign | This kind of event is triggered when a signature is about to be applied.
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.
e_EventTypeReady | This kind of event is triggered after an XFA DOM has finished loading.
e_EventTypeValidationState | This kind of event is triggered whenever the validation state of the target changes.
e_EventTypeInitCalculate | This kind of event represents the first run calculate.
e_EventTypeInitVariables | This kind of event is not a real event activity, just sign script in variables.
e_EventTypeCalculate | This kind of event represents a calculate operation.
e_EventTypeValidate | This kind of event represents a validate operation.

## ◆ ExportDataType

enum foxit.addon.xfa.XFADoc.ExportDataType
| strong

Enumeration for the type of exported data.

Values of this enumeration should be used alone.

Enumerator
e_ExportDataTypeXML | Type of exported data: XML.
e_ExportDataTypeStaticXDP | Type of exported data: Static XDP.
e_ExportDataTypeXDP | Type of exported data: XDP.

## ◆ Type

enum foxit.addon.xfa.XFADoc.Type
| strong

Enumeration for XFA document type.

Values of this enumeration should be used alone.

Enumerator
e_Dynamic | XFA document type: Dynamic.
e_Static | XFA document type: Static.
e_XDP | XFA document type: XDP, as Raw XML data.

## Constructor & Destructor Documentation

## ◆ XFADoc() [1/3]

foxit.addon.xfa.XFADoc.XFADoc | ( | PDFDoc | document,
|  | DocProviderCallback | xfa_doc_provider_handler
| ) |  |
| inline

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 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 common.Library.Initialize , that means user has no right in using XFA related functions and this constructor will throw exception foxit.common.ErrorCode.e_ErrNoXFAModuleRight .

## ◆ XFADoc() [2/3]

foxit.addon.xfa.XFADoc.XFADoc | ( | PDFDoc | document | ) |
| inline

Constructor.

When constructing an XFADoc by this constructor successfully, user must set XFA document provider callback by function 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 common.Library.Initialize , that means user has no right in using XFA related functions and this constructor will throw exception foxit.common.ErrorCode.e_ErrNoXFAModuleRight .

## ◆ XFADoc() [3/3]

foxit.addon.xfa.XFADoc.XFADoc | ( | XFADoc | other | ) |
| inline

Constructor, with another XFA document object.

Parameters

  [in] | other | Another XFA document object

## Member Function Documentation

## ◆ ExportData() [1/2]

bool foxit.addon.xfa.XFADoc.ExportData | ( | string | output_file_path,
|  | XFADoc.ExportDataType | export_type
| ) |  |
| inline

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 foxit.addon.xfa.XFADoc.ExportDataType.e_ExportDataTypeXML and this should be one of these values.

Returns
  true means success, while false means failure.

## ◆ ExportData() [2/2]

bool foxit.addon.xfa.XFADoc.ExportData | ( | FileWriterCallback | stream,
|  | XFADoc.ExportDataType | export_type
| ) |  |
| inline

Export data to a foxit.common.fxcrt.FileWriterCallback object.

Parameters

  [in] | stream | A foxit::common::file::WriterCallback object which is implemented by user to save the exported data.
  [in] | export_type | Export type. Please refer to values starting from foxit.addon.xfa.XFADoc.ExportDataType.e_ExportDataTypeXML and this should be one of these values.

Returns
  true means success, while false means failure.

## ◆ FlattenTo() [1/2]

void foxit.addon.xfa.XFADoc.FlattenTo | ( | string | output_file_path | ) |
| inline

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/2]

void foxit.addon.xfa.XFADoc.FlattenTo | ( | StreamCallback | stream | ) |
| inline

Flatten current XFA document to a file stream.

Parameters

  [in] | stream | A foxit.common.fxcrt.StreamCallback object which is implemented by user to save the flattened result.

Returns
  None.

## ◆ GetPage()

XFAPage foxit.addon.xfa.XFADoc.GetPage | ( | int | page_index | ) |
| inline

Get XFA page by index.

Parameters

  [in] | page_index | The page index. Valid range: from 0 to (count-1). count is returned by function XFADoc.GetPageCount .

Returns
  The XFA page.

## ◆ GetPageCount()

int foxit.addon.xfa.XFADoc.GetPageCount | ( |  | ) |
| inline

Get XFA page count.

Returns
  Page count.

## ◆ GetType()

XFADoc.Type foxit.addon.xfa.XFADoc.GetType | ( |  | ) |
| inline

Get the XFA document type.

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

## ◆ GetWidgetByFullName()

XFAWidget foxit.addon.xfa.XFADoc.GetWidgetByFullName | ( | string | full_name | ) |
| inline

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 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 XFAWidget.GetName with type foxit.addon.xfa.XFAWidget.WidgetNameType.e_WidgetNameTypeFullName in previous process.

Returns
  An XFA Widget object.

## ◆ ImportData() [1/2]

bool foxit.addon.xfa.XFADoc.ImportData | ( | string | file_path | ) |
| inline

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/2]

bool foxit.addon.xfa.XFADoc.ImportData | ( | FileReaderCallback | file_reader | ) |
| inline

Import data from a foxit.common.fxcrt.FileReaderCallback object.

Parameters

  [in] | file_reader | A foxit.common.fxcrt.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()

bool foxit.addon.xfa.XFADoc.IsEmpty | ( |  | ) |
| inline

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()

void foxit.addon.xfa.XFADoc.KillFocus | ( |  | ) |
| inline

Kill the focus of XFA widget.

Returns
  None.

## ◆ ProcessEvent()

void foxit.addon.xfa.XFADoc.ProcessEvent | ( | XFADoc.EventType | event_type | ) |
| inline

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 foxit.addon.xfa.XFADoc.EventType.e_EventTypePostPrint and this should be one of these values except foxit.addon.xfa.XFADoc.EventType.e_EventTypeUnknown . Currently, only foxit.addon.xfa.XFADoc.EventType.e_EventTypePostPrint and foxit.addon.xfa.XFADoc.EventType.e_EventTypePrePrint are supported.

Returns
  None.

## ◆ ResetForm()

void foxit.addon.xfa.XFADoc.ResetForm | ( |  | ) |
| inline

Reset form.

Returns
  None.

## ◆ SetDocProviderCallback()

void foxit.addon.xfa.XFADoc.SetDocProviderCallback | ( | DocProviderCallback | doc_provider_callback | ) |
| inline

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 DocProviderCallback . It should not be null. User should ensure this callback object is kept valid until related PDF document is released.

Returns
  None.

## ◆ SetFocus()

void foxit.addon.xfa.XFADoc.SetFocus | ( | XFAWidget | xfa_widget | ) |
| inline

Set the focus of XFA widget.

Parameters

  [in] | xfa_widget | An XFA widget which would be focused.

Returns
  None.

## ◆ SetPDFPath()

void foxit.addon.xfa.XFADoc.SetPDFPath | ( | string | pdf_file_path | ) |
| inline

Set the path of related PDF document.

The PDF path will be used in function 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()

Progressive foxit.addon.xfa.XFADoc.StartLoad | ( | PauseCallback | pause | ) |
| inline

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 common.Progressive.GetRateOfProgress . If the rate is not 100 yet, call function common.Progressive.Continue to continue the progress until the progress is finished.