|
This class represents the cross-reference stream dictionary.
This is definitively detailed in:.
The ISO PDF Specification, ISO 32000-1:2008 PDF 1.7; Table: 17,
page 50.
The ISO PDF
Specification, ISO 32000-2:2017 PDF 2.0; Table: 17, page 65.
This class is always an indirect object because it is also a
StreamElement and these are always indirect objects.
A cross-reference stream, introduced in PDF 1.5, replaces or
supplements the traditional cross-reference table. It records the
byte offset or object stream location of every indirect object in
the file revision, stored as a compressed stream rather than plain
text.
The stream body contains fixed-width binary records, one per
cross-reference entry. The W entry specifies the byte width of each
field within a record. A record has three fields: type, location,
and generation or index.
A type-0 entry marks a free object. A type-1 entry gives the
byte offset of an in-use object in the file. A type-2 entry gives
the object stream number and the index within that stream for a
compressed object.
The Index entry lists pairs of integers specifying which object
numbers the stream covers. Each pair is a starting object number
and a count. When absent, the stream covers objects starting at
zero for the full Size count.
The Prev entry gives the byte offset of the previous
cross-reference stream or table, enabling traversal of all
revisions. The cross-reference stream also carries the trailer
dictionary entries (Root, Encrypt, Info, ID) that were previously
in a separate trailer dictionary.
Because the cross-reference stream is itself a compressed
stream, a reader must be able to locate and decode it before it can
find any other object. The stream's own dictionary entries must
therefore not reference other indirect objects that require
cross-reference lookup to resolve.
System.Object
WebSupergoo.ABCpdf14.Elements.Element
WebSupergoo.ABCpdf14.Elements.CrossReferenceStreamElement
|