This section describes the basic PDF objects and utility functions used throughout the ImageGear PDF API. These objects provide access to the building blocks used to construct PDF documents. Its functions allow applications to manipulate the low-level data in a PDF file, such as strings, numbers, and dictionaries. Adobe PDF supports the following basic platform-independent types of object:
- Boolean values
- Integer and Fixed (real) numbers
- Strings
- Names
- Arrays
- Dictionaries
- Streams
- The null object
These objects may be labeled so that they can be referred to by other objects. A labeled object is called an indirect object. When a direct object is created, the object itself is returned. As a result, a direct object can only be attached to one other Base object at a time; it cannot, for example, be shared by two different dictionaries. When an indirect object is created, something equivalent to a pointer to the object is returned. As a result, an indirect object can be attached to multiple places in a PDF file simultaneously; it can, for example, be shared by two different dictionaries.
PDF documents are trees of these Base objects. Base objects represent document components such as bookmarks, pages, and fonts. Unlike using the other ImageGear PDF Objects functions, using Base Object functions improperly could result in an invalid PDF file. Therefore, you should not use Base Object methods unless necessary, for example to add private data to portions of a PDF file that cannot be accessed in other ways.
The following table describes the objects supported by the ImageGear PDF component:
Basic Objects | |
HIG_PDF_BASOBJ |
Basic Object - basic PDF object interface. PDF supports eight basic types of object:
|
HIG_PDF_BASBOOL | Basic Boolean - PDF provides Boolean objects identified by the keywords TRUE and FALSE. Boolean objects can be used as the values of array elements and dictionary entries. |
HIG_PDF_BASINT | Basic Integer - Integer objects represent mathematical integers within a certain interval centered at 0. |
HIG_PDF_BASFIXED | Basic Fixed - Fixed objects approximate mathematical real numbers, but with limited range and precision; they are typically represented in fixed-point, rather than floating-point, form. |
HIG_PDF_BASSTR | Basic String - A string object consists of a series of bytes-unsigned integer values in the range 0 to 255. The string elements are not integer objects, but are stored in a more compact format. |
HIG_PDF_BASNAME | Basic Name - A name object is an atomic symbol uniquely defined by a sequence of characters. Uniquely defined means that any two name objects made up of the same sequence of characters are identically the same object. Atomic means that a name has no internal structure; although it is defined by a sequence of characters, those characters are not "elements" of the name. |
HIG_PDF_BASARR | Basic Array - an array object is a one-dimensional collection of objects arranged sequentially. Unlike arrays in many other computer languages, PDF arrays may be heterogeneous; that is, an array's elements may be any combination of numbers, strings, dictionaries, or any other objects, including other arrays. |
HIG_PDF_BASDICT | Basic Dictionary - a dictionary object is an associative table containing pairs of objects, known as the dictionary's entries. The first element of each entry is the key and the second element is the value. The key must be a name. The value can be any kind of object, including another dictionary. |
HIG_PDF_BASNULL | Basic Null - The null object has a type and value that are unequal to those of any other object. There is only one object of type null, denoted by the keyword null. |