Previous Next
612
CHAPTER 8 Interactive Features
TABLE 8.18 Entries in a border effect dictionary
KEY TYPE VALUE
S name (Optional) A name representing the border effect to apply. Possible values are:
S No effect: the border is as described by the annotation dictionary’s BS entry.
C The border should appear “cloudy”. The width and dash array specified by BS
are honored.
Default value: S.
I number (Optional; valid only if the value of S is C) A number describing the intensity of the ef-
fect. Suggested values range from 0 to 2. Default value: 0.
8.4.4 Appearance Streams
Beginning with PDF 1.2, an annotation can specify one or more appearance
streams as an alternative to the simple border and color characteristics available
in earlier versions. Appearance streams enable the annotation to be presented vi-
sually in different ways to reflect its interactions with the user. Each appearance
stream is a form XObject (see Section 4.9, “Form XObjects”): a self-contained
content stream to be rendered inside the annotation rectangle.
The following method is used to map from the coordinate system of the appear-
ance XObject (as defined by its Matrix entry; see Table 4.45) to the annotation’s
rectangle in default user space:
Algorithm 8.1
1. The appearance’s bounding box (specified by its BBox entry) is transformed, using
Matrix, to produce a quadrilateral with arbitrary orientation. The transformed ap-
pearance box is the smallest upright rectangle that encompasses this quadrilateral.
2. A matrix A is computed that scales and translates the transformed appearance box
to align with the edges of the annotation’s rectangle (specified by the Rect entry). A
maps the lower-left corner (the corner with the smallest x and y coordinates) and
the upper-right corner (the corner with the greatest x and y coordinates) of the
transformed appearance box to the corresponding corners of the annotation’s
rectangle.
3. Matrix is concatenated with A to form a matrix AA that maps from the appearance’s
coordinate system to the annotation’s rectangle in default user space:
AA = A × Matrix
Previous Next