All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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)
void SaveAsXFDF (const UString &filepath)
UString SaveAsXFDF ()
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.

Definition at line 39 of file FDFDoc.h.

Constructor & Destructor Documentation

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

Default constructor

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

sdfdocAn SDF document. FDFDoc will take the ownership of the low-level document.
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

filepath- pathname to the file.
pdftron::FDF::FDFDoc::FDFDoc ( const UString filepath)
pdftron::FDF::FDFDoc::FDFDoc ( Filters::Filter  stream)

Open an existing FDF document

stream- input stream containing a serialized document. The input stream may be a random-access file, memory buffer, slow HTTP connection etc.
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.

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.
buf- a memory buffer containing the serialized document
buf_size- the size of memory buffer.
pdftron::FDF::FDFDoc::~FDFDoc ( )


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)

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

file_name- string containing either the file path to a XFDF file, or the XML buffer containing the XFDF.
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.

FDFField pdftron::FDF::FDFDoc::FieldCreate ( const UString field_name,
PDF::Field::Type  type,
const UString field_value 
SDF::Obj pdftron::FDF::FDFDoc::GetFDF ( )
the FDF dictionary located in "/Root" or NULL if dictionary is not present.
FDFField pdftron::FDF::FDFDoc::GetField ( const UString field_name)
field_name- a string representing the fully qualified name of the field (e.g. "").
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).

an iterator to the first Filed in the document.
if the document has no AcroForms, HasNext() will return false.
FDFFieldIterator pdftron::FDF::FDFDoc::GetFieldIterator ( const UString field_name)
SDF::Obj pdftron::FDF::FDFDoc::GetID ( )

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

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

a String with the PDF document file name.
SDF::Obj pdftron::FDF::FDFDoc::GetRoot ( )
- A dictionary representing the Cos root of the document (/Root entry within the trailer dictionary)
SDF::SDFDoc& pdftron::FDF::FDFDoc::GetSDFDoc ( )
document's SDF/Cos document
SDF::Obj pdftron::FDF::FDFDoc::GetTrailer ( )
- A dictionary representing the Cos root of the document (document's trailer)
bool pdftron::FDF::FDFDoc::IsModified ( ) const
- 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

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.

path- The full path name to which the file is saved.
-if the file can't be opened for saving or if there is a problem during Save an Exception object will be thrown.
std::vector<unsigned char> pdftron::FDF::FDFDoc::Save ( )

Saves the document to a memory buffer.

out_bufa 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_sizethe size of the serialized document (i.e. out_buf) in bytes.
-if there is a problem during Save an Exception object will be thrown.
void pdftron::FDF::FDFDoc::Save ( const char *&  out_buf,
size_t &  out_buf_size 
void pdftron::FDF::FDFDoc::SaveAsXFDF ( const UString filepath)

Export FDF file as an XFDF file

filepath- the filepath of the exported XFDF file
UString pdftron::FDF::FDFDoc::SaveAsXFDF ( )

Export FDF file as a XFDF string

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.

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.

filepath- pathname to the file.

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