Optionaloptions: Partial<Optional actions to execute when an event is triggered.
OptionalonBlur?: NutrientViewer.Actions.JavaScriptActionExecute an action when the widget loses focus.
The name of this event in the PDF spec is Bl.
OptionalonChange?: NutrientViewer.Actions.JavaScriptActionAction to be performed when the user changes the value of the field.
The name of this event in the PDF spec is V.
OptionalonFocus?: NutrientViewer.Actions.JavaScriptActionExecute an action when the widget is focused.
The name of this event in the PDF spec is Fo.
OptionalonFormat?: NutrientViewer.Actions.JavaScriptActionAction to be performed before the field is formatted to display its current value.
The name of this event in the PDF spec is F.
OptionalonInput?: NutrientViewer.Actions.JavaScriptActionAction to be performed when the user types a key-stroke into a text field or combo box or modifies the selection in a scrollable list box.
The name of this event in the PDF spec is K.
OptionalonPointerDown?: NutrientViewer.Actions.ActionAction to be performed when the pointer is pressed.
OptionalonPointerEnter?: NutrientViewer.Actions.ActionAction to be performed when the pointer enters the field area.
OptionalonPointerLeave?: NutrientViewer.Actions.ActionAction to be performed when the pointer hovers the field.
OptionalonPointerUp?: NutrientViewer.Actions.ActionAction to be performed when the pointer is released.
const widget = new NutrientViewer.Annotations.WidgetAnnotation({
id: NutrientViewer.generateInstantId(),
pageIndex: 0,
formFieldName: "MyFormField",
boundingBox: new NutrientViewer.Geometry.Rect({
left: 100,
top: 75,
width: 200,
height: 80
}),
additionalActions: {
onFocus: new NutrientViewer.Actions.JavaScriptAction({
script: "alert('onFocus')"
})
}
});
const form = new NutrientViewer.FormFields.TextFormField({
name: "MyFormField",
annotationIds: new NutrientViewer.Immutable.List([annotation.id]),
value: "Text shown in the form field"
});
instance.create([widget, form])
OptionalAPOptional background color that will fill the bounding box.
The blend mode defines how the color of the annotation will be applied to its background.
Optional border color that will be drawn at the border of the bounding box.
Optional dash pattern used to draw the border for dashed border style.
Optional border style used for the border of the bounding box. Valid options are:
soliddashedbeveledinsetunderlineOptional border width in PDF pixels, that will be used for the border of the bounding box.
Position of this annotation on the page. It's necessary that this spans all visible points of the annotation, otherwise hit testing and other features may not work.
OptionalcanOptional ReadonlycanThis property defines whether the user has permission to edit the group of this annotation.
It is only available when collaboration permissions is enabled on Server-Backed deployments.
The date of the annotation creation.
The name of the creator of the annotation. This is a general purpose string which can easily be spoofed and might not reflect the actual creator of the annotation.
Annotations can store additional user-specified data.
NutrientViewer will not use or evaluate customData in the UI directly.
You have full control over this property. For new annotations, this defaults to null.
customData will be stored as JSON through JSON.serialize() and JSON.parse(), and
so must be a plain JSON-serializable object.
Adding a new EllipseAnnotation with custom data attached:
const annotation = new NutrientViewer.Annotations.EllipseAnnotation({
pageIndex: 0,
boundingBox: new NutrientViewer.Geometry.Rect({
top: 10,
left: 10,
width: 100,
height: 100
}),
customData: {
circleId: "my-circle"
}
});
The name of the font family that should be used.
Fonts are client specific and determined during runtime. If a font is not found, we will automatically fall back to 'sans-serif'.
We test the following list at runtime. The first available font will be used as the default for all new widget annotations: Helvetica, Arial, Calibri, Century Gothic, Consolas, Courier, Dejavu Sans, Dejavu Serif, Georgia, Gill Sans, Impact, Lucida Sans, Myriad Pro, Open Sans, Palatino, Tahoma, Times New Roman, Trebuchet, Verdana, Zapfino, Comic Sans.
If the browser does not natively support the font, it's still possible to support it by providing the required font data using a custom stylesheet.
Optional font color.
Optional font size in page size pixels.
The NutrientViewer.FormFields.FormField#name of the linked form field. Based on the type of the field, a different element will be rendered
This property is used to define the permission scope for this widget annotation.
If you want to change the group, you should update the group property of the corresponding form field.
It is only available when collaboration permissions is enabled on Server-Backed deployments.
If set, do not display or print the annotation or allow it to interact with the user.
Optional horizontal text alignment.
A unique identifier to describe the annotation. When an annotation is created in the UI, the viewer has to generate a unique ID.
When changes are saved to the underlying annotation provider, we call Instance#ensureChangesSaved to make sure the annotation has been persisted from the provider.
If true, the font will be bold if the font family supports this.
Optional ReadonlyisThis property defines whether this annotation can be deleted or not. The value of this field depends on the set of collaboration permissions defined in the JWT token.
It is only available when collaboration permissions is enabled on Server-Backed deployments.
Optional ReadonlyisThis property defines whether this annotation can be edited or not. The value of this field depends on the set of collaboration permissions defined in the JWT token.
It is only available when collaboration permissions is enabled on Server-Backed deployments.
If true, the font will be italic if the font family supports this.
The annotation flag that prevents the annotation from being modified.
The annotation flag that prevents the annotation content from being modified.
An optional field that may be used to identify the annotation.
By default, we'll set that to the same value as the automatically generated Annotation#id.
The annotation flag that prevents the annotation from being printed.
An optional note that can be set on any annotation.
This value is displayed in the Nutrient Web SDK UI for all annotations except NoteAnnotation, TextAnnotation, WidgetAnnotation and CommentMarkerAnnotation.
The annotation flag that prevents the annotation from being rendered in the UI.
The annotation may still be part of the printed page, depending of the value of the Annotations.Annotation#noPrint flag.
A transparency value that is applied to the complete annotation. The value is capped between 0 and 1 inclusive.
The page index on which the annotation is placed. It's important to notice that an annotation can only ever be on one page. If you create for example an ink annotation with lines on two pages, two annotation records will be created.
pageIndex is zero-based and has a maximum value of totalPageCount - 1.
When the annotation is extracted directly from a PDF file, the pdfObjectId refers to the
identifier that was used in the PDF document.
This ID is optional since newly created annotations using the SYNCProvider annotation provider
won't have a pdfObjectId assigned.
The annotation flag that makes the annotation read only.
The counter-clockwise rotation value in degree relative to the rotated PDF page. Inserting an
annotation with a rotation value of 0 will make it appear in the same direction as the UI
appears, when no NutrientViewer.ViewState#pagesRotation is set.
Can either be 0°, 90°, 180°, or 270°. Multiple or negative values are normalized to this interval.
Note: Due to browser constraints, the rotation property is currently reset once the edit mode is enabled via the user interface.
An optional annotation subject, representing a short description of the subject being addressed by the annotation. This property has no effect on the annotation rendering.
The date of last annotation update.
Optional vertical text alignment.
StaticreadableOptionalnotSetValue: unknown
Widget annotations are part of PDF forms and used to position form elements, linked to NutrientViewer.FormFields.FormFields, on a page. To know how a widget is rendered also depends on the linked form field. Widget annotations may only be created or modified if the Form Creator component is present in the license.