pdftron::SDF::Obj Class Reference

Obj is a concrete class for all SDF/Cos objects. More...

#include <Obj.h>

List of all members.

Public Types

enum  Type {
  e_null, e_bool, e_number, e_name,
  e_string, e_dict, e_array, e_stream
}
 The object type. More...

Public Member Functions

Type GetType () const
bool IsBool () const
bool IsNumber () const
bool IsNull () const
bool IsString () const
bool IsName () const
bool IsIndirect () const
bool IsContainer () const
bool IsDict () const
bool IsArray () const
bool IsStream () const
class SDFDocGetDoc () const
void Write (Filters::FilterWriter &stream)
 The function writes the Obj to the output stream.
size_t Size () const
UInt32 GetObjNum () const
UInt16 GetGenNum () const
size_t GetOffset () const
bool IsFree () const
void SetMark (bool mark)
 Set the object mark.
bool IsMarked () const
bool IsLoaded () const
bool GetBool () const
void SetBool (bool b)
double GetNumber () const
void SetNumber (double n)
const UCharGetBuffer () const
void GetAsPDFText (UString &out_str) const
 Convert the SDF/Cos String object to 'PDF Text String' (a Unicode string).
void SetString (const UChar *value, size_t size)
 Sets the string object value.
void SetString (const UString &str)
 Sets the string object value.
const char * GetName () const
void SetName (const char *name)
DictIterator GetDictIterator ()
DictIterator Find (const char *key)
 Search the dictionary for a given key.
Obj FindObj (const char *key)
 Search the dictionary for a given key.
DictIterator Get (const char *key)
 Search the dictionary for a given key and throw an exception if the key is not found.
Obj PutName (const char *key, const char *name)
 Inserts a <key, Obj::Type::e_name> pair in the dictionary.
Obj PutArray (const char *key)
 Inserts a <key, Obj::Type::e_array> pair in the dictionary.
Obj PutBool (const char *key, bool value)
 Inserts a <key, Obj::Type::e_bool> pair in the dictionary.
Obj PutDict (const char *key)
 Inserts a <key, Obj::Type::e_dict> pair in the dictionary.
Obj PutNumber (const char *key, double value)
 Inserts a <key, Obj::Type::e_number> pair in the dictionary.
Obj PutString (const char *key, const char *value)
 Inserts a <key, Obj::Type::e_string> pair in the dictionary.
Obj PutString (const char *key, const char *value, int size)
 Inserts a <key, Obj::Type::e_string> pair in the dictionary.
Obj PutText (const char *key, const UString &value)
 Inserts a <key, Obj::Type::e_string> pair in the dictionary.
void PutNull (const char *key)
 Inserts a <key, Obj::Type::e_null> pair in the dictionary.
Obj Put (const char *key, Obj obj)
 Inserts a <key, Obj> pair in the dictionary.
Obj PutRect (const char *key, double x1, double y1, double x2, double y2)
 Inserts a <key, [x1,y1,x2,y2]> pair in the dictionary.
Obj PutMatrix (const char *key, const Common::Matrix2D &value)
 Inserts a <key, [a,b,c,d,h,v]> pair in the dictionary.
void Erase (const char *key)
 Removes an element in the dictionary that matches the given key.
void Erase (DictIterator pos)
 Removes an element in the dictionary from specified position.
bool Rename (const char *old_key, const char *new_key)
 Change the key value of a dictionary entry.
Obj GetAt (size_t index) const
Obj InsertName (size_t pos, const char *name)
 Inserts an Obj::Type::e_name object in the array.
Obj InsertArray (size_t pos)
 Inserts an Obj::Type::e_array object in the array.
Obj InsertBool (size_t pos, bool value)
 Inserts an Obj::Type::e_bool object in the array.
Obj InsertDict (size_t pos)
 Inserts an Obj::Type::e_dict object in the array.
Obj InsertNumber (size_t pos, double value)
 Inserts an Obj::Type::e_number object in the array.
Obj InsertString (size_t pos, const char *value)
 Inserts an Obj::Type::e_string object in the array.
Obj InsertString (size_t pos, const char *value, int size)
 Inserts an Obj::Type::e_string object in the array.
Obj InsertText (size_t pos, const UString &value)
 Inserts an Obj::Type::e_string object in the array.
Obj InsertNull (size_t pos)
 Inserts an Obj::Type::e_null object in the array.
Obj Insert (size_t pos, Obj obj)
 Inserts an existing Obj in this array.
Obj InsertRect (size_t pos, double x1, double y1, double x2, double y2)
 Inserts an array of 4 numbers in this array.
Obj InsertMatrix (size_t pos, Common::Matrix2D &value)
 Inserts an array of 6 numbers in this array.
Obj PushBackName (const char *name)
 Appends a new Obj::Type::e_name object at the end of the array.
Obj PushBackArray ()
 Appends a new Obj::Type::e_array object at the end of the array.
Obj PushBackBool (bool value)
 Appends a new Obj::Type::e_bool object at the end of the array.
Obj PushBackDict ()
 Appends a new Obj::Type::e_dict object at the end of the array.
Obj PushBackNumber (double value)
 Appends a new Obj::Type::e_number object at the end of the array.
Obj PushBackString (const char *value)
 Appends a new Obj::Type::e_string object at the end of the array.
Obj PushBackString (const char *value, int size)
 Appends a new Obj::Type::e_string object at the end of the array.
Obj PushBackText (const UString &value)
 Appends a new Obj::Type::e_string object at the end of the array.
Obj PushBackNull ()
 Appends a new Obj::Type::e_null object at the end of the array.
Obj PushBack (Obj obj)
 Appends an existing Obj at the end of the array.
Obj PushBackRect (double x1, double y1, double x2, double y2)
 Appends an array of 4 numbers at the end of the array.
Obj PushBackMatrix (Common::Matrix2D &value)
 Appends an array of 6 numbers at the end of the array.
void EraseAt (size_t pos)
 Checks whether the position is within the array bounds and then removes it from the array and moves each subsequent element to the slot with the next smaller index and decrements the arrays length by 1.
size_t GetRawStreamLength () const
Filters::Filter GetRawStream (bool decrypt) const
Filters::Filter GetDecodedStream () const
void SetStreamData (const char *data, const size_t data_size, Filters::Filter filter_chain=Filters::Filter())
 allows to replace the content stream with a new one without creating a new object
 Obj ()
 Obj (const Obj &c)
Objoperator= (const Obj &c)
 operator bool ()
bool IsEqual (const Obj &to) const
bool operator== (const Obj &to) const


Detailed Description

Obj is a concrete class for all SDF/Cos objects.

Obj hierarchy implements the composite design pattern. As a result, you can invoke a member function of any 'derived' object through Obj interface. If the member function is not supported (e.g. if you invoke Obj::GetNumber() on a boolean object) an Exception will be thrown.

You can use GetType() or obl.Is???() member functions to find out type-information at run time, however most of the time the type can be inferred from the PDF specification. Therefore when you call Doc::GetTrailer() you can assume that returned object is a dictionary. If there is any ambiguity use Is???() methods.

Objects can't be shared across documents, however you can use Doc::ImportObj() to copy objects from one document to another.

Objects can be shared within a document provided that they are created as indirect. Indirect objects are the ones that are referenced in cross-reference table. To create an object as indirect use doc.CreateIndirect???() (where ? is the Object type).


Member Enumeration Documentation

The object type.

Enumerator:
e_null 
e_bool 
e_number 
e_name 
e_string 
e_dict 
e_array 
e_stream 


Constructor & Destructor Documentation

pdftron::SDF::Obj::Obj (  )  [inline]

pdftron::SDF::Obj::Obj ( const Obj c  )  [inline]


Member Function Documentation

Type pdftron::SDF::Obj::GetType (  )  const

Returns:
the object type.
Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::IsBool (  )  const

Returns:
true if this is a Bool object, false otherwise.
Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::IsNumber (  )  const

Returns:
true if this is a Number object, false otherwise.
Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::IsNull (  )  const

Returns:
true if this is a Null object, false otherwise.
Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::IsString (  )  const

Returns:
true if this is a Str (String) object, false otherwise.
Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::IsName (  )  const

Returns:
true if this is Name, false otherwise.
Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::IsIndirect (  )  const

Returns:
true if this is Indirect object (i.e. object referenced in the cross-reference table), false otherwise.
Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::IsContainer (  )  const

Returns:
true if this is a Container (a dictionary, array, or a stream), false otherwise.
Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::IsDict (  )  const

Returns:
true if this is a dictionary (i.e. Dict), false otherwise.
Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::IsArray (  )  const

Returns:
true if this is an Array, false otherwise.
Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::IsStream (  )  const

Returns:
true if this is a Stream, false otherwise.
Note:
this method can be invoked on any Obj.

class SDFDoc& pdftron::SDF::Obj::GetDoc (  )  const

Returns:
the document to which this object belongs.
Note:
this method can be invoked on any Obj.

void pdftron::SDF::Obj::Write ( Filters::FilterWriter stream  ) 

The function writes the Obj to the output stream.

Parameters:
stream - the input stream where the Obj will be written
Note:
this method can be invoked on any Obj.

size_t pdftron::SDF::Obj::Size (  )  const

Returns:
the 'size' of the object. The definition of 'size' depends on the object type. In particular:
  • For a dictionary or a stream object, the method will return the number of key/value pairs in the dictionary.
  • For an array object the method will return the number of Obj entries in the array.
  • For a string object the method will return the number of bytes in the string buffer.
  • For any other object the method will always return 1.
Note:
this method can be invoked on any Obj.

UInt32 pdftron::SDF::Obj::GetObjNum (  )  const

Returns:
object number. If this is not an Indirect object, object number of a containing indirect object is returned.
Note:
this method can be invoked on any Obj.

UInt16 pdftron::SDF::Obj::GetGenNum (  )  const

Returns:
generation number. If this is not an Indirect object, generation number of a containing indirect object is returned.
Note:
this method can be invoked on any Obj.

size_t pdftron::SDF::Obj::GetOffset (  )  const

Returns:
object offset from the beginning of the file. If this is not an Indirect object, offset of a containing indirect object is returned.
Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::IsFree (  )  const

Returns:
true if the object is in use or is marked as free.
Note:
this method can be invoked on any Obj.

void pdftron::SDF::Obj::SetMark ( bool  mark  ) 

Set the object mark.

Mark is a boolean value that can be associated with every indirect object. This is especially useful when and object graph should be traversed and an operation should be performed on each node only once.

Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::IsMarked (  )  const

Returns:
true if the object is marked.
Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::IsLoaded (  )  const

Returns:
true if the object is loaded in memory.
Note:
this method can be invoked on any Obj.

bool pdftron::SDF::Obj::GetBool (  )  const

Returns:
bool value if this is Bool.
Exceptions:
Exception is thrown if the object is not Obj::Type::e_bool

void pdftron::SDF::Obj::SetBool ( bool  b  ) 

Parameters:
b - bool value used to set Bool object.
Exceptions:
An Exception is thrown if this is not a Obj::Type::e_bool

double pdftron::SDF::Obj::GetNumber (  )  const

Returns:
value, if this is Number.
Exceptions:
An Exception is thrown if the object is not a Obj::Type::e_number

void pdftron::SDF::Obj::SetNumber ( double  n  ) 

Parameters:
n - value used to set Number object.
Exceptions:
An Exception is thrown if this is not a Obj::Type::e_number

const UChar* pdftron::SDF::Obj::GetBuffer (  )  const

Returns:
a pointer to the string buffer. Please note that the string may not be NULL terminated and that it may not be represented in ASCII or Unicode encoding. For more information on SDF/Cos String objects, please refer to section 3.2.3 'String Objects' in PDF Reference Manual.
Note:
if SDF/Cos String object is represented as 'PDF Text' (Section 3.8.1 'Text Strings' in PDF Reference) you can use GetAsPDFText method to obtain Unicode representation of the string.

use Size() member function in order to obtain the number of bytes in string buffer.

Exceptions:
Exception is thrown if this is not a Obj::Type::e_string.

void pdftron::SDF::Obj::GetAsPDFText ( UString out_str  )  const

Convert the SDF/Cos String object to 'PDF Text String' (a Unicode string).

PDF Text Strings are not used to represent page content, however they are used in text annotations, bookmark names, article names, document information etc. These strings are encoded in either PDFDocEncoding or Unicode character encoding. For more information on PDF Text Strings, please refer to section 3.8.1 'Text Strings' in PDF Reference.

Note:
Not all SDF/Cos String objects are used to represent 'PDF Text'. PDF Reference indicates (on a case by case basis ) where an SDF/Cos String object can be used as 'PDF Text'.
Exceptions:
An Exception is thrown if this is not a Obj::Type::e_string.

void pdftron::SDF::Obj::SetString ( const UChar value,
size_t  size 
)

Sets the string object value.

Parameters:
value - character buffer.
size - the size of character buffer.
Exceptions:
An Exception is thrown if this is not a Obj::Type::e_string

void pdftron::SDF::Obj::SetString ( const UString str  ) 

Sets the string object value.

Parameters:
str - A Unicode string value.
Exceptions:
An Exception is thrown if this is not a Obj::Type::e_string

const char* pdftron::SDF::Obj::GetName (  )  const

Returns:
string representing the Name object.
Exceptions:
An Exception is thrown if this is not a Obj::Type::e_name

void pdftron::SDF::Obj::SetName ( const char *  name  ) 

Parameters:
name - value used to set Name object.
Exceptions:
An Exception is thrown if this is not a Obj::Type::e_name

DictIterator pdftron::SDF::Obj::GetDictIterator (  ) 

Returns:
an iterator that addresses the first element in the dictionary.
Exceptions:
An Exception is thrown if this is not a dictionary object (Dict).
Sample code used to traverse all entries in the dictionary:
  DictIterator itr = dict.GetDictIterator();
  while (itr.HasNext()) {
      Obj key = itr.Key();
      Obj value = itr.Value();
      // ...
      itr.Next()
   }
 }

DictIterator pdftron::SDF::Obj::Find ( const char *  key  ) 

Search the dictionary for a given key.

Parameters:
key - a key to search for in the dictionary
Returns:
The iterator to the matching key/value pair or invalid iterator (i.e. itr.HasNext()==fase) if the if the dictionary does not contain the given key.
Note:
A dictionary entry whose value is Obj::Null is equivalent to an absent entry.
Exceptions:
Exception is thrown if this is not a dictionary or a stream
Sample code used to search a dictionary for a given key:
  DictIterator itr = info_dict.Find("Info");    
  if (itr.HasNext()) {
    Obj info = itr.Value();
    if (info.IsDict())
      info.PutString("Producer", "PDFTron PDFNet SDK");
 }

Obj pdftron::SDF::Obj::FindObj ( const char *  key  ) 

Search the dictionary for a given key.

Parameters:
key - a key to search for in the dictionary
Returns:
NULL if the dictionary does not contain the specified key. Otherwise return the corresponding value.
Note:
A dictionary entry whose value is Obj::Null is equivalent to an absent entry.
Exceptions:
Exception is thrown if this is not a dictionary or a stream

DictIterator pdftron::SDF::Obj::Get ( const char *  key  ) 

Search the dictionary for a given key and throw an exception if the key is not found.

Parameters:
key - a key to search for in the dictionary
Returns:
Obj::Null object if the value matching specified key is a Obj::Null object.

otherwise return the iterator to the matching key/value pair.

Exceptions:
An Exception is thrown if the dictionary does not contain the specified key.
An Exception is thrown if this is not a Obj::Type::e_dict or a stream.

Obj pdftron::SDF::Obj::PutName ( const char *  key,
const char *  name 
)

Inserts a <key, Obj::Type::e_name> pair in the dictionary.

Parameters:
key The key of the value to set.
name The value of the Obj::Type::e_name object to be inserted into the dictionary.
Returns:
A newly created name object.
Exceptions:
An Exception is thrown if this is not a dictionary or a stream object.
Note:
If a dictionary already contains an entry with the same key, the old entry will be deleted and all DictIterators to this entry will be invalidated.

Obj pdftron::SDF::Obj::PutArray ( const char *  key  ) 

Inserts a <key, Obj::Type::e_array> pair in the dictionary.

Parameters:
key The key of the value to set.
Returns:
A newly created array object.
Exceptions:
An Exception is thrown if this is not a dictionary or a stream object.
Note:
If a dictionary already contains an entry with the same key, the old entry will be deleted and all DictIterators to this entry will be invalidated.

Obj pdftron::SDF::Obj::PutBool ( const char *  key,
bool  value 
)

Inserts a <key, Obj::Type::e_bool> pair in the dictionary.

Parameters:
key The key of the value to set.
value The value of the Obj::Type::e_bool object to be inserted into the dictionary.
Returns:
A newly created boolean object.
Exceptions:
An Exception is thrown if this is not a dictionary or a stream object.
Note:
If a dictionary already contains an entry with the same key, the old entry will be deleted and all DictIterators to this entry will be invalidated.

Obj pdftron::SDF::Obj::PutDict ( const char *  key  ) 

Inserts a <key, Obj::Type::e_dict> pair in the dictionary.

Parameters:
key The key of the value to set.
Returns:
A newly created dictionary.
Exceptions:
An Exception is thrown if this is not a dictionary or a stream object.
Note:
If a dictionary already contains an entry with the same key, the old entry will be deleted and all DictIterators to this entry will be invalidated.

Obj pdftron::SDF::Obj::PutNumber ( const char *  key,
double  value 
)

Inserts a <key, Obj::Type::e_number> pair in the dictionary.

Parameters:
key The key of the value to set.
value The value of the Obj::Type::e_number object to be inserted into the dictionary.
Returns:
A newly created number object.
Exceptions:
An Exception is thrown if this is not a dictionary or a stream object.
Note:
If a dictionary already contains an entry with the same key, the old entry will be deleted and all DictIterators to this entry will be invalidated.

Obj pdftron::SDF::Obj::PutString ( const char *  key,
const char *  value 
)

Inserts a <key, Obj::Type::e_string> pair in the dictionary.

Parameters:
key The key of the value to set.
value The value of the Obj::Type::e_string object to be inserted into the dictionary.
Returns:
A newly created string object.
Exceptions:
An Exception is thrown if this is not a dictionary or a stream object.
Note:
If a dictionary already contains an entry with the same key, the old entry will be deleted and all DictIterators to this entry will be invalidated.

Obj pdftron::SDF::Obj::PutString ( const char *  key,
const char *  value,
int  size 
)

Inserts a <key, Obj::Type::e_string> pair in the dictionary.

Parameters:
key The key of the value to set.
value The buffer used to set the value of the Obj::Type::e_string object to be inserted into the dictionary.
size The number of bytes to copy from the 'value' buffer parameter.
Returns:
A newly created string object.
Exceptions:
An Exception is thrown if this is not a dictionary or a stream object.
Note:
If a dictionary already contains an entry with the same key, the old entry will be deleted and all DictIterators to this entry will be invalidated.

Obj pdftron::SDF::Obj::PutText ( const char *  key,
const UString value 
)

Inserts a <key, Obj::Type::e_string> pair in the dictionary.

Parameters:
key The key of the value to set.
value The value of the Obj::Type::e_string object to be inserted into the dictionary.
Note:
PutText will create the string object as a 'PDF Text' object.
Returns:
A newly created string object.
Exceptions:
An Exception is thrown if this is not a dictionary or a stream object.
Note:
If a dictionary already contains an entry with the same key, the old entry will be deleted and all DictIterators to this entry will be invalidated.

void pdftron::SDF::Obj::PutNull ( const char *  key  ) 

Inserts a <key, Obj::Type::e_null> pair in the dictionary.

Parameters:
key The key of the value to set.
Exceptions:
An Exception is thrown if this is not a dictionary or a stream object.
Note:
The effect of calling this method is essentially the same as dict.Erase(key) .

Obj pdftron::SDF::Obj::Put ( const char *  key,
Obj  obj 
)

Inserts a <key, Obj> pair in the dictionary.

Parameters:
key The key of the value to set.
obj The value to be inserted into the dictionary. If 'obj' is indirect (i.e. is a shared) object it will be inserted by reference, otherwise the object will be cloned and then inserted into the dictionary.
Returns:
A newly inserted object.
Exceptions:
An Exception is thrown if this is not a dictionary or a stream object.

Obj pdftron::SDF::Obj::PutRect ( const char *  key,
double  x1,
double  y1,
double  x2,
double  y2 
)

Inserts a <key, [x1,y1,x2,y2]> pair in the dictionary.

Parameters:
key The key of the value to set.
x1,y1,x2,y2 - The values for an array of four numbers to be inserted into the dictionary.
Returns:
A newly created array object.
Exceptions:
An Exception is thrown if this is not a dictionary or a stream object.
Note:
If a dictionary already contains an entry with the same key, the old entry will be deleted and all DictIterators to this entry will be invalidated.

Obj pdftron::SDF::Obj::PutMatrix ( const char *  key,
const Common::Matrix2D value 
)

Inserts a <key, [a,b,c,d,h,v]> pair in the dictionary.

Parameters:
key The key of the value to set.
value - A matrix used to set the values in an array of six numbers. The resulting array will be inserted into the dictionary.
Returns:
A newly created array object.
Exceptions:
An Exception is thrown if this is not a dictionary or a stream object.
Note:
If a dictionary already contains an entry with the same key, the old entry will be deleted and all DictIterators to this entry will be invalidated.

void pdftron::SDF::Obj::Erase ( const char *  key  ) 

Removes an element in the dictionary that matches the given key.

Exceptions:
An Exception is thrown if this is not a dictionary or a stream.

void pdftron::SDF::Obj::Erase ( DictIterator  pos  ) 

Removes an element in the dictionary from specified position.

Exceptions:
An Exception is thrown if this is not a dictionary or a stream.

bool pdftron::SDF::Obj::Rename ( const char *  old_key,
const char *  new_key 
)

Change the key value of a dictionary entry.

The key can't be renamed if another key with the same name already exists in the dictionary. In this case Rename returns false.

Exceptions:
An Exception is thrown if this is not a dictionary or a stream.

Obj pdftron::SDF::Obj::GetAt ( size_t  index  )  const

Parameters:
index - The array element to obtain. The first element in an array has an index of zero.
Exceptions:
throws an Exception if index is outside the array bounds.
An Exception is thrown if this is not an Obj::Type::e_array.

Obj pdftron::SDF::Obj::InsertName ( size_t  pos,
const char *  name 
)

Inserts an Obj::Type::e_name object in the array.

Returns:
A newly created name object.
Parameters:
pos - The location in the array to insert the object . The object is inserted before the specified location. The first element in an array has a pos of zero. If pos >= Array->Length(), appends obj to array.
name The value of the Obj::Type::e_name object to be inserted.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::InsertArray ( size_t  pos  ) 

Inserts an Obj::Type::e_array object in the array.

Returns:
A newly created array object.
Parameters:
pos - The location in the array to insert the object . The object is inserted before the specified location. The first element in an array has a pos of zero. If pos >= Array->Length(), appends obj to array.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::InsertBool ( size_t  pos,
bool  value 
)

Inserts an Obj::Type::e_bool object in the array.

Returns:
A newly created boolean object.
Parameters:
pos - The location in the array to insert the object . The object is inserted before the specified location. The first element in an array has a pos of zero. If pos >= Array->Length(), appends obj to array.
value The value of the Obj::Type::e_bool object to be inserted.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::InsertDict ( size_t  pos  ) 

Inserts an Obj::Type::e_dict object in the array.

Returns:
A newly created dictionary object.
Parameters:
pos - The location in the array to insert the object . The object is inserted before the specified location. The first element in an array has a pos of zero. If pos >= Array->Length(), appends obj to array.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::InsertNumber ( size_t  pos,
double  value 
)

Inserts an Obj::Type::e_number object in the array.

Returns:
A newly created number object.
Parameters:
pos - The location in the array to insert the object . The object is inserted before the specified location. The first element in an array has a pos of zero. If pos >= Array->Length(), appends obj to array.
value The value of the Obj::Type::e_number object to be inserted.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::InsertString ( size_t  pos,
const char *  value 
)

Inserts an Obj::Type::e_string object in the array.

Returns:
A newly created string object.
Parameters:
pos - The location in the array to insert the object . The object is inserted before the specified location. The first element in an array has a pos of zero. If pos >= Array->Length(), appends obj to array.
value The value of the Obj::Type::e_string object to be inserted.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::InsertString ( size_t  pos,
const char *  value,
int  size 
)

Inserts an Obj::Type::e_string object in the array.

Returns:
A newly created string object.
Parameters:
pos - The location in the array to insert the object . The object is inserted before the specified location. The first element in an array has a pos of zero. If pos >= Array->Length(), appends obj to array.
value The buffer used to set the value of the Obj::Type::e_string object to be inserted.
size The number of bytes to copy from the 'value' buffer parameter.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::InsertText ( size_t  pos,
const UString value 
)

Inserts an Obj::Type::e_string object in the array.

Returns:
A newly created string object.
Parameters:
pos - The location in the array to insert the object . The object is inserted before the specified location. The first element in an array has a pos of zero. If pos >= Array->Length(), appends obj to array.
value The value of the Obj::Type::e_string object to be inserted.
Note:
InsertText will create the string object as a 'PDF Text' object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::InsertNull ( size_t  pos  ) 

Inserts an Obj::Type::e_null object in the array.

Returns:
A newly created null object.
Parameters:
pos - The location in the array to insert the object . The object is inserted before the specified location. The first element in an array has a pos of zero. If pos >= Array->Length(), appends obj to array.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::Insert ( size_t  pos,
Obj  obj 
)

Inserts an existing Obj in this array.

Parameters:
pos - The location in the array to insert the object . The object is inserted before the specified location. The first element in an array has a pos of zero. If pos >= Array->Length(), appends obj to array.
obj The value to be inserted into the dictionary. If 'obj' is indirect (i.e. is a shared) object it will be inserted by reference, otherwise the object will be cloned and then inserted.
Returns:
A newly inserted object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::InsertRect ( size_t  pos,
double  x1,
double  y1,
double  x2,
double  y2 
)

Inserts an array of 4 numbers in this array.

Parameters:
pos - The location in the array to insert the object . The object is inserted before the specified location. The first element in an array has a pos of zero. If pos >= Array->Length(), appends obj to array.
x1,y1,x2,y2 - The values for an array of four numbers to be inserted in this array.
Returns:
A newly created array object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::InsertMatrix ( size_t  pos,
Common::Matrix2D value 
)

Inserts an array of 6 numbers in this array.

Parameters:
pos - The location in the array to insert the object . The object is inserted before the specified location. The first element in an array has a pos of zero. If pos >= Array->Length(), appends obj to array.
value - A matrix used to set the values in an array of six numbers. The resulting array will be then inserted in this array.
Returns:
A newly created array object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::PushBackName ( const char *  name  ) 

Appends a new Obj::Type::e_name object at the end of the array.

Returns:
The new array object.
Parameters:
name - The value of the Obj::Type::e_name object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::PushBackArray (  ) 

Appends a new Obj::Type::e_array object at the end of the array.

Returns:
The new array object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::PushBackBool ( bool  value  ) 

Appends a new Obj::Type::e_bool object at the end of the array.

Returns:
The new boolean object.
Parameters:
name - The value of the Obj::Type::e_bool object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::PushBackDict (  ) 

Appends a new Obj::Type::e_dict object at the end of the array.

Returns:
The new dictionary object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::PushBackNumber ( double  value  ) 

Appends a new Obj::Type::e_number object at the end of the array.

Returns:
The new number object.
Parameters:
value - The value of the Obj::Type::e_number object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::PushBackString ( const char *  value  ) 

Appends a new Obj::Type::e_string object at the end of the array.

Returns:
The new string object.
Parameters:
value - The value of the Obj::Type::e_string object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::PushBackString ( const char *  value,
int  size 
)

Appends a new Obj::Type::e_string object at the end of the array.

Returns:
The new string object.
Parameters:
value The buffer used to set the value of the Obj::Type::e_string object to be inserted.
size The number of bytes to copy from the 'value' buffer parameter.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::PushBackText ( const UString value  ) 

Appends a new Obj::Type::e_string object at the end of the array.

Returns:
The new string object.
Parameters:
value The value of the Obj::Type::e_string object to be inserted.
Note:
InsertText will create the string object as a 'PDF Text' object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::PushBackNull (  ) 

Appends a new Obj::Type::e_null object at the end of the array.

Returns:
The new null object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::PushBack ( Obj  obj  ) 

Appends an existing Obj at the end of the array.

Parameters:
obj The value to be inserted into the dictionary. If 'obj' is indirect (i.e. is a shared) object it will be inserted by reference, otherwise the object will be cloned and then appended.
Returns:
A newly appended object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::PushBackRect ( double  x1,
double  y1,
double  x2,
double  y2 
)

Appends an array of 4 numbers at the end of the array.

Parameters:
x1,y1,x2,y2 - The values for an array of four numbers to be appended.
Returns:
A newly appended array object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

Obj pdftron::SDF::Obj::PushBackMatrix ( Common::Matrix2D value  ) 

Appends an array of 6 numbers at the end of the array.

Parameters:
value - A matrix used to set the values in an array of six numbers. The resulting array will be then inserted in this array.
Returns:
A newly appended array object.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

void pdftron::SDF::Obj::EraseAt ( size_t  pos  ) 

Checks whether the position is within the array bounds and then removes it from the array and moves each subsequent element to the slot with the next smaller index and decrements the arrays length by 1.

Parameters:
idx The index for the array member to remove. Array indexes start at 0.
Exceptions:
An Exception is thrown if this is not an Obj::Type::e_array

size_t pdftron::SDF::Obj::GetRawStreamLength (  )  const

Returns:
the length of the raw/encoded stream equal to the Length parameter
Exceptions:
An Exception is thrown if this is not a Obj::Type::e_stream

Filters::Filter pdftron::SDF::Obj::GetRawStream ( bool  decrypt  )  const

Parameters:
decrypt - If true decrypt the stream if the stream is encrypted.
Returns:
- A filter to the encoded stream
Exceptions:
An Exception is thrown if this is not a Obj::Type::e_stream

Filters::Filter pdftron::SDF::Obj::GetDecodedStream (  )  const

Returns:
- A filter to the decoded stream
Exceptions:
An Exception is thrown if this is not a Obj::Type::e_stream

void pdftron::SDF::Obj::SetStreamData ( const char *  data,
const size_t  data_size,
Filters::Filter  filter_chain = Filters::Filter() 
)

allows to replace the content stream with a new one without creating a new object

Obj& pdftron::SDF::Obj::operator= ( const Obj c  )  [inline]

pdftron::SDF::Obj::operator bool (  )  [inline]

Returns:
true if the object is not null, false otherwise.

bool pdftron::SDF::Obj::IsEqual ( const Obj to  )  const

Returns:
true if two Obj's point to the same object. This method does not compare object content so you should not use this method to compare two (e.g. Number) objects
Parameters:
obj - Obj to compare to

bool pdftron::SDF::Obj::operator== ( const Obj to  )  const


© 2002-2010 PDFTron Systems Inc.