SECTION 8.4
605
Anno ta tions
gation order explicit with the optional
Tabs
entry in a page object (see Table 3.27).
The following are the possible values for this entry:
•
R
(row order): Annotations are visited in rows running horizontally across the
page. The direction within a row is determined by the
Direction
entry in the
viewer preferences dictionary (see Section 8.1, “Viewer Preferences”). The first
annotation visited is the first annotation in the topmost row. When the end of a
row is encountered, the first annotation in the next row is visited.
•
C
(column order): Annotations are visited in columns running vertically up
and down the page. Columns are ordered by the
Direction
entry in the viewer
preferences dictionary (see Section 8.1, “Viewer Preferences”). The first anno-
tation visited is the one at the top of the first column. When the end of a col-
umn is encountered, the first annotation in the next column is visited.
•
S
(structure order): Annotations are visited in the order in which they appear in
the structure tree (see Section 10.6, “Logical Structure”). The order for annota-
tions that are not included in the structure tree is application-dependent.
Note:
The descriptions above assume the page is being viewed in the orientation
specified by the
Rotate
entry.
The behavior of each annotation type is implemented by a software module
called an
annotation handler.
Handlers for the standard annotation types are built
directly into the PDF viewer application; handlers for additional types can be
supplied as plug-in extensions.
8.4.1 Annotation Dictionaries
The optional
Annots
entry in a page object (see “Page Objects” on page 144)
holds an array of
annotation dictionaries,
each representing an annotation associ-
ated with the given page. Table 8.15 shows the required and optional entries that
are common to all annotation dictionaries. The dictionary may contain addition-
al entries specific to a particular annotation type; see the descriptions of individ-
ual annotation types in Section 8.4.5, “Annotation Types,” for details.
Note:
A given annotation dictionary may be referenced from the
Annots
array of
only one page. Attempting to share an annotation dictionary among multiple pages
produces unpredictable behavior. This requirement applies only to the annotation
dictionary itself, not to subsidiary objects, which can be shared among multiple an-
notations without causing any difficulty.