SECTION 3.4
101
File Structure
term is used regardless of whether the stream is actually encoded with a
compression filter.)
Any PDF object can appear in an object stream, with the following exceptions:
•
Stream objects
•
Objects with a generation number other than zero
•
A document’s encryption dictionary (see Section 3.5, “Encryption”)
•
An object representing the value of the
Length
entry in an object stream dictio-
nary
Note:
In addition, in linearized files (see Appendix F, “Linearized PDF”), the docu-
ment catalog, the linearization dictionary, and page objects may not appear in an
object stream.
Indirect references to objects inside object streams use the normal syntax: for
example,
14 0 R
. Access to these objects requires a different way of storing cross-
reference information; see Section 3.4.7, “Cross-Reference Streams.” Although an
application must support PDF 1.5 to use compressed objects, the objects can be
stored in a manner that is compatible with PDF 1.4. Applications that do not
support PDF 1.5 can ignore the objects; see
In addition to the standard keys for streams shown in Table 3.4, the stream
dictionary describing an object stream contains the following entries:
TABLE 3.14 Additional entries specific to an object stream dictionary
KEY
TYPE
DESCRIPTION
Type
name
integer
integer
stream
(Required)
The type of PDF object that this dictionary describes; must be
ObjStm
for an object stream.
(Required)
The number of compressed objects in the stream.
(Required)
The byte offset (in the decoded stream) of the first compressed object.
(Optional)
A reference to an object stream, of which the current object stream is
considered an extension. Both streams are considered part of a
collection
of object
streams (see below). A given collection consists of a set of streams whose
Extends
links form a directed acyclic graph.
N
First
Extends