Previous Next
976
CHAPTER 10 Document Interchange
Like all annotations, a trap network annotation is defined by an annotation dic-
tionary (see Section 8.4.1, “Annotation Dictionaries”); its annotation type is
TrapNet. The AP (appearances), AS (appearance state), and F (flags) entries
(which ordinarily are optional) must be present, with the Print and ReadOnly
flags set and all others clear (see Section 8.4.2, “Annotation Flags”). Table 10.52
shows the additional annotation dictionary entries specific to this type of anno-
tation.
The Version and AnnotStates entries, if present, are used to detect changes in the
content of a page that might require regenerating its trap networks. The Version
array identifies elements of the page’s content that might be changed by an editing
application and thus invalidate its trap networks. Because there is at most one
Version array per trap network annotation (and thus per page), any application
generating a new trap network must also verify the validity of existing trap net-
works by enumerating the objects identified in the array and verifying that the
results exactly match the array’s current contents. Any trap networks found to be
invalid must be regenerated. (See implementation notes 171 and 172 in Appendix
H.)
Beginning with PDF 1.4, the LastModified entry can be used in place of the
Version array to track changes to a page’s trap network. (The trap network anno-
tation must include either a LastModified entry or the combination of Version
and AnnotStates, but not all three.) If the modification date in the LastModified
entry of the page object (see “Page Objects” on page 144) is more recent than the
one in the trap network annotation dictionary, the page’s trap networks are in-
valid and must be regenerated. Note, however, that not all editing applications
and plug-in extensions correctly maintain these modification dates. This method
of tracking trap network modifications can be used reliably only in a controlled
workflow environment where the integrity of the modification dates is assured.
TABLE 10.52 Additional entries specific to a trap network annotation
KEY TYPE VALUE
Subtype name (Required) The type of annotation that this dictionary describes; must be
TrapNet for a trap network annotation.
LastModified date (Required if Version and AnnotStates are absent; must be absent if Version and
AnnotStates are present; PDF 1.4) The date and time (see Section 3.8.3,
“Dates”) when the trap network was most recently modified.
Previous Next