setasign\SetaPDF2\Core\Document

CrossReferenceTable Class representing a cross-reference table

File: /SetaPDF v2/Core/Document/CrossReferenceTable.php
Old class name (alias): \SetaPDF_Core_Document_CrossReferenceTable

Class hierarchy

Summary

Properties

$_maxObjId

protected int CrossReferenceTable::$_maxObjId = 0

The greatest used object id

$_objectOffsets

protected array CrossReferenceTable::$_objectOffsets = array(...)

The cross-reference content

$_pointerToXref

The pointer to the last written xref table

$_updatedOffsets

protected array CrossReferenceTable::$_updatedOffsets = array()

Updated offsets


Methods

cleanUp()

public CrossReferenceTable::cleanUp (
void
): void

Release memory and cycled references.

deleteObject()

public CrossReferenceTable::deleteObject (
int $objectId
): void

Mark an object as deleted.

Parameters
$objectId : int
 

getCompressedStream()

public CrossReferenceTable::getCompressedStream (
\SetaPDF_Core_Type_Dictionary $value,
int $newPointerToXref,
bool $onlyUpdated = true
): bool|\SetaPDF_Core_Type_Stream

Get the cross-reference as a compressed stream object.

Parameters
$value : \SetaPDF_Core_Type_Dictionary
 
$newPointerToXref : int
 
$onlyUpdated : bool
 

getDefinedObjectIds()

Get all defined object ids.

getDefiniedObjectIds()

WARNING: This method is marked as deprecated!

Alias for getDefinedObjectIds()

getGenerationNumberByObjectId()

public CrossReferenceTable::getGenerationNumberByObjectId (
int $objectId
): int|bool

Get the generation number by an object id.

Parameters
$objectId : int
 

getOffsetFor()

public CrossReferenceTable::getOffsetFor (
int $objectId,
?int $generation = 0
): int|array|bool

Get an offset for an object.

Parameters
$objectId : int
 
$generation : ?int
 

getPointerToXref()

Returns the offset of the last written xref table.

getSize()

public CrossReferenceTable::getSize (
void
): int

Get the size of the cross-reference table.

isOffsetUpdated()

public CrossReferenceTable::isOffsetUpdated (
int $objectId
): bool

Checks if an objects offset is updated.

Parameters
$objectId : int
 

offsetsUpdated()

public CrossReferenceTable::offsetsUpdated (
void
): bool

Checks whether any offset was updated or not.

setOffsetFor()

public CrossReferenceTable::setOffsetFor (
int $objectId,
int $generation,
int|array $offset
): void

Set an object offset.

Parameters
$objectId : int
 
$generation : int
 
$offset : int|array
 

updateSize()

public CrossReferenceTable::updateSize (
int $objectId
): void

Updates the size value of this cross-reference table.

Parameters
$objectId : int
 

writeNormal()

public CrossReferenceTable::writeNormal (
\SetaPDF_Core_Writer_WriterInterface $writer,
bool $onlyUpdated = true
): int

Writes the cross-reference to a writer.

Parameters
$writer : \SetaPDF_Core_Writer_WriterInterface
 
$onlyUpdated : bool