Foxit PDF SDK

Public Member Functions | Static Public Member Functions | List of all members
foxit::pdf::objects::PDFDictionary Class Reference
Inheritance diagram for foxit::pdf::objects::PDFDictionary:

## Public Member Functions
PDFObject * | GetElement (const char *key) const
| Get the value element of an entry with specified key. More...
String | GetKey (POSITION position) const
| Get the key of an entry specified by position. More...
PDFObject * | GetValue (POSITION position) const
| Get the value element of an entry specified by position. More...
bool | HasKey (const char *key) const
| Check whether there is an entry with specified key in current dictionary or not. More...
POSITION | MoveNext (POSITION position)
| Move to the position of first or the next entry. More...
void | RemoveAt (const char *key)
| Remove an entry specified by key. More...
void | SetAt (const char *key, PDFObject *pdf_object)
| Set a direct PDF object (whose object number is always equal to 0) as value element to an entry specified by key. More...
void | SetAtBoolean (const char *key, bool value)
| Set boolean element an entry specified by key. More...
void | SetAtDateTime (const char *key, const DateTime &value)
| Set a Datetime object as value element to an entry specified by key. More...
void | SetAtFloat (const char *key, float value)
| Set a float element to an entry specified by key. More...
void | SetAtInteger (const char *key, int value)
| Set a integer element to an entry specified by key. More...
void | SetAtMatrix (const char *key, const Matrix &value)
| Set a matrix object as value element to an entry specified by key. More...
void | SetAtName (const char *key, const char *value)
| Set a string (as PDF name object) as value element to an entry specified by key. More...
void | SetAtRect (const char *key, const RectF &value)
| Set a rectangle object as value element to an entry specified by key. More...
void | SetAtReference (const char *key, PDFObject *pdf_object, PDFDoc document)
| Set the reference object of an indirect PDF object (whose object number is always above 0) as value element to an entry specified by key. More...
void | SetAtString (const char *key, const char *value)
| Set a string as value element to an entry specified by key. More...
void | SetAtString (const char *key, const wchar_t *value)
| Set a string as value element to an entry specified by key. More...
Public Member Functions inherited from foxit::pdf::objects::PDFObject
PDFObject * | CloneObject () const
| Clone current PDF object and get the cloned PDF object. More...
PDFObject * | DeepCloneObject () const
| Clone current PDF object and get the cloned PDF object. More...
PDFArray * | GetArray ()
| Get the PDF array object of current PDF object. More...
bool | GetBoolean () const
| Get the boolean value of current PDF object. More...
DateTime | GetDateTime () const
| Get the date time value of current PDF object. More...
PDFDictionary * | GetDict ()
| Get the PDF dictionary object of current PDF object. More...
PDFObject * | GetDirectObject () const
| Get the direct object of current PDF object. More...
float | GetFloat () const
| Get the float value of current PDF object. More...
int | GetInteger () const
| Get the integer value of current PDF object. More...
Matrix | GetMatrix () const
| Get the matrix value of current PDF object. More...
String | GetName () const
| Get the name value of current PDF object. More...
uint32 | GetObjNum () const
| Get the indirect object number of current PDF object. More...
RectF | GetRect () const
| Get the rectangle value of current PDF object. More...
PDFStream * | GetStream ()
| Get the PDF stream object of current PDF object. More...
String | GetString () const
| Get the string value of current PDF object. More...
Type | GetType () const
| Get the type of current PDF object. More...
WString | GetWideString () const
| Get the wide string value of current PDF object. More...
bool | IsIdentical (PDFObject *pdf_obj) const
| Check if input PDF object is identical with current PDF object. More...
void | Release ()
| Release a newly created PDF object or a clone PDF object, which is not related to PDF document or other PDF object and will not be used any more. More...

## Static Public Member Functions
static PDFDictionary * | Create ()
| Create a new dictionary object. More...
Static Public Member Functions inherited from foxit::pdf::objects::PDFObject
static PDFObject * | CreateFromBoolean (bool boolean_value)
| Create a PDF object from a boolean value. More...
static PDFObject * | CreateFromDateTime (const DateTime &date_time)
| Create a PDF object from date time. More...
static PDFObject * | CreateFromFloat (float float_value)
| Create a PDF object from a float number. More...
static PDFObject * | CreateFromInteger (int integer_value)
| Create a PDF object from a integer number. More...
static PDFObject * | CreateFromName (const char *name)
| Create a PDF object from a string which represents a name. More...
static PDFObject * | CreateFromNameW (const wchar_t *name)
| Create a PDF object from a string which represents a name. More...
static PDFObject * | CreateFromString (const wchar_t *string_value)
| Create a PDF object from string. More...
static PDFObject * | CreateFromString (const wchar_t *string_value, int length)
| Create a PDF object from string. More...
static PDFObject * | CreateReference (PDFDoc document, uint32 object_number)
| Create a reference for an indirect object. More...

## Additional Inherited Members
Public Types inherited from foxit::pdf::objects::PDFObject
enum | Type { e_InvalidType = 0, e_Boolean = 1, e_Number = 2, e_String = 3, e_Name = 4, e_Array = 5, e_Dictionary = 6, e_Stream = 7, e_Null = 8, e_Reference = 9 }
| Enumeration for PDF object type. More...

## Detailed Description

A PDF dictionary object is an associative table containing pairs of objects, known as entries of the dictionary. The first element of each entry is the key, and it must be a PDF name object. The second element is the value, and it can be any kind of PDF object, including another dictionary. In the same dictionary, no two entries should have the same key. For more details, please refer to Section 3.2.6 "Dictionary Objects" in <PDF Reference 1.7>.
Class objects::PDFDictionary is derived from PDFObject and offers functions to create a new PDF dictionary object and get/set entries in a PDF dictionary object.

See also
  PDFObject

## Member Function Documentation

## ◆ Create()

static PDFDictionary* foxit::pdf::objects::PDFDictionary::Create | ( |  | ) |
| static

Create a new dictionary object.

Please call function PDFObject::Release to release the created object if it has not been added/set into PDF document or other PDF object and will not be used any more.

Returns
  A new PDFDictionary object. If there is any error, this function will return NULL.

## ◆ GetElement()

PDFObject* foxit::pdf::objects::PDFDictionary::GetElement | ( | const char * | key | ) | const

Get the value element of an entry with specified key.

Parameters

  [in] | key | The key of the entry. It should not be an empty string.

Returns
  A PDFObject object that receives the value with specified key. If not found, this function will return NULL.

## ◆ GetKey()

String foxit::pdf::objects::PDFDictionary::GetKey | ( | POSITION | position | ) | const

Get the key of an entry specified by position.

Parameters

  [in] | position | A POSITION that specifies the position of the entry. It should not be NULL or 0.

Returns
  The key of the specified entry.

## ◆ GetValue()

PDFObject* foxit::pdf::objects::PDFDictionary::GetValue | ( | POSITION | position | ) | const

Get the value element of an entry specified by position.

Parameters

  [in] | position | A POSITION that specifies the position of the entry. It should not be NULL or 0.

Returns
  A PDFObject that receives the value element of the specified entry. If there is any error, this function will return NULL.

## ◆ HasKey()

bool foxit::pdf::objects::PDFDictionary::HasKey | ( | const char * | key | ) | const

Check whether there is an entry with specified key in current dictionary or not.

Parameters

  [in] | key | The key to be checked. It should not be an empty string.

Returns
  true means the specified key exist in current dictionary, while false means not.

## ◆ MoveNext()

POSITION foxit::pdf::objects::PDFDictionary::MoveNext | ( | POSITION | position | ) |

Move to the position of first or the next entry.

Parameters

  [in] | position | A POSITION that indicates the position of current entry in the dictionary. If this is NULL or 0, the position of first entry in the dictionary will be returned.

Returns
  A POSITION that represents the position of next entry in the dictionary. NULL or 0 means current entry is the last in the dictionary.

## ◆ RemoveAt()

void foxit::pdf::objects::PDFDictionary::RemoveAt | ( | const char * | key | ) |

Remove an entry specified by key.

Parameters

  [in] | key | The key of the entry to be removed. It should not be an empty string.

Returns
  None.

## ◆ SetAt()

void foxit::pdf::objects::PDFDictionary::SetAt | ( | const char * | key,
|  | PDFObject * | pdf_object
| ) |  |

Set a direct PDF object (whose object number is always equal to 0) as value element to an entry specified by key.

If user wants to set indirect PDF object (whose object number is always above 0) to an entry, please refer to function PDFDictionary::SetAtReference.

Parameters

  [in] | key | The key of the entry, whose value element will be set. It should not be an empty string.
  [in] | pdf_object | A PDFObject object which is a direct PDF object (whose object number is always equal to 0) and will be set to the entry. It should not be NULL.

Returns
  None.

## ◆ SetAtBoolean()

void foxit::pdf::objects::PDFDictionary::SetAtBoolean | ( | const char * | key,
|  | bool | value
| ) |  |

Set boolean element an entry specified by key.

Parameters

  [in] | key | The key of the entry, whose value element will be set. It should not be an empty string.
  [in] | value | A boolean element which will be set to the entry.

Returns
  None.

## ◆ SetAtDateTime()

void foxit::pdf::objects::PDFDictionary::SetAtDateTime | ( | const char * | key,
|  | const DateTime & | value
| ) |  |

Set a Datetime object as value element to an entry specified by key.

Parameters

  [in] | key | The key of the entry, whose value element will be set. It should not be an empty string.
  [in] | value | The date time information which will be set to the entry.

Returns
  None.

## ◆ SetAtFloat()

void foxit::pdf::objects::PDFDictionary::SetAtFloat | ( | const char * | key,
|  | float | value
| ) |  |

Set a float element to an entry specified by key.

Parameters

  [in] | key | The key of the entry, whose value element will be set. It should not be an empty string.
  [in] | value | A float value which will be set to the entry.

Returns
  None.

## ◆ SetAtInteger()

void foxit::pdf::objects::PDFDictionary::SetAtInteger | ( | const char * | key,
|  | int | value
| ) |  |

Set a integer element to an entry specified by key.

Parameters

  [in] | key | The key of the entry, whose value element will be set. It should not be an empty string.
  [in] | value | An integer value which will be set to the entry.

Returns
  None.

## ◆ SetAtMatrix()

void foxit::pdf::objects::PDFDictionary::SetAtMatrix | ( | const char * | key,
|  | const Matrix & | value
| ) |  |

Set a matrix object as value element to an entry specified by key.

Parameters

  [in] | key | The key of the entry, whose value element will be set. It should not be an empty string.
  [in] | value | A matrix which will be set to the entry.

Returns
  None.

## ◆ SetAtName()

void foxit::pdf::objects::PDFDictionary::SetAtName | ( | const char * | key,
|  | const char * | value
| ) |  |

Set a string (as PDF name object) as value element to an entry specified by key.

Parameters

  [in] | key | The key of the entry, whose value element will be set. It should not be an empty string.
  [in] | value | A string which will be set as PDF name object to the entry. It should not be an empty string.

Returns
  None.

## ◆ SetAtRect()

void foxit::pdf::objects::PDFDictionary::SetAtRect | ( | const char * | key,
|  | const RectF & | value
| ) |  |

Set a rectangle object as value element to an entry specified by key.

Parameters

  [in] | key | The key of the entry, whose value element will be set. It should not be an empty string.
  [in] | value | A rectangle which will be set to the entry.

Returns
  None.

## ◆ SetAtReference()

void foxit::pdf::objects::PDFDictionary::SetAtReference | ( | const char * | key,
|  | PDFObject * | pdf_object,
|  | PDFDoc | document
| ) |  |

Set the reference object of an indirect PDF object (whose object number is always above 0) as value element to an entry specified by key.

If user wants to set direct PDF object (whose object number is always equal to 0) to an entry, please refer to function PDFDictionary::SetAt.

Parameters

  [in] | key | The key of the entry, whose value element will be set. It should not be an empty string.
  [in] | pdf_object | A PDFObject object which is an indirect PDF object (whose object number is always above 0) and will be set to the entry by a reference object which refers to this indirect object. It should not be NULL.
  [in] | document | A valid PDF document object, to which current PDF dictionary object belongs and in which parameter pdf_object is or will be an indirect object.

Returns
  None.

## ◆ SetAtString() [1/2]

void foxit::pdf::objects::PDFDictionary::SetAtString | ( | const char * | key,
|  | const char * | value
| ) |  |

Set a string as value element to an entry specified by key.

Parameters

  [in] | key | The key of the entry, whose value element will be set. It should not be an empty string.
  [in] | value | A string which will be set as PDF string object to the entry.

Returns
  None.

Note
  If to get string value, please call function PDFObject::GetString.

## ◆ SetAtString() [2/2]

void foxit::pdf::objects::PDFDictionary::SetAtString | ( | const char * | key,
|  | const wchar_t * | value
| ) |  |

Set a string as value element to an entry specified by key.

Parameters

  [in] | key | The key of the entry, whose value element will be set. It should not be an empty string.
  [in] | value | A wide string which will be set as PDF string object to the entry.

Returns
  None.

Note
  If to get string value, please call function PDFObject::GetWideString.