Foxit PDF SDK
foxit::pdf::objects::PDFDictionary Class Reference
Inheritance diagram for foxit::pdf::objects::PDFDictionary:
foxit::pdf::objects::PDFObject

Public Member Functions

PDFObjectGetElement (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...
 
PDFObjectGetValue (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
PDFObjectCloneObject () const
 Clone current PDF object and get the cloned PDF object. More...
 
PDFArrayGetArray ()
 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...
 
PDFDictionaryGetDict ()
 Get the PDF dictionary object of current PDF object. More...
 
PDFObjectGetDirectObject () 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...
 
PDFStreamGetStream ()
 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...
 
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 PDFDictionaryCreate ()
 Create a new dictionary object. More...
 
- Static Public Member Functions inherited from foxit::pdf::objects::PDFObject
static PDFObjectCreateFromBoolean (bool boolean_value)
 Create a PDF object from a boolean value. More...
 
static PDFObjectCreateFromDateTime (const DateTime &date_time)
 Create a PDF object from date time. More...
 
static PDFObjectCreateFromFloat (float float_value)
 Create a PDF object from a float number. More...
 
static PDFObjectCreateFromInteger (int integer_value)
 Create a PDF object from a integer number. More...
 
static PDFObjectCreateFromName (const char *name)
 Create a PDF object from a string which represents a name. More...
 
static PDFObjectCreateFromString (const wchar_t *string_value)
 Create a PDF object from string. More...
 
static PDFObjectCreateReference (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.

Returns
A new PDFDictionary 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.

◆ GetElement()

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

Get the value element of an entry with specified key.

Parameters
[in]keyThe key of the entry. It should not be an empty string.
Returns
A PDFObject object that receives the value with specified key.

◆ GetKey()

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

Get the key of an entry specified by position.

Parameters
[in]positionA 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]positionA 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.

◆ 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]keyThe 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]positionA 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]keyThe 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]keyThe key of the entry, whose value element will be set. It should not be an empty string.
[in]pdf_objectA 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]keyThe key of the entry, whose value element will be set. It should not be an empty string.
[in]valueA 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]keyThe key of the entry, whose value element will be set. It should not be an empty string.
[in]valueThe 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]keyThe key of the entry, whose value element will be set. It should not be an empty string.
[in]valueA 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]keyThe key of the entry, whose value element will be set. It should not be an empty string.
[in]valueAn 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]keyThe key of the entry, whose value element will be set. It should not be an empty string.
[in]valueA 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]keyThe key of the entry, whose value element will be set. It should not be an empty string.
[in]valueA 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]keyThe key of the entry, whose value element will be set. It should not be an empty string.
[in]valueA 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]keyThe key of the entry, whose value element will be set. It should not be an empty string.
[in]pdf_objectA 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]documentA 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]keyThe key of the entry, whose value element will be set. It should not be an empty string.
[in]valueA 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]keyThe key of the entry, whose value element will be set. It should not be an empty string.
[in]valueA 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.