Previous Next


                                             1054
     APPENDIX F                                                           Linearized PDF



     The purpose of the fractions in the page offset hint table is to enable the client to
     schedule retrieval of the page in a way that allows incremental display of the data
     as it arrives. It accomplishes this by constructing a request that interleaves pieces
     of the page contents with the shared resources that the contents refer to. This
     serves much the same purpose as the physical interleaving that is done for the
     first page.


F.4.4 Drawing a Page Incrementally

     The ordering of objects in pages and the organization of the hint tables are in-
     tended to allow progressive update of the display and early opportunities for user
     interaction when the data is arriving slowly. The viewer application must recog-
     nize instances in which the targets of indirect object references have not yet
     arrived and, where possible, rearrange the order in which it acts on the objects in
     the page.

     The following sequence of actions is recommended:

     1. Activate the annotations, but do not draw them yet. Also activate the cursor
        feedback for any article threads in the page.
     2. Begin drawing the contents. Whenever there is a reference to an image
        XObject that has not yet arrived, skip over it. Whenever there is a reference to
        a font whose definition is an embedded font file that has not yet arrived, draw
        the text using a substitute font (if that is possible).
     3. Draw the annotations.
     4. Draw the images as they arrive, together with anything that overlaps them.
     5. Once the embedded font definitions have arrived, redraw the text using the
        correct fonts, together with anything that overlaps the text.

     The last two steps should be done using an off-screen buffer, if possible, to avoid
     objectionable flashing during the redraw process.

     On encountering a reference XObject (see Section 4.9.3, “Reference XObjects”),
     the viewer application may choose to initially display the object as a proxy and
     defer the retrieval and rendering of the imported content. Note that, since all
     XObjects in a Linearized PDF file follow the content stream of the page on which
     they appear, their retrieval is already deferred; the use of a reference XObject re-
     sults in an additional level of deferral.

Previous Next