Hierarchy
Constructors
Parameters
Properties
action
additionalActions
{ … } | null
Optional actions to execute when an event is triggered.
| Property | Description |
|---|---|
| onBlur | Execute an action when the widget loses focus. The name of this event in the PDF spec is |
| onChange | Action to be performed when the user changes the value of the field. The name of this event in the PDF spec is |
| onFocus | Execute an action when the widget is focused. The name of this event in the PDF spec is |
| onFormat | Action to be performed before the field is formatted to display its current value. The name of this event in the PDF spec is |
| onInput | Action 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 |
| onPointerDown | Action to be performed when the pointer is pressed. |
| onPointerEnter | Action to be performed when the pointer enters the field area. |
| onPointerLeave | Action to be performed when the pointer hovers the field. |
| onPointerUp | Action to be performed when the pointer is released. |
Example
Adding an {@link NutrientViewer.Actions.JavaScriptAction} when the annotation is focused:
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])
Default Value
nullAPStreamCache
blendMode
| "normal"
| "multiply"
| "screen"
| "overlay"
| "darken"
| "lighten"
| "colorDodge"
| "colorBurn"
| "hardLight"
| "softLight"
| "difference"
| "exclusion"
The blend mode defines how the color of the annotation will be applied to its background.
Default Value
"normal"borderColor
Optional border color that will be drawn at the border of the bounding box.
Default Value
nullborderDashArray
Optional dash pattern used to draw the border for dashed border style.
borderStyle
Optional border style used for the border of the bounding box. Valid options are:
soliddashedbeveledinsetunderline
Default Value
nullborderWidth
Optional border width in PDF pixels, that will be used for the border of the bounding box.
Default Value
nullboundingBox
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.
canReply
canSetGroup
This 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.
createdBy
The ID of the user who created the annotation, as determined by the
authenticated user (the user_id claim of the JWT) that created it.
Unlike creatorName, which the client supplies, this is assigned by Document Engine from the authenticated session, so a client cannot cause a different author to be recorded. Setting it on an annotation you construct yourself only affects your own copy: it is not serialized, so it never reaches Document Engine or the underlying document.
It requires Instant sync against Document Engine 1.18 or later, and is null on Standalone,
on the deprecated REST provider, against earlier Document Engine versions, and for annotations
created without an authenticated user. It is also null when the server holds an author it
can no longer resolve to an upstream user id, which is indistinguishable from the cases above.
Setting isAnonymous does not
clear it. With Collaboration Permissions configured it is hidden from other users only;
without them it is not hidden at all, which matches how creatorName already behaves.
creatorName
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.
customData
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.
Example
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"
}
});
font
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.
Default Value
nullformFieldName
The NutrientViewer.FormFields.FormField#name of the linked form field. Based on the type of the field, a different element will be rendered
group
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.
horizontalAlign
Optional horizontal text alignment.
Default Value
leftid
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.
isAnonymous
isBold
If true, the font will be bold if the font family supports this.
Default Value
falseisCommentThreadRoot
isDeletable
This 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.
isEditable
This 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.
isItalic
If true, the font will be italic if the font family supports this.
Default Value
falselineSpacing
The spacing between lines of text in multiline text widgets, in PDF points. This is the total line height (baseline to baseline), independent of the font size.
Default Value
nulllocked
The annotation flag that prevents the annotation from being modified.
Default Value
falselockedContents
The annotation flag that prevents the annotation content from being modified.
Default Value
falsename
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.
noPrint
The annotation flag that prevents the annotation from being printed.
Default Value
falsenoRotate
note
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.
noView
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 noPrint flag.
Default Value
falsenoZoom
opacity
A transparency value that is applied to the complete annotation. The value is capped between 0 and 1 inclusive.
Default Value
1pageIndex
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.
pdfObjectId
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.
Default Value
nullrotation
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.
Default Value
0subject
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.
verticalAlign
Optional vertical text alignment.
Default Value
nullreadableName
Methods
Returns the record's
[key, value]pairs, in the order its fields were defined.Returns
IterableIterator<[string, unknown]>An iterator over the record's fields.
Immutable Record API
27
Iterates the record's
[key, value]pairs, in the order its fields were defined.Returns
IterableIterator<[string, unknown]>
Returns a record with every key reset to the default it was defined with.
Returns
thisA new record holding only default values.
delete<K extends keyof { … }>(
key: K & (
| "formFieldName"
| "borderColor"
| "borderStyle"
| "borderDashArray"
| "borderWidth"
| "backgroundColor"
| "fontSize"
| "font"
| "fontColor"
| "isBold"
| "isItalic"
| "horizontalAlign"
| "verticalAlign"
| "additionalActions"
| "rotation"
| "lineSpacing"
| "widgetAttachmentId"
| "contentType"
| "buttonIconUpdatedAt"
| "id"
| "name"
| "subject"
| "pdfObjectId"
| "pageIndex"
| "boundingBox"
| "opacity"
| "note"
| "creatorName"
| "createdBy"
| "createdAt"
| "updatedAt"
| "customData"
| "enrichment"
| "noView"
| "noPrint"
| "locked"
| "lockedContents"
| "readOnly"
| "hidden"
| "group"
| "isEditable"
| "isDeletable"
| "canSetGroup"
| "canReply"
| "noZoom"
| "noRotate"
| "isCommentThreadRoot"
| "isAnonymous"
| "APStreamCache"
| "blendMode"
| "action"
),
): thisReturns a record with
keyreset to the default it was defined with.Type Parameters
Kextends keyof { … }
Parameters
keyK & (
| "formFieldName"
| "borderColor"
| "borderStyle"
| "borderDashArray"
| "borderWidth"
| "backgroundColor"
| "fontSize"
| "font"
| "fontColor"
| "isBold"
| "isItalic"
| "horizontalAlign"
| "verticalAlign"
| "additionalActions"
| "rotation"
| "lineSpacing"
| "widgetAttachmentId"
| "contentType"
| "buttonIconUpdatedAt"
| "id"
| "name"
| "subject"
| "pdfObjectId"
| "pageIndex"
| "boundingBox"
| "opacity"
| "note"
| "creatorName"
| "createdBy"
| "createdAt"
| "updatedAt"
| "customData"
| "enrichment"
| "noView"
| "noPrint"
| "locked"
| "lockedContents"
| "readOnly"
| "hidden"
| "group"
| "isEditable"
| "isDeletable"
| "canSetGroup"
| "canReply"
| "noZoom"
| "noRotate"
| "isCommentThreadRoot"
| "isAnonymous"
| "APStreamCache"
| "blendMode"
| "action"
)One of the keys this record was defined with.
Returns
thisA new record, or this one when the value already equals the default.
Returns a record with the value at
keyPathremoved. A field of this record is reset to its default; a key of a nested collection or plain object is deleted.Parameters
keyPathIterable<unknown>The keys to follow, outermost first.
Returns
thisA new record, or this one when nothing was removed.
equals
Reports whether
otheris a record holding the same keys with equal values, whatever its class.Parameters
otherunknownThe value to compare against.
Returns
booleantruewhen both hold the same keys and every value matches.Deprecated
Records of different classes with identical values compare equal. Use
isEqual(), which also requires both records to be of the same class.
get<K extends keyof { … }, N = never>(
key: K & (
| "formFieldName"
| "borderColor"
| "borderStyle"
| "borderDashArray"
| "borderWidth"
| "backgroundColor"
| "fontSize"
| "font"
| "fontColor"
| "isBold"
| "isItalic"
| "horizontalAlign"
| "verticalAlign"
| "additionalActions"
| "rotation"
| "lineSpacing"
| "widgetAttachmentId"
| "contentType"
| "buttonIconUpdatedAt"
| "id"
| "name"
| "subject"
| "pdfObjectId"
| "pageIndex"
| "boundingBox"
| "opacity"
| "note"
| "creatorName"
| "createdBy"
| "createdAt"
| "updatedAt"
| "customData"
| "enrichment"
| "noView"
| "noPrint"
| "locked"
| "lockedContents"
| "readOnly"
| "hidden"
| "group"
| "isEditable"
| "isDeletable"
| "canSetGroup"
| "canReply"
| "noZoom"
| "noRotate"
| "isCommentThreadRoot"
| "isAnonymous"
| "APStreamCache"
| "blendMode"
| "action"
),
notSetValue?: N,
): N | { … }[K]Returns the value stored under
key.Type Parameters
Kextends keyof { … }
N = neverParameters
keyK & (
| "formFieldName"
| "borderColor"
| "borderStyle"
| "borderDashArray"
| "borderWidth"
| "backgroundColor"
| "fontSize"
| "font"
| "fontColor"
| "isBold"
| "isItalic"
| "horizontalAlign"
| "verticalAlign"
| "additionalActions"
| "rotation"
| "lineSpacing"
| "widgetAttachmentId"
| "contentType"
| "buttonIconUpdatedAt"
| "id"
| "name"
| "subject"
| "pdfObjectId"
| "pageIndex"
| "boundingBox"
| "opacity"
| "note"
| "creatorName"
| "createdBy"
| "createdAt"
| "updatedAt"
| "customData"
| "enrichment"
| "noView"
| "noPrint"
| "locked"
| "lockedContents"
| "readOnly"
| "hidden"
| "group"
| "isEditable"
| "isDeletable"
| "canSetGroup"
| "canReply"
| "noZoom"
| "noRotate"
| "isCommentThreadRoot"
| "isAnonymous"
| "APStreamCache"
| "blendMode"
| "action"
)One of the keys this record was defined with.
Returned when the record does not define
key.
Returns the value at
keyPath, walking nested records and collections.A literal key path is checked against the record's fields and gives the value's type; a computed one gives
unknown.Parameters
keyPathIterable<unknown>The keys to follow, outermost first.
Returns
unknownThe value at that path, or
undefinedwhen it does not resolve.Returns the value at
keyPath, walking nested records and collections.A literal key path is checked against the record's fields and gives the value's type; a computed one gives
unknown.
- has(
key: string,
): key is
| "formFieldName"
| "borderColor"
| "borderStyle"
| "borderDashArray"
| "borderWidth"
| "backgroundColor"
| "fontSize"
| "font"
| "fontColor"
| "isBold"
| "isItalic"
| "horizontalAlign"
| "verticalAlign"
| "additionalActions"
| "rotation"
| "lineSpacing"
| "widgetAttachmentId"
| "contentType"
| "buttonIconUpdatedAt"
| "id"
| "name"
| "subject"
| "pdfObjectId"
| "pageIndex"
| "boundingBox"
| "opacity"
| "note"
| "creatorName"
| "createdBy"
| "createdAt"
| "updatedAt"
| "customData"
| "enrichment"
| "noView"
| "noPrint"
| "locked"
| "lockedContents"
| "readOnly"
| "hidden"
| "group"
| "isEditable"
| "isDeletable"
| "canSetGroup"
| "canReply"
| "noZoom"
| "noRotate"
| "isCommentThreadRoot"
| "isAnonymous"
| "APStreamCache"
| "blendMode"
| "action"Reports whether
keyis one of the keys this record was defined with.A literal key must name a field; a key typed as
stringis narrowed to the field names.Parameters
keystringThe key to look for.
Returns
key is
| "formFieldName"
| "borderColor"
| "borderStyle"
| "borderDashArray"
| "borderWidth"
| "backgroundColor"
| "fontSize"
| "font"
| "fontColor"
| "isBold"
| "isItalic"
| "horizontalAlign"
| "verticalAlign"
| "additionalActions"
| "rotation"
| "lineSpacing"
| "widgetAttachmentId"
| "contentType"
| "buttonIconUpdatedAt"
| "id"
| "name"
| "subject"
| "pdfObjectId"
| "pageIndex"
| "boundingBox"
| "opacity"
| "note"
| "creatorName"
| "createdBy"
| "createdAt"
| "updatedAt"
| "customData"
| "enrichment"
| "noView"
| "noPrint"
| "locked"
| "lockedContents"
| "readOnly"
| "hidden"
| "group"
| "isEditable"
| "isDeletable"
| "canSetGroup"
| "canReply"
| "noZoom"
| "noRotate"
| "isCommentThreadRoot"
| "isAnonymous"
| "APStreamCache"
| "blendMode"
| "action"truewhen the record defines that key, even if its value isnull.
Computes a hash of this record from its contents, the same way Immutable.js does. Equal records have equal hashes; records with equal hashes are not necessarily equal. Plain objects, functions and symbols hash by identity, so a hash is only meaningful within the page that computed it.
Returns
numberAn integer hash.
Reports whether
keyPathresolves, walking nested records and collections.Parameters
keyPathIterable<unknown>The keys to follow, outermost first.
Returns
booleantruewhen every key along the path is present.
Reports whether
otheris a record of the same class holding equal values. Only the two records' own classes are compared; nested records compare asequals()does.Parameters
otherunknownThe value to compare against.
Returns
booleantruewhen both are the same class and every value matches.
Returns a record with the entries of each collection applied in order.
Keys the record was not defined with are ignored.
Returns a record with the entries of each collection merged in, recursing into nested collections and plain objects instead of replacing them.
Keys the record was not defined with are ignored.
Returns a record with each collection merged deeply into the value at
keyPath.Parameters
keyPathIterable<unknown>The keys to follow, outermost first.
...collectionsunknown[]Collections or plain objects to merge into the value there.
Returns
thisA new record, or this one when the value is unchanged.
mergeDeepWith(
merger: (previous: unknown, next: unknown, key: unknown) => unknown,
...collections: (Partial<{ … }> | Iterable<readonly [string, unknown]>)[],
): thisReturns a record with the entries of each collection merged in deeply, calling
mergerwhere a nested value is not a collection to decide the value that is kept.Keys the record was not defined with are ignored.
Parameters
Returns
thisA new record, or this one when no value changed.
Returns a record with each collection merged into the value at
keyPath, one level at a time.Parameters
keyPathIterable<unknown>The keys to follow, outermost first.
...collectionsunknown[]Collections or plain objects to merge into the value there.
Returns
thisA new record, or this one when the value is unchanged.
mergeWith(
merger: <K extends string | number | symbol>(
previous: { … }[K],
next: { … }[K],
key: K,
) => { … }[K],
...collections: (Partial<{ … }> | Iterable<readonly [string, unknown]>)[],
): thisReturns a record with the entries of each collection merged in, calling
mergerfor each key the record already holds to decide the value that is kept.Keys the record was not defined with are ignored.
Parameters
Returns
thisA new record, or this one when no value changed.
remove<K extends keyof { … }>(
key: K & (
| "formFieldName"
| "borderColor"
| "borderStyle"
| "borderDashArray"
| "borderWidth"
| "backgroundColor"
| "fontSize"
| "font"
| "fontColor"
| "isBold"
| "isItalic"
| "horizontalAlign"
| "verticalAlign"
| "additionalActions"
| "rotation"
| "lineSpacing"
| "widgetAttachmentId"
| "contentType"
| "buttonIconUpdatedAt"
| "id"
| "name"
| "subject"
| "pdfObjectId"
| "pageIndex"
| "boundingBox"
| "opacity"
| "note"
| "creatorName"
| "createdBy"
| "createdAt"
| "updatedAt"
| "customData"
| "enrichment"
| "noView"
| "noPrint"
| "locked"
| "lockedContents"
| "readOnly"
| "hidden"
| "group"
| "isEditable"
| "isDeletable"
| "canSetGroup"
| "canReply"
| "noZoom"
| "noRotate"
| "isCommentThreadRoot"
| "isAnonymous"
| "APStreamCache"
| "blendMode"
| "action"
),
): thisAn alias for delete.
Type Parameters
Kextends keyof { … }
Parameters
keyK & (
| "formFieldName"
| "borderColor"
| "borderStyle"
| "borderDashArray"
| "borderWidth"
| "backgroundColor"
| "fontSize"
| "font"
| "fontColor"
| "isBold"
| "isItalic"
| "horizontalAlign"
| "verticalAlign"
| "additionalActions"
| "rotation"
| "lineSpacing"
| "widgetAttachmentId"
| "contentType"
| "buttonIconUpdatedAt"
| "id"
| "name"
| "subject"
| "pdfObjectId"
| "pageIndex"
| "boundingBox"
| "opacity"
| "note"
| "creatorName"
| "createdBy"
| "createdAt"
| "updatedAt"
| "customData"
| "enrichment"
| "noView"
| "noPrint"
| "locked"
| "lockedContents"
| "readOnly"
| "hidden"
| "group"
| "isEditable"
| "isDeletable"
| "canSetGroup"
| "canReply"
| "noZoom"
| "noRotate"
| "isCommentThreadRoot"
| "isAnonymous"
| "APStreamCache"
| "blendMode"
| "action"
)One of the keys this record was defined with.
Returns
thisA new record, or this one when the value already equals the default.
set<K extends keyof { … }>(
key: K & (
| "formFieldName"
| "borderColor"
| "borderStyle"
| "borderDashArray"
| "borderWidth"
| "backgroundColor"
| "fontSize"
| "font"
| "fontColor"
| "isBold"
| "isItalic"
| "horizontalAlign"
| "verticalAlign"
| "additionalActions"
| "rotation"
| "lineSpacing"
| "widgetAttachmentId"
| "contentType"
| "buttonIconUpdatedAt"
| "id"
| "name"
| "subject"
| "pdfObjectId"
| "pageIndex"
| "boundingBox"
| "opacity"
| "note"
| "creatorName"
| "createdBy"
| "createdAt"
| "updatedAt"
| "customData"
| "enrichment"
| "noView"
| "noPrint"
| "locked"
| "lockedContents"
| "readOnly"
| "hidden"
| "group"
| "isEditable"
| "isDeletable"
| "canSetGroup"
| "canReply"
| "noZoom"
| "noRotate"
| "isCommentThreadRoot"
| "isAnonymous"
| "APStreamCache"
| "blendMode"
| "action"
),
value: { … }[K],
): thisReturns a record with
keyset tovalue.Setting a key to the value it already holds returns the same instance, so a record can be compared by reference to detect a change.
Type Parameters
Kextends keyof { … }
Parameters
keyK & (
| "formFieldName"
| "borderColor"
| "borderStyle"
| "borderDashArray"
| "borderWidth"
| "backgroundColor"
| "fontSize"
| "font"
| "fontColor"
| "isBold"
| "isItalic"
| "horizontalAlign"
| "verticalAlign"
| "additionalActions"
| "rotation"
| "lineSpacing"
| "widgetAttachmentId"
| "contentType"
| "buttonIconUpdatedAt"
| "id"
| "name"
| "subject"
| "pdfObjectId"
| "pageIndex"
| "boundingBox"
| "opacity"
| "note"
| "creatorName"
| "createdBy"
| "createdAt"
| "updatedAt"
| "customData"
| "enrichment"
| "noView"
| "noPrint"
| "locked"
| "lockedContents"
| "readOnly"
| "hidden"
| "group"
| "isEditable"
| "isDeletable"
| "canSetGroup"
| "canReply"
| "noZoom"
| "noRotate"
| "isCommentThreadRoot"
| "isAnonymous"
| "APStreamCache"
| "blendMode"
| "action"
)One of the keys this record was defined with.
value{ … }[K]
The value to store.
Returns
thisA new record, or this one when the value is unchanged or the key is not defined.
Returns a record with
valuewritten atkeyPath.Parameters
keyPathIterable<unknown>The keys to follow, outermost first.
valueunknownThe value to store.
Returns
thisA new record, or this one when the value is unchanged.
Converts this record and everything nested inside it to plain JavaScript values.
Returns
{ … }
A plain object holding this record's values, converted all the way down.
formFieldName: string | null
borderColor: { r: number; g: number; b: number; transparent: boolean } | null
borderStyle: "solid" | "dashed" | "beveled" | "inset" | "underline" | null
borderDashArray: number[] | null
borderWidth: number | null
backgroundColor: { r: number; g: number; b: number; transparent: boolean } | null
fontSize: number | "auto" | null
font: string | null
fontColor: { r: number; g: number; b: number; transparent: boolean } | null
isBold: boolean | null
isItalic: boolean | null
horizontalAlign: "left" | "center" | "right" | null
verticalAlign: "center" | "top" | "bottom" | null
additionalActions:
| {
onFocus?: { script: string } & {
subActions?:
| (
(ActionProperties) & {
subActions?:
| Action<(ActionProperties), (ActionProperties)>[]
| null;
}
)[]
| null;
};
onBlur?: { script: string } & {
subActions?:
| (
(ActionProperties) & {
subActions?:
| Action<(ActionProperties), (ActionProperties)>[]
| null;
}
)[]
| null;
};
onChange?: { script: string } & {
subActions?:
| (
(ActionProperties) & {
subActions?:
| Action<(ActionProperties), (ActionProperties)>[]
| null;
}
)[]
| null;
};
onFormat?: { script: string } & {
subActions?:
| (
(ActionProperties) & {
subActions?:
| Action<(ActionProperties), (ActionProperties)>[]
| null;
}
)[]
| null;
};
onInput?: { script: string } & {
subActions?:
| (
(ActionProperties) & {
subActions?:
| Action<(ActionProperties), (ActionProperties)>[]
| null;
}
)[]
| null;
};
onPointerDown?: { subActions?: NutrientViewer.Actions.Action[]
| null } & {
subActions?: Action<(ActionProperties), (ActionProperties)>[] | null;
};
onPointerUp?: { subActions?: NutrientViewer.Actions.Action[]
| null } & {
subActions?: Action<(ActionProperties), (ActionProperties)>[] | null;
};
onPointerEnter?: { subActions?: NutrientViewer.Actions.Action[]
| null } & {
subActions?: Action<(ActionProperties), (ActionProperties)>[] | null;
};
onPointerLeave?: { subActions?: NutrientViewer.Actions.Action[]
| null } & {
subActions?: Action<(ActionProperties), (ActionProperties)>[] | null;
};
}
| nullrotation: number
lineSpacing: number | null
The spacing between lines of text in multiline text widgets, in PDF points. This is the total line height (baseline to baseline), independent of the font size.
Default Value
nullwidgetAttachmentId: string | null
contentType: string | null
buttonIconUpdatedAt: number | null
id: string | null
name: string | null
subject: string | null
pdfObjectId: number | null
pageIndex: number | null
boundingBox: { left: number; top: number; width: number; height: number } | null
opacity: number | null
note: string | null
creatorName: string | null
createdBy: string | null
createdAt: Date | null
updatedAt: Date | null
customData: Record<string, unknown> | null
enrichment: AnnotationEnrichmentJSON | null | undefined
noView: boolean | null
noPrint: boolean | null
locked: boolean | null
lockedContents: boolean | null
readOnly: boolean | null
hidden: boolean | null
group: string | null | undefined
isEditable: boolean | undefined
isDeletable: boolean | undefined
canSetGroup: boolean | undefined
canReply: boolean | undefined
noZoom: boolean
noRotate: boolean
isCommentThreadRoot: boolean
isAnonymous: boolean
APStreamCache: { cache: string } | { attach: string } | undefined
blendMode:
| "normal"
| "multiply"
| "screen"
| "overlay"
| "darken"
| "lighten"
| "colorDodge"
| "colorBurn"
| "hardLight"
| "softLight"
| "difference"
| "exclusion"action:
| { subActions?: NutrientViewer.Actions.Action[]
| null } & {
subActions?: Action<(ActionProperties), (ActionProperties)>[] | null;
}
| null
An alias for toObject, called by
JSON.stringify.Returns
{ … }
A plain object holding this record's values.
action: NutrientViewer.Actions.Action | null
additionalActions:
| {
onBlur?: NutrientViewer.Actions.JavaScriptAction;
onChange?: NutrientViewer.Actions.JavaScriptAction;
onFocus?: NutrientViewer.Actions.JavaScriptAction;
onFormat?: NutrientViewer.Actions.JavaScriptAction;
onInput?: NutrientViewer.Actions.JavaScriptAction;
onPointerDown?: NutrientViewer.Actions.Action;
onPointerEnter?: NutrientViewer.Actions.Action;
onPointerLeave?: NutrientViewer.Actions.Action;
onPointerUp?: NutrientViewer.Actions.Action;
}
| nullAPStreamCache: { cache: string } | { attach: string } | undefined
backgroundColor: NutrientViewer.Color | null
blendMode:
| "normal"
| "multiply"
| "screen"
| "overlay"
| "darken"
| "lighten"
| "colorDodge"
| "colorBurn"
| "hardLight"
| "softLight"
| "difference"
| "exclusion"borderColor: NutrientViewer.Color | null
borderDashArray: number[] | null
borderStyle: "solid" | "dashed" | "beveled" | "inset" | "underline" | null
borderWidth: number | null
boundingBox: NutrientViewer.Geometry.Rect | null
buttonIconUpdatedAt: number | null
canReply: boolean | undefined
canSetGroup: boolean | undefined
contentType: string | null
createdAt: Date | null
createdBy: string | null
creatorName: string | null
customData: Record<string, unknown> | null
enrichment: AnnotationEnrichmentJSON | null | undefined
font: string | null
fontColor: NutrientViewer.Color | null
fontSize: number | "auto" | null
formFieldName: string | null
group: string | null | undefined
hidden: boolean | null
horizontalAlign: "left" | "center" | "right" | null
id: string | null
isAnonymous: boolean
isBold: boolean | null
isCommentThreadRoot: boolean
isDeletable: boolean | undefined
isEditable: boolean | undefined
isItalic: boolean | null
lineSpacing: number | null
The spacing between lines of text in multiline text widgets, in PDF points. This is the total line height (baseline to baseline), independent of the font size.
Default Value
nulllocked: boolean | null
lockedContents: boolean | null
name: string | null
noPrint: boolean | null
noRotate: boolean
note: string | null
noView: boolean | null
noZoom: boolean
opacity: number | null
pageIndex: number | null
pdfObjectId: number | null
readOnly: boolean | null
rotation: number
subject: string | null
updatedAt: Date | null
verticalAlign: "center" | "top" | "bottom" | null
widgetAttachmentId: string | null
Converts this record to a plain object, one level deep. Nested records are left as they are.
Returns
{ … }
A plain object holding this record's values.
action: NutrientViewer.Actions.Action | null
additionalActions:
| {
onBlur?: NutrientViewer.Actions.JavaScriptAction;
onChange?: NutrientViewer.Actions.JavaScriptAction;
onFocus?: NutrientViewer.Actions.JavaScriptAction;
onFormat?: NutrientViewer.Actions.JavaScriptAction;
onInput?: NutrientViewer.Actions.JavaScriptAction;
onPointerDown?: NutrientViewer.Actions.Action;
onPointerEnter?: NutrientViewer.Actions.Action;
onPointerLeave?: NutrientViewer.Actions.Action;
onPointerUp?: NutrientViewer.Actions.Action;
}
| nullAPStreamCache: { cache: string } | { attach: string } | undefined
backgroundColor: NutrientViewer.Color | null
blendMode:
| "normal"
| "multiply"
| "screen"
| "overlay"
| "darken"
| "lighten"
| "colorDodge"
| "colorBurn"
| "hardLight"
| "softLight"
| "difference"
| "exclusion"borderColor: NutrientViewer.Color | null
borderDashArray: number[] | null
borderStyle: "solid" | "dashed" | "beveled" | "inset" | "underline" | null
borderWidth: number | null
boundingBox: NutrientViewer.Geometry.Rect | null
buttonIconUpdatedAt: number | null
canReply: boolean | undefined
canSetGroup: boolean | undefined
contentType: string | null
createdAt: Date | null
createdBy: string | null
creatorName: string | null
customData: Record<string, unknown> | null
enrichment: AnnotationEnrichmentJSON | null | undefined
font: string | null
fontColor: NutrientViewer.Color | null
fontSize: number | "auto" | null
formFieldName: string | null
group: string | null | undefined
hidden: boolean | null
horizontalAlign: "left" | "center" | "right" | null
id: string | null
isAnonymous: boolean
isBold: boolean | null
isCommentThreadRoot: boolean
isDeletable: boolean | undefined
isEditable: boolean | undefined
isItalic: boolean | null
lineSpacing: number | null
The spacing between lines of text in multiline text widgets, in PDF points. This is the total line height (baseline to baseline), independent of the font size.
Default Value
nulllocked: boolean | null
lockedContents: boolean | null
name: string | null
noPrint: boolean | null
noRotate: boolean
note: string | null
noView: boolean | null
noZoom: boolean
opacity: number | null
pageIndex: number | null
pdfObjectId: number | null
readOnly: boolean | null
rotation: number
subject: string | null
updatedAt: Date | null
verticalAlign: "center" | "top" | "bottom" | null
widgetAttachmentId: string | null
update<K extends keyof { … }>(
key: K & (
| "formFieldName"
| "borderColor"
| "borderStyle"
| "borderDashArray"
| "borderWidth"
| "backgroundColor"
| "fontSize"
| "font"
| "fontColor"
| "isBold"
| "isItalic"
| "horizontalAlign"
| "verticalAlign"
| "additionalActions"
| "rotation"
| "lineSpacing"
| "widgetAttachmentId"
| "contentType"
| "buttonIconUpdatedAt"
| "id"
| "name"
| "subject"
| "pdfObjectId"
| "pageIndex"
| "boundingBox"
| "opacity"
| "note"
| "creatorName"
| "createdBy"
| "createdAt"
| "updatedAt"
| "customData"
| "enrichment"
| "noView"
| "noPrint"
| "locked"
| "lockedContents"
| "readOnly"
| "hidden"
| "group"
| "isEditable"
| "isDeletable"
| "canSetGroup"
| "canReply"
| "noZoom"
| "noRotate"
| "isCommentThreadRoot"
| "isAnonymous"
| "APStreamCache"
| "blendMode"
| "action"
),
updater: (value: { … }[K]) => { … }[K],
): thisReturns a record with
keyreplaced by the result of applyingupdaterto its current value.Type Parameters
Kextends keyof { … }
Parameters
keyK & (
| "formFieldName"
| "borderColor"
| "borderStyle"
| "borderDashArray"
| "borderWidth"
| "backgroundColor"
| "fontSize"
| "font"
| "fontColor"
| "isBold"
| "isItalic"
| "horizontalAlign"
| "verticalAlign"
| "additionalActions"
| "rotation"
| "lineSpacing"
| "widgetAttachmentId"
| "contentType"
| "buttonIconUpdatedAt"
| "id"
| "name"
| "subject"
| "pdfObjectId"
| "pageIndex"
| "boundingBox"
| "opacity"
| "note"
| "creatorName"
| "createdBy"
| "createdAt"
| "updatedAt"
| "customData"
| "enrichment"
| "noView"
| "noPrint"
| "locked"
| "lockedContents"
| "readOnly"
| "hidden"
| "group"
| "isEditable"
| "isDeletable"
| "canSetGroup"
| "canReply"
| "noZoom"
| "noRotate"
| "isCommentThreadRoot"
| "isAnonymous"
| "APStreamCache"
| "blendMode"
| "action"
)One of the keys this record was defined with.
Returns
thisA new record, or this one when the value is unchanged.
- updateIn<N>(
keyPath: Iterable<unknown>,
notSetValue: N,
updater: (value: unknown) => unknown,
): thisReturns a record with the value at
keyPathreplaced by the result ofupdater. Returns a record with the value at
keyPathreplaced by the result ofupdater.Parameters
keyPathIterable<unknown>The keys to follow, outermost first.
updater(value: unknown) => unknownReceives the current value and returns the new one.
Returns
thisA new record, or this one when the value is unchanged.
Applies several changes as one, so only a single new record is allocated.
The record handed to
mutatormay be written to withset; it is frozen again oncemutatorreturns.Parameters
mutator(mutable: this) => unknownReceives a temporarily writable copy of this record.
Returns
thisA new record holding the applied changes, or this one when nothing changed.
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.