Class FDFDoc
FDFDoc is a class representing Forms Data Format (FDF) documents. FDF is typically 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. In addition, beginning in PDF 1.3, FDF can be used to define a container for annotations that are separate from the PDF document to which they apply.
Implements
Inherited Members
Namespace: pdftron.FDF
Assembly: PDFTronDotNet.dll
Syntax
public class FDFDoc : IDisposable
Remarks
While the constructor does not, a few methods in FDFDoc will cause it to count as a document for the consumption-based licensing if was not created through PDFDoc::FDFExtract(). Please consult individual API documentation for exact details.
Constructors
FDFDoc()
Default constructor. Creates an empty FDF document.
Declaration
public FDFDoc()
FDFDoc(byte[], int)
Open an existing FDF document from an InputStream.
Declaration
public FDFDoc(byte[] buf, int buf_size)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | buf |
|
| int | buf_size |
|
Remarks
Make sure to call InitSecurityHandler() after FDFDoc(...) for encrypted documents.
FDFDoc(string)
Create a new FDFDoc from XFDF input. Input can be either a XFDF file path, or the XFDF data itself.
Declaration
public FDFDoc(string xfdf)
Parameters
| Type | Name | Description |
|---|---|---|
| string | xfdf | string containing either the file path to a XFDF file, or the XML buffer containing the XFDF. |
FDFDoc(FDFDoc)
Declaration
public FDFDoc(FDFDoc other)
Parameters
| Type | Name | Description |
|---|---|---|
| FDFDoc | other |
FDFDoc(Filter)
Open an existing FDF document from an InputStream.
Declaration
public FDFDoc(Filter stream)
Parameters
| Type | Name | Description |
|---|---|---|
| Filter | stream |
|
Remarks
Make sure to call InitSecurityHandler() after FDFDoc(...) for encrypted documents.
FDFDoc(SDFDoc)
Create a FDF document from an existing SDF/Cos document.
Declaration
public FDFDoc(SDFDoc sdfdoc)
Parameters
| Type | Name | Description |
|---|---|---|
| SDFDoc | sdfdoc | An SDF document. Created FDFDoc will take the ownership of the low-level document. |
Methods
Close()
Close FDFDoc and release associated resources
Declaration
public void Close()
CreateFromXFDF(string)
Create a new FDFDoc from XFDF input. Input can be either a XFDF file path, or the XFDF data itself.
Declaration
public static FDFDoc CreateFromXFDF(string xfdf)
Parameters
| Type | Name | Description |
|---|---|---|
| string | xfdf | string containing either the file path to a XFDF file, or the XML buffer containing the XFDF. |
Returns
| Type | Description |
|---|---|
| FDFDoc | created FDFDoc |
Destroy()
Declaration
public void Destroy()
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Declaration
public void Dispose()
Dispose(bool)
Declaration
protected void Dispose(bool disposing)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | disposing |
FieldCreate(string, int)
Create a new interactive form FDFField.
Declaration
public FDFField FieldCreate(string field_name, int type)
Parameters
| Type | Name | Description |
|---|---|---|
| string | field_name | the field_name |
| int | type | the field_type |
Returns
| Type | Description |
|---|---|
| FDFField | the fDF field |
FieldCreate(string, int, string)
Create a FDFField with specified name, type and value
Declaration
public FDFField FieldCreate(string field_name, int type, string field_value)
Parameters
| Type | Name | Description |
|---|---|---|
| string | field_name | the field_name |
| int | type | the field_type |
| string | field_value | the field_value |
Returns
| Type | Description |
|---|---|
| FDFField | the FDF field |
FieldCreate(string, int, Obj)
Create a FDFField with specified name, type and string value
Declaration
public FDFField FieldCreate(string field_name, int type, Obj field_value)
Parameters
| Type | Name | Description |
|---|---|---|
| string | field_name | the field_name |
| int | type | the field_type |
| Obj | field_value | the field_value |
Returns
| Type | Description |
|---|---|
| FDFField | the FDF field |
~FDFDoc()
Releases all resources used by the FDFDoc
Declaration
protected ~FDFDoc()
GetFDF()
Get the FDF dictionary.
Declaration
public Obj GetFDF()
Returns
| Type | Description |
|---|---|
| Obj | the FDF dictionary located in "/Root" or NULL if dictionary is not present. |
GetField(string)
field_name a string representing the fully qualified name of the field (e.g. "employee.name.first").
Declaration
public FDFField GetField(string field_name)
Parameters
| Type | Name | Description |
|---|---|---|
| string | field_name | the field_name |
Returns
| Type | Description |
|---|---|
| FDFField | a FDFFieldIterator referring to the given interactive FDFField or if the field name was not found HasNext() will return false. |
GetFieldIterator()
An interactive form (sometimes referred to as an AcroForm) is a collection of fields for gathering information interactively from the user. A FDF document may contain any number of fields appearing on any combination of pages, all of which make up a single, global interactive form spanning the entire document.
The following methods are used to access and manipulate Interactive form fields (sometimes referred to as AcroForms).
Declaration
public FDFFieldIterator GetFieldIterator()
Returns
| Type | Description |
|---|---|
| FDFFieldIterator | an iterator to the first Filed in the document. |
Remarks
if the document has no AcroForms, HasNext()
GetFieldIterator(string)
Get the field iterator.
Declaration
public FDFFieldIterator GetFieldIterator(string field_name)
Parameters
| Type | Name | Description |
|---|---|---|
| string | field_name | the field_name |
Returns
| Type | Description |
|---|---|
| FDFFieldIterator | the field iterator |
GetID()
Get the ID entry from "/Root/FDF" dictionary.
Declaration
public Obj GetID()
Returns
| Type | Description |
|---|---|
| Obj | An object representing the ID entry in "/Root/FDF" dictionary. |
GetPdfFileName()
Get the PDF document file that this FDF file was exported from or is intended to be imported into.
Declaration
public string GetPdfFileName()
Returns
| Type | Description |
|---|---|
| string | a String with the PDF document file name. |
GetRoot()
Get the root.
Declaration
public Obj GetRoot()
Returns
| Type | Description |
|---|---|
| Obj | A dictionary representing the Cos root of the document (/Root entry within the trailer dictionary) |
Remarks
This method will count as a document usage for consumption-based licensing if the current document has not yet been counted.
GetSDFDoc()
Get the SDFDoc object in FDFDoc
Declaration
public SDFDoc GetSDFDoc()
Returns
| Type | Description |
|---|---|
| SDFDoc | document's SDF/Cos document |
Remarks
This method will count as a document usage for consumption-based licensing if the current document has not yet been counted.
GetTrailer()
Get the trailer.
Declaration
public Obj GetTrailer()
Returns
| Type | Description |
|---|---|
| Obj | A dictionary representing the Cos root of the document (document's trailer) |
Remarks
This method will count as a document usage for consumption-based licensing if the current document has not yet been counted.
IsModified()
determine whether the document is modified
Declaration
public bool IsModified()
Returns
| Type | Description |
|---|---|
| bool | true if document was modified, false otherwise |
MergeAnnots(string)
Merge annotations into FDF document from an XML command.
Declaration
public void MergeAnnots(string command_file)
Parameters
| Type | Name | Description |
|---|---|---|
| string | command_file | the path to XML command file, or the XML command itself |
MergeAnnots(string, string)
Merge annotations into FDF document from an XML command.
Declaration
public void MergeAnnots(string command_file, string permitted_user)
Parameters
| Type | Name | Description |
|---|---|---|
| string | command_file | the path to XML command file, or the XML command itself |
| string | permitted_user | the user name of the permitted user |
Save()
Saves the document to a memory buffer.
Declaration
public byte[] Save()
Returns
| Type | Description |
|---|---|
| byte[] |
Remarks
This method will count as a document usage for consumption-based licensing if the current document has not yet been counted.
Save(string)
Saves the document to a file.
If a full save is requested to the original path, the file is saved to a file system-determined temporary file, the old file is deleted, and the temporary file is renamed to path.
A full save with remove unused or linearization option may re-arrange object in the cross reference table. Therefore all pointers and references to document objects and resources should be re acquired in order to continue document editing.
In order to use incremental save the specified path must match original path and e_incremental flag bit should be set.
Declaration
public void Save(string path)
Parameters
| Type | Name | Description |
|---|---|---|
| string | path | The full path name to which the file is saved. |
Remarks
This method will count as a document usage for consumption-based licensing if the current document has not yet been counted.
SaveAsXFDF(string, XFDFExportOptions)
Save a FDF document in XFDF format.
Declaration
public void SaveAsXFDF(string file_name, XFDFExportOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| string | file_name | the path |
| XFDFExportOptions | options |
SaveAsXFDF(XFDFExportOptions)
Save a FDF document into a XFDF string.
Declaration
public string SaveAsXFDF(XFDFExportOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| XFDFExportOptions | options |
Returns
| Type | Description |
|---|---|
| string | String containing the XFDF representation of the FDF document |
SetID(Obj)
Set the ID entry in "/Root/FDF" dictionary.
Declaration
public void SetID(Obj id)
Parameters
| Type | Name | Description |
|---|---|---|
| Obj | id | ID array object. |
SetPdfFileName(string)
Set the PDF document file that this FDF file was exported from or is intended to be imported into.
Declaration
public void SetPdfFileName(string filepath)
Parameters
| Type | Name | Description |
|---|---|---|
| string | filepath | pathname to the file. |