PDFArray Class Documentation

classPDFArray : PDFObject

Namespace:datalogics_interface

Inherits from:
PDFObject

Detailed Description

All objects in a PDF document are built from a collection of simpler objects that represent fundamental datatypes like numbers, strings and arrays. PDFObject and its subclasses allow direct access and manipulation of these simple objects. Some subclasses represent single data elements. For example, PDFInteger represents a single integer value. Others represent a collection of PDFObjects, like PDFArray, an indexed array of data elements.

A PDFArray is a heterogenous collection object that gathers other PDFObjects (including other PDFArrays) into an indexed list.

Constructor & Destructor Documentation

PDFArray

PDFArray(Document &doc, boolindirect)

Parameters

doc: Document &

Document object containing this PDFArray

indirect: bool

flag marking this as an indirect PDFObject

General constructor

Member Function Documentation

add

voidadd(PDFObject &value)

Parameters

value: PDFObject &

the object to append.

Returns:

void

Adds an object to the end of the array

get_generation

intget_generation()

Returns:

The generation number of this indirect object.

Only indirect objects have a generation number.

get_id

intget_id()

Returns:

The ID number of this indirect object.

Only indirect objects have an ID number.

get_indirect

boolget_indirect()

Returns:

true if this object is indirect, false if it is direct.

Indicates if this object is indirect or direct.

get_length

intget_length()

Returns:

int

The number of elements in this array.

get_type

PDFObjectTypeget_type()

Returns:

PDFObjectType

The underlying Cos type of this object. Prefer this over dynamic_cast/try_as chains in hot paths.

insert

voidinsert(intindex, PDFObject &value)

Parameters

index: int

the position at which to insert.

value: PDFObject &

the object to insert.

Returns:

void

Inserts an object at the given index, displacing existing objects. All objects following this will have their index increased by one.

operator==

booloperator==(const PDFObject &other)

Parameters

other: const PDFObject &

The other PDFObject to compare against.

Returns:

true if the two objects are equal, false otherwise.

Compare if two objects are equal.

put

voidput(intindex, PDFObject &value)

Parameters

index: int

the position at which to place the object.

value: PDFObject &

the object to place at the given index.

Returns:

void

Puts an object at the given index, replacing the existing item. The index can be greater than the current length of the array; the array will be extended and the empty slots filled with null objects.

remove_at

voidremove_at(intindex)

Parameters

index: int

the position of the object to remove.

Returns:

void

Removes the object at the given index. The length of the array is reduced by 1.

to_string

std::stringto_string()

Returns:

A string describing this PDFObject.

The string includes the object's indirect status, and if indirect, its ID and generation number.

try_as

T *try_as(typename T)

Parameters

: typename T

Returns:

T *

Attempt to downcast this object to a derived Cos type such as PDFString, PDFDict, PDFArray, PDFStream, PDFName, PDFInteger, PDFReal, or PDFBoolean. Returns nullptr if the object's actual type doesn't match T.

try_as

const T *try_as(typename T)

Parameters

: typename T

Returns:

const T *

Const overload of try_as(). Returns a const pointer, or nullptr.