Previous Next


                                                     101
          SECTION 3.4                                                                 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 “Compatibility with Applications That
          Do Not Support PDF 1.5” on page 109.

          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           (Required) The type of PDF object that this dictionary describes; must be ObjStm
                            for an object stream.

N            integer        (Required) The number of compressed objects in the stream.

First        integer        (Required) The byte offset (in the decoded stream) of the first compressed object.

Extends      stream         (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.

Previous Next