- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | List of all members
pdftron::FDF::FDFDoc Class Reference

`#include <FDFDoc.h>`

## Public Member Functions
| FDFDoc (TRN_FDFDoc impl=0, bool owner=true)
| FDFDoc (SDF::SDFDoc &sdfdoc)
| FDFDoc (const char *filepath)
| FDFDoc (const UString &filepath)
| FDFDoc (Filters::Filter stream)
| FDFDoc (const char *buf, size_t buf_size)
| ~FDFDoc ()
void | Close ()
bool | IsModified () const
void | Save (const UString &path)
std::vector< unsigned char > | Save ()
void | Save (const char *&out_buf, size_t &out_buf_size)
SDF::Obj | GetTrailer ()
SDF::Obj | GetRoot ()
SDF::Obj | GetFDF ()
UString | GetPDFFileName ()
void | SetPDFFileName (const UString &filepath)
SDF::Obj | GetID ()
void | SetID (SDF::Obj id)
FDFFieldIterator | GetFieldIterator ()
FDFFieldIterator | GetFieldIterator (const UString &field_name)
FDFField | GetField (const UString &field_name)
FDFField | FieldCreate (const UString &field_name, PDF::Field::Type type, SDF::Obj field_value=0)
FDFField | FieldCreate (const UString &field_name, PDF::Field::Type type, const UString &field_value)
SDF::SDFDoc & | GetSDFDoc ()
void | SaveAsXFDF (const UString &filepath)
void | SaveAsXFDF (const UString &filepath, const FDF::XFDFExportOptions &opts)
UString | SaveAsXFDF ()
UString | SaveAsXFDF (const FDF::XFDFExportOptions &opts)
void | MergeAnnots (const UString &command_file, const UString &permitted_user="")
| FDFDoc (const FDFDoc &other)

## Static Public Member Functions
static FDFDoc | CreateFromXFDF (const UString &file_name)

## Detailed Description

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.

Note: 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.

Definition at line 45 of file FDFDoc.h.

## Constructor & Destructor Documentation

pdftron::FDF::FDFDoc::FDFDoc | ( | TRN_FDFDoc | impl = `0`,
|  | bool | owner = `true`
| ) |  |

Default constructor

Parameters

  impl | If impl is null (default constructor), creates an empty new document. If impl is not null, initializes a FDFDoc based on the low-level TRN_FDFDoc.

pdftron::FDF::FDFDoc::FDFDoc | ( | SDF::SDFDoc & | sdfdoc | ) |

Create a FDF document from an existing SDF/Cos document.

Parameters

  sdfdoc | An SDF document. FDFDoc will take the ownership of the low-level document.

Note
  the SDFDoc will become invalid. If you would like to access the low level document use GetSDFDoc

pdftron::FDF::FDFDoc::FDFDoc | ( | const char * | filepath | ) |

Open an existing FDF document

Parameters

  filepath | - pathname to the file.

pdftron::FDF::FDFDoc::FDFDoc | ( | const UString & | filepath | ) |

pdftron::FDF::FDFDoc::FDFDoc | ( | Filters::Filter | stream | ) |

Open an existing FDF document

Parameters

  stream | - input stream containing a serialized document. The input stream may be a random-access file, memory buffer, slow HTTP connection etc.

Note
  if the input stream doesn't support Seek() operation the document will load whole data stream in memory before parsing. In case of linearized FDF, the document may be parsed on-the-fly while it is being loaded in memory. Note that since StdFile implements Seek() interface, the document does not have to be fully in memory before it is used.
  Make sure to call InitSecurityHandler() after FDFDoc(...) for encrypted documents.

pdftron::FDF::FDFDoc::FDFDoc | ( | const char * | buf,
|  | size_t | buf_size
| ) |  |

Open a SDF/Cos document from a memory buffer.

Note
  the document should be fully loaded in the memory buffer.
  the buffer ownership is not transfered to the Document so the user should clean-up if necessary.

Parameters

  buf | - a memory buffer containing the serialized document
  buf_size | - the size of memory buffer.

pdftron::FDF::FDFDoc::~FDFDoc | ( |  | ) |

Destructor

pdftron::FDF::FDFDoc::FDFDoc | ( | const FDFDoc & | other | ) |

## Member Function Documentation

void pdftron::FDF::FDFDoc::Close | ( |  | ) |

Close FDFDoc

static FDFDoc pdftron::FDF::FDFDoc::CreateFromXFDF | ( | const UString & | file_name | ) |
| static

Create a new FDFDoc from XFDF input. Input can be either a XFDF file path, or the XFDF data itself.

Parameters

  file_name | - string containing either the file path to a XFDF file, or the XML buffer containing the XFDF.

Returns
  A new FDFDoc.

FDFField pdftron::FDF::FDFDoc::FieldCreate | ( | const UString & | field_name,
|  | PDF::Field::Type | type,
|  | SDF::Obj | field_value = `0`
| ) |  |

Create a new interactive form FDFField.

Returns

Exceptions

FDFField pdftron::FDF::FDFDoc::FieldCreate | ( | const UString & | field_name,
|  | PDF::Field::Type | type,
|  | const UString & | field_value
| ) |  |

SDF::Obj pdftron::FDF::FDFDoc::GetFDF | ( |  | ) |

Returns
  the FDF dictionary located in "/Root" or NULL if dictionary is not present.

FDFField pdftron::FDF::FDFDoc::GetField | ( | const UString & | field_name | ) |

Parameters

  field_name | - a string representing the fully qualified name of the field (e.g. "employee.name.first").

Returns
  a FDFField associated with the given field_name or invalid field (null) if the field is not found.

FDFFieldIterator pdftron::FDF::FDFDoc::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).

Returns
  an iterator to the first FDFField in the document.

Note
  if the document has no AcroForms, HasNext() will return false.

FDFFieldIterator pdftron::FDF::FDFDoc::GetFieldIterator | ( | const UString & | field_name | ) |

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

Parameters

  field_name | String representing the name of the FDFField to get.

Returns
  an iterator to the FDFField in the document.

Note
  if the document has no AcroForms, HasNext() will return false.

SDF::Obj pdftron::FDF::FDFDoc::GetID | ( |  | ) |

Get the ID entry from "/Root/FDF" dictionary.

Returns
  - An object representing the ID entry in "/Root/FDF" dictionary.

UString pdftron::FDF::FDFDoc::GetPDFFileName | ( |  | ) |

Get the PDF document file that this FDF file was exported from or is intended to be imported into.

Returns
  a String with the PDF document file name.

SDF::Obj pdftron::FDF::FDFDoc::GetRoot | ( |  | ) |

Returns
  - A dictionary representing the Cos root of the document (/Root entry within the trailer dictionary)

Note
  This method will count as a document usage for consumption-based licensing if the current document has not yet been counted.

SDF::SDFDoc& pdftron::FDF::FDFDoc::GetSDFDoc | ( |  | ) |

Returns
  document's SDF/Cos document

Note
  This method will count as a document usage for consumption-based licensing if the current document has not yet been counted.

SDF::Obj pdftron::FDF::FDFDoc::GetTrailer | ( |  | ) |

Returns
  - A dictionary representing the Cos root of the document (document's trailer)

Note
  This method will count as a document usage for consumption-based licensing if the current document has not yet been counted.

bool pdftron::FDF::FDFDoc::IsModified | ( |  | ) | const

Returns
  - true if document was modified, false otherwise

void pdftron::FDF::FDFDoc::MergeAnnots | ( | const UString & | command_file,
|  | const UString & | permitted_user = `""`
| ) |  |

Merge the annotations from XFDF file into FDF file

Parameters

  command_file | - string containing the xml command file path or xml string of the command
  permitted_user | - optional user name of the permitted user

void pdftron::FDF::FDFDoc::Save | ( | const UString & | path | ) |

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.

Parameters

  path | - The full path name to which the file is saved.

Exceptions

  - | if the file can't be opened for saving or if there is a problem during Save an Exception object will be thrown.

Note
  This method will count as a document usage for consumption-based licensing if the current document has not yet been counted.

std::vector<unsigned char> pdftron::FDF::FDFDoc::Save | ( |  | ) |

Saves the document to a memory buffer.

Exceptions

  - | if there is a problem during Save an Exception object will be thrown.

Note
  This method will count as a document usage for consumption-based licensing if the current document has not yet been counted.

void pdftron::FDF::FDFDoc::Save | ( | const char *& | out_buf,
|  | size_t & | out_buf_size
| ) |  |

Saves the document to a memory buffer.

Parameters

  out_buf | a pointer to the buffer containing the serialized version of the document. (C++ Note) The buffer is owned by a document and the client doesn't need to do any initialization or cleanup.
  out_buf_size | the size of the serialized document (i.e. out_buf) in bytes.

Exceptions

  - | if there is a problem during Save an Exception object will be thrown.

Note
  This method will count as a document usage for consumption-based licensing if the current document has not yet been counted.

void pdftron::FDF::FDFDoc::SaveAsXFDF | ( | const UString & | filepath | ) |

Export FDF file as an XFDF file

Parameters

  filepath | - the filepath of the exported XFDF file

void pdftron::FDF::FDFDoc::SaveAsXFDF | ( | const UString & | filepath,
|  | const FDF::XFDFExportOptions & | opts
| ) |  |

Export FDF file as an XFDF file

Parameters

  filepath | - the filepath of the exported XFDF file
  opts | Options controlling finer parameters of xfdf export

UString pdftron::FDF::FDFDoc::SaveAsXFDF | ( |  | ) |

Export FDF file as a XFDF string

Parameters

  opts | Options controlling finer parameters of xfdf export

UString pdftron::FDF::FDFDoc::SaveAsXFDF | ( | const FDF::XFDFExportOptions & | opts | ) |

Export FDF file as a XFDF string

Parameters

  opts | Options controlling finer parameters of xfdf export

Returns
  A UString containing the XFDF representation of the FDF file

void pdftron::FDF::FDFDoc::SetID | ( | SDF::Obj | id | ) |

Set the ID entry in "/Root/FDF" dictionary.

Parameters

  id | - ID array object.

void pdftron::FDF::FDFDoc::SetPDFFileName | ( | const UString & | filepath | ) |

Set the PDF document file that this FDF file was exported from or is intended to be imported into.

Parameters

  filepath | - pathname to the file.

The documentation for this class was generated from the following file:

- FDF/FDFDoc.h