Annotation flags
Every Annotation
in a document can specify flags that further define its behavior and capabilities. With Nutrient, you can access these flags directly on your annotation objects using several properties in the annotation record.
Capabilities of flags
Annotation flags are part of the PDF specification and define an annotation’s behavior, its presentation onscreen and on paper, and the available editing features given to your users. Here are a few examples of things you can do with flags:
-
An annotation with the
noView
flag won’t be rendered in the UI but may be printable. -
An annotation with the
noPrint
flag won’t be printed. -
An annotation with the
noZoom
flag won’t be magnified when zooming in. This is currently only enabled forStampAnnotation
andTextAnnotation
(with the exception ofTextAnnotation
s with thecallout
property set). -
An annotation with the
noRotate
flag won’t change its rotation when a page rotation is specified. Instead, it’ll be locked to the top-left corner of its bounding box. This is currently only enabled forNoteAnnotation
. -
An annotation with the
readOnly
flag set totrue
won’t respond to user inputs. It isn’t selectable, editable, or deletable. -
An annotation with the
locked
flag set totrue
cannot be deleted or edited. However, this flag doesn’t restrict changes to the annotation’s contents, such as the text of a text annotation. -
In contrast, an annotation with the
lockedContents
flag set totrue
can be edited or deleted, but its text content cannot be edited or deleted.
Setting annotation flags
Here’s an example of how to create a non-viewable annotation:
// Create a new annotation. let annotation = ... // Update the annotation flags. annotation = annotation.set("noView", true); // Add the newly created annotation to the document. instance.create(annotation).then(...);
// Create a new annotation. var annotation = ... // Update the annotation flags. annotation = annotation.set("noView", true); // Add the newly created annotation to the document. instance.create(annotation).then(...);