Previous Next


                                             1032
      APPENDIX F                                                           Linearized PDF



F.2.5 Hint Streams (Parts 5 and 10)

      The core of the linearization information is stored in data structures known as
      hint tables, whose format is described in Section F.3, “Hint Tables.” They provide
      indexing information that enables the client to construct a single request for all
      the objects that are needed to display any page of the document or to retrieve cer-
      tain other information efficiently. The hint tables may contain additional infor-
      mation to optimize access by plug-in extensions to application-specific data.

      The hint tables are not logically part of the information content of the document;
      they can be derived from the document. Any action that changes the document—
      for instance, appending an incremental update—invalidates the hint tables. The
      document remains a valid PDF file but is no longer linearized; see Section F.4.6,
      “Accessing an Updated File,” for details.

      The hint tables are binary data structures that are enclosed in a stream object.
      Syntactically, this stream is a normal PDF indirect object. However, there are no
      references to the stream anywhere in the document. Therefore, it is not logically
      part of the document, and an operation that regenerates the document may re-
      move the stream.

      Usually, all the hint tables are contained in a single stream, known as the primary
      hint stream. Optionally, there may be an additional stream containing more hints,
      known as the overflow hint stream. The contents of the two hint streams are to be
      concatenated and treated as if they were a single unbroken stream.

      The primary hint stream, which is required, is shown as part 5 in Example F.1.
      The order of this part and the first-page section, shown as part 6, may be re-
      versed; see Section F.4, “Access Strategies,” for considerations on the choice of
      placement. The overflow hint stream, part 10, is optional. (See implementation
      note 179 in Appendix H.)

      The location and length of the primary hint stream, and of the overflow hint
      stream if present, are given in the linearization parameter dictionary at the begin-
      ning of the file.

      The hint streams are assigned the last object numbers in the file—that is, after the
      object number for the last object in the first page. Their cross-reference table
      entries are at the end of the first-page cross-reference table. This object number
      assignment is independent of the physical locations of the hint streams in the file.

Previous Next