Foxit PDF SDK
foxit.addon.xfa.XFADoc Class Reference
Inheritance diagram for foxit.addon.xfa.XFADoc:
foxit.common.Base

Public Types

enum  EventType { EventType.e_EventTypeUnknown = 0, EventType.e_EventTypePostPrint = 1, EventType.e_EventTypePrePrint = 2 }
 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...
 
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

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.

◆ ExportDataType

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

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]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 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]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 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]otherAnother XFA document object

Member Function Documentation

◆ ExportData()

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

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 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_pathA 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]streamA 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_indexThe 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_nameAn 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_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/2]

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

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

Parameters
[in]file_readerA 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_typeAn 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 .
Returns
true means success, while false means failure.

◆ 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_callbackAn 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_widgetAn 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_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()

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]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.
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.