Previous Next


                                              1053
     SECTION F.4                                                          Access Strategies



     If an overflow hint stream exists, obtaining it requires issuing an additional trans-
     action. For this reason, inclusion of an overflow hint stream in Linearized PDF,
     although permitted, is not recommended. The feature exists to allow the lineariz-
     er to write the PDF file with space reserved for a primary hint stream of an esti-
     mated size and then go back and fill in the hint tables. If the estimate is too small,
     the linearizer can append an overflow stream containing the remaining hint table
     data. Thus, the PDF file can be written in one pass, which may be an advantage if
     the performance of writing PDF is considered important.

     Opening at a named destination requires the viewer application first to read the
     entire Dests or Names dictionary, for which a hint is present. Using this informa-
     tion, it is possible to determine the page containing the specific destination iden-
     tified by the name.

     Opening to an article requires the viewer application first to read the entire
     Threads array, which is located with the document catalog at the beginning of the
     document. Using this information, it is possible to determine the page containing
     the first bead of any thread. Opening at other than the first bead of a thread re-
     quires chaining through all the beads until the desired one is reached; there are
     no hints to accelerate this.


F.4.3 Going to Another Page of an Open Document

     Given a page number and the information in the hint tables, it is now straight-
     forward for the client to construct a single request to retrieve any arbitrary page
     of the document. The request should include the following items:

     • The objects of the page itself, whose byte range can be determined from the
       entry in the page offset hint table.
     • The portion of the main cross-reference table referring to those objects. This
       can be computed from main cross-reference table location (the T entry in the
       linearization parameter dictionary) and the cumulative object number in the
       page offset hint table.
     • The shared objects referenced from the page, whose byte ranges can be deter-
       mined from information in the shared object hint table.
     • The portion or portions of the main cross-reference table referring to those ob-
       jects, as described above.

Previous Next