Manages the indirect objects of one cross-reference section or stream.
A PDF file can have more than one cross-reference section or stream which are all daisy-chained together. This allows later sections to override entries in prior ones. This is automatically and transparently done by
Note that a cross-reference section may contain a single object number only once.
HexaPDF::Revision, PDF1.7 s7.5.4, s7.5.8
One entry of a cross-reference section or stream.
An entry has the attributes
objstmand can be created like this:
Entry.new(type, oid, gen, pos, objstm) -> entry
typeattribute can be:
Denotes a free entry.
A used entry that resides in the body of the PDF file. The
posattribute defines the position in the file at which the object can be found.
A used entry that resides in an object stream. The
objstmattribute contains the reference to the object stream in which the object can be found and the
posattribute contains the index into the object stream.
Objects in an object stream always have a generation number of 0!
See: PDF1.7 s7.5.4, s7.5.8
Public Class Methods
Creates a compressed cross-reference entry. See
Entry for details on the arguments.
Public Instance Methods
Adds a compressed entry to the cross-reference section.
Adds a free entry to the cross-reference section.
Adds an in-use entry to the cross-reference section.
Calls the given block once for every subsection of this cross-reference section. Each yielded subsection is a sorted array of cross-reference entries.
If this section contains no objects, a single empty array is yielded (corresponding to a subsection with zero elements).
The subsections are dynamically generated based on the object numbers in this section.
Merges the entries from the given cross-reference section into this one.