Foxit PDF SDK
foxit.fdf.FDFDoc Class Reference
Inheritance diagram for foxit.fdf.FDFDoc:
foxit.common.Base

Public Types

enum  Type { Type.e_FDF = 0, Type.e_XFDF = 1 }
 Enumeration for FDF document type. More...
 

Public Member Functions

 FDFDoc (FileReaderCallback file_read)
 Constructor, with a file read callback object. More...
 
 FDFDoc (FDFDoc.Type type)
 Constructor. More...
 
 FDFDoc (string path)
 Constructor, from an existing FDF or XFDF file path. More...
 
 FDFDoc (global::System.IntPtr buffer, uint length)
 Constructor, from a memory buffer. More...
 
 FDFDoc (FDFDoc other)
 Constructor, with another FDF document object. More...
 
PDFDictionary GetCatalog ()
 Get the catalog dictionary. More...
 
PDFDictionary GetFDFDict ()
 Get the dictionary of "FDF" entry from catalog dictionary. More...
 
string GetPDFPath ()
 Get the path of related PDF document. More...
 
FDFDoc.Type GetType ()
 Get the type of current document object. More...
 
bool IsEmpty ()
 Check whether current object is empty or not. More...
 
bool SaveAs (string file_path)
 Save current document as another FDF or XFDF file. More...
 
bool SaveAs (FileWriterCallback file)
 Save current document as another FDF or XFDF file. More...
 
bool SetPDFPath (string pdf_path)
 Set the path of related PDF document. More...
 

Detailed Description

FDF (Forms Data Format) is a kind of file format, used for interactive form data. FDF can be used when submitting form data to a server, receiving the response, and incorporating it into the interactive form. It can also be used to export form data to stand-alone files that can be stored, transmitted electronically, and imported back into the corresponding PDF interactive form. Besides these, FDF can be used to define a container for annotations that are separated from the PDF document to which they apply.
XFDF(XML Forms Data Format) is a version of FDF based on XML. It has similar features with FDF.
In a word, FDF and XFDF contain the subset of a PDF document to describe interactive forms and annotations.
Class FDFDoc can be used to represent either FDF or XFDF. A FDF document object can be constructed with an existing file from file path, memory buffer, a custom implemented foxit.common.fxcrt.FileReaderCallback object and an input file stream. A FDF document object can also be constructed as a new FDF or XFDF document. This class also offers functions to get or set some information from FDF or XFDF file, and save current FDF/XFDF as another file.
To import or export form fields or annotations, please refer to functions pdf.PDFDoc.ImportFromFDF , pdf.PDFDoc.ExportToFDF and pdf.PDFDoc.ExportAnnotToFDF .

See also
foxit.pdf.PDFDoc

Member Enumeration Documentation

◆ Type

enum foxit.fdf.FDFDoc.Type
strong

Enumeration for FDF document type.

Values of this enumeration should be used alone.

Enumerator
e_FDF 

FDF document type: FDF.

e_XFDF 

FDF document type: XFDF.

Constructor & Destructor Documentation

◆ FDFDoc() [1/5]

foxit.fdf.FDFDoc.FDFDoc ( FileReaderCallback  file_read)
inline

Constructor, with a file read callback object.

Parameters
[in]file_readPointer to a foxit.common.fxcrt.FileReaderCallback object which is implemented by user to load a FDF or XFDF document. It should not be null.

◆ FDFDoc() [2/5]

foxit.fdf.FDFDoc.FDFDoc ( FDFDoc.Type  type)
inline

Constructor.

This constructor is to construct a new FDF document object (without any data).

Parameters
[in]typeFDF document type. It should be one of following values:
foxit.fdf.FDFDoc.Type.e_FDF , foxit.fdf.FDFDoc.Type.e_XFDF

◆ FDFDoc() [3/5]

foxit.fdf.FDFDoc.FDFDoc ( string  path)
inline

Constructor, from an existing FDF or XFDF file path.

Parameters
[in]pathA full path of an existing FDF/XFDF file. It should not be an empty string.

◆ FDFDoc() [4/5]

foxit.fdf.FDFDoc.FDFDoc ( global::System.IntPtr  buffer,
uint  length 
)
inline

Constructor, from a memory buffer.

Parameters
[in]bufferA memory buffer. The FDF or XFDF file data should be fully loaded in this memory buffer. It should not be null.
[in]lengthThe size of memory buffer. It should be above 0.

◆ FDFDoc() [5/5]

foxit.fdf.FDFDoc.FDFDoc ( FDFDoc  other)
inline

Constructor, with another FDF document object.

Parameters
[in]otherAnother FDF document object.

Member Function Documentation

◆ GetCatalog()

PDFDictionary foxit.fdf.FDFDoc.GetCatalog ( )
inline

Get the catalog dictionary.

Note
If current object represents an XFDF document, this function will return null.
Returns
The catalog dictionary.

◆ GetFDFDict()

PDFDictionary foxit.fdf.FDFDoc.GetFDFDict ( )
inline

Get the dictionary of "FDF" entry from catalog dictionary.

Note
If current object represents an XFDF document, this function will return null.
Returns
The dictionary of "FDF" entry from catalog dictionary.

◆ GetPDFPath()

string foxit.fdf.FDFDoc.GetPDFPath ( )
inline

Get the path of related PDF document.

The path can be either an absolute one, or a relative one.

Returns
File path of related PDF document. Empty string means no such information is found.

◆ GetType()

FDFDoc.Type foxit.fdf.FDFDoc.GetType ( )
inline

Get the type of current document object.

Returns
FDF document type. It would be one of following values:
foxit.fdf.FDFDoc.Type.e_FDF , foxit.fdf.FDFDoc.Type.e_XFDF .

◆ IsEmpty()

bool foxit.fdf.FDFDoc.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.

◆ SaveAs() [1/2]

bool foxit.fdf.FDFDoc.SaveAs ( string  file_path)
inline

Save current document as another FDF or XFDF file.

Parameters
[in]file_pathA full path of the new saved FDF or XFDF file. It should not be an empty string.
Returns
true means success, while false means failure.
Note
This function does not support to save current FDF object just back to the FDF or XFDF file which is used to construct current FDF object. In order to do so, user is recommended to do as following steps:
Assume that current FDF object is constructed from a FDF file named "org.fdf".
  1. Use current function to save current FDF object to an temporary file. Here, this temporary file is named as "temp.tmp".

  2. Ensure that current FDF object has destructed.

  3. Remove "org.fdf" and rename "temp.tmp" to "org.fdf".

◆ SaveAs() [2/2]

bool foxit.fdf.FDFDoc.SaveAs ( FileWriterCallback  file)
inline

Save current document as another FDF or XFDF file.

Parameters
[in]fileA foxit.common.fxcrt.FileWriterCallback object which is implemented by user to save FDF or XFDF file.
Returns
true means success, while false means failure.
Note
This function does not support to save current FDF object just back to the FDF or XFDF file which is used to construct current FDF object. In order to do so, user is recommended to do as following steps:
Assume that current FDF object is constructed from a FDF file named "org.fdf".
  1. Use current function to save current FDF object to an temporary file. Here, this temporary file is named as "temp.tmp".

  2. Ensure that current FDF object has destructed.

  3. Remove "org.fdf" and rename "temp.tmp" to "org.fdf".

◆ SetPDFPath()

bool foxit.fdf.FDFDoc.SetPDFPath ( string  pdf_path)
inline

Set the path of related PDF document.

Parameters
[in]pdf_pathThe path of related PDF document. It can be either an absolute path or a relative path. It should not be an empty string.
Returns
true means success, while false means failure.