AnnotationManager Class
The Dynamsoft.DDV.annotationManager instance will be created automatically as soon as DDV is initialized. Please refer to annotationManager.
API Index
Methods
| API Name | Description |
|---|---|
createAnnotation() |
Create an annotation instance. |
getAnnotationsByUids() |
Get annotations by annotation uids. |
getAnnotationsByPage() |
Get annotations in specified page. |
getAnnotationsByDoc() |
Get all annotations in specified document. |
deleteAnnotations() |
Delete specified annotations. |
bringAnnotationForward() |
Bring the specified annotation forward. |
sendAnnotationBackward() |
Send the specified annotation backward. |
bringAnnotationToFront() |
Bring the specified annotation in front of all other annotations. |
sendAnnotationToBack() |
Send the specified annotation behind all other annotations. |
Events
| API Name | Description |
|---|---|
on() |
Bind a listener to the specified event. |
off() |
Unbind event listener(s) from the specified event. |
Integrated Events
| Event Name | Description |
|---|---|
annotationsAdded |
Triggered when new annotation(s) is added. |
annotationsDeleted |
Triggered when annotation(s) is deleted. |
annotationLayerChanged |
Triggered when annotation’s layer is changed. |
annotationsModified |
Triggered when annotation(s) is modified. |
Methods
createAnnotation()
Create an annotation instance and add the created instance to the specified page.
Syntax
createAnnotation(pageUid: string, type: AnnotationType, annotationOptions?: RectAnnotationOptions|EllipseAnnotationOptions|PolygonAnnotationOptions|PolylineAnnotationOptions|LineAnnotationOptions|InkAnnotationOptions|TextBoxAnnotationOptions|TextTypewriterAnnotationOptions):Rectangle|Ellipse|Polygon|Polyline|Line|Ink|TextBox|TextTypewriter;
createAnnotation(pageUid: string, "stamp", annotationOptions?: StampAnnotationOptions): Promise<Stamp>;
Parameters
pageUid: Specify the page to add the annotation.
type: Specify the type of annotation to create.
type AnnotationType = "rectangle" | "ellipse" | "polygon" | "polyline" | "line" | "ink" | "textBox" | "textTypewriter" | "stamp";
annotationOptions: The annotation options. Please refer to
- RectAnnotationOptions
- EllipseAnnotationOptions
- PolygonAnnotationOptions
- PolylineAnnotationOptions
- LineAnnotationOptions
- InkAnnotationOptions
- TextBoxAnnotationOptions
- TextTypewriterAnnotationOptions
- StampAnnotationOptions
Return value
The instance of annotation. Please refer to
Code Snippet
-
To creat new annotations.
// Given that editViewer is an existing instance of EditViewer and a document is currently open. const pageUid = editViewer.indexToUid(0); const rect = Dynamsoft.DDV.annotationManager.createAnnotation(pageUid, "rectangle"); const ellipse = Dynamsoft.DDV.annotationManager.createAnnotation(pageUid, "ellipse"); const polygon = Dynamsoft.DDV.annotationManager.createAnnotation(pageUid, "polygon"); const polyline = Dynamsoft.DDV.annotationManager.createAnnotation(pageUid, "polyline"); const line = Dynamsoft.DDV.annotationManager.createAnnotation(pageUid, "line"); const ink = Dynamsoft.DDV.annotationManager.createAnnotation(pageUid, "ink"); const textBox = Dynamsoft.DDV.annotationManager.createAnnotation(pageUid, "textBox"); const textTypewriter = Dynamsoft.DDV.annotationManager.createAnnotation(pageUid, "textTypewriter"); const stamp = await Dynamsoft.DDV.annotationManager.createAnnotation(pageUid, "stamp");
Exception
| Error Code | Error Message |
|---|---|
| -80001 | License string is invalid. |
| -80002 | XXX(LicenseModuleName) module license has expired. |
| -80003 | XXX(LicenseModuleName) module license is missing. |
| -80004 | XXX(LicenseModuleName) module license version does not match. |
| -80005 | Domain does not match the domain bound to the XXX(LicenseModuleName) module license. |
| -80050 | DDV.Core.init() has not been set up yet. |
| -80051 | DDV.Core.init() has not been completed. |
| -80100 | XXX(API): XXX(ParameterName) is invalid. |
| -80102 | XXX(API): XXX(ParameterName) is missing. |
| -80103 | XXX(API): The value for XXX(ParameterName) is not supported. |
| -80105 | XXX(API): The specified page(s) do not exist. |
getAnnotationsByUids()
Get annotations by annotation uids.
Syntax
getAnnotationsByUids(annotationUids: string[]): Annotation[];
Parameters
annotationUids: The array of the annotation uids.
Return value
An array of Annotation objects.
Please refer to
Warning
| Error Code | Error Message | API return value |
|---|---|---|
| -80100 | XXX(API): XXX(ParameterName) is invalid. | [] |
| -80102 | XXX(API): XXX(ParameterName) is missing. | [] |
| -80106 | XXX(API): The specified annotation does not exist. | [] |
getAnnotationsByPage()
Get annotations in specified page.
Syntax
getAnnotationsByPage(pageUid: string): Annotation[];
Parameters
pageUid: Specify the page.
Return value
An array of Annotation object.
Please refer to
Warning
| Error Code | Error Message | API return value |
|---|---|---|
| -80100 | XXX(API): XXX(ParameterName) is invalid. | [] |
| -80102 | XXX(API): XXX(ParameterName) is missing. | [] |
| -80105 | XXX(API): The specified page(s) do not exist. | [] |
getAnnotationsByDoc()
Get all annotations in specified document.
Syntax
getAnnotationsByDoc(docUid: string): Annotation[];
docUid: Specify the doc.
Return value
An array of Annotation objects.
Please refer to
Warning
| Error Code | Error Message | API return value |
|---|---|---|
| -80100 | XXX(API): XXX(ParameterName) is invalid. | [] |
| -80102 | XXX(API): XXX(ParameterName) is missing. | [] |
| -80104 | XXX(API): The specified document(s) do not exist. | [] |
deleteAnnotations()
Delete specified annotations.
Syntax
deleteAnnotations(annotationUids: string[]): boolean;
Parameters
annotationUids: Specify the array of annotation uids to delete.
Return value
true
false
Warning
| Error Code | Error Message | API return value |
|---|---|---|
| -80100 | XXX(API): XXX(ParameterName) is invalid. | false |
| -80102 | XXX(API): XXX(ParameterName) is missing. | false |
| -80106 | XXX(API): The specified annotation does not exist. | false |
bringAnnotationForward()
Bring the specified annotation forward.
Syntax
bringAnnotationForward(annotationUid: string): boolean;
Parameters
annotationUid: Specify the annotation uid to bring forward.
Return value
true: Successfully.
false: Failed.
Warning
| Error Code | Error Message | API return value |
|---|---|---|
| -80100 | XXX(API): XXX(ParameterName) is invalid. | false |
| -80102 | XXX(API): XXX(ParameterName) is missing. | false |
| -80106 | XXX(API): The specified annotation does not exist. | false |
sendAnnotationBackward()
Send the specified annotation backward.
Syntax
sendAnnotationBackward(annotationUid: string): boolean;
Parameters
annotationUid: Specify the annotation uid to send backward.
Return value
true: Successfully.
false: Failed.
Warning
| Error Code | Error Message | API return value |
|---|---|---|
| -80100 | XXX(API): XXX(ParameterName) is invalid. | false |
| -80102 | XXX(API): XXX(ParameterName) is missing. | false |
| -80106 | XXX(API): The specified annotation does not exist. | false |
bringAnnotationToFront()
Bring the specified annotation in front of all other annotations.
Syntax
bringAnnotationToFront(annotationUid: string): boolean;
Parameters
annotationUid: Specify the annotation uid to bring to front.
Return value
true: Successfully.
false: Failed.
Warning
| Error Code | Error Message | API return value |
|---|---|---|
| -80100 | XXX(API): XXX(ParameterName) is invalid. | false |
| -80102 | XXX(API): XXX(ParameterName) is missing. | false |
| -80106 | XXX(API): The specified annotation does not exist. | false |
sendAnnotationToBack()
Send the specified annotation behind all other annotations.
Syntax
sendAnnotationToBack(annotationUid: string): boolean;
Parameters
annotationUid: Specify the annotation uid to send to back.
Return value
true: Successfully.
false: Failed.
Warning
| Error Code | Error Message | API return value |
|---|---|---|
| -80100 | XXX(API): XXX(ParameterName) is invalid. | false |
| -80102 | XXX(API): XXX(ParameterName) is missing. | false |
| -80106 | XXX(API): The specified annotation does not exist. | false |
Events
on()
Bind a listener to the specified event.
Syntax
on(eventName: EventName, listener:(event:EventObject)=>void): void;
Parameters
eventName: Specify the event name. It should be an integrated event name.
listener: Specify the listener.
Code Snippet
// Bind a listener to the integrated event annotationsModified.
const eventFunc = (e)=>{
console.log(e);
console.log(e.modifiedAnnotations[0].uid);
console.log(e.modifiedAnnotations[0].newOptions);
console.log(e.actions);
};
Dynamsoft.DDV.annotationManager.on("annotationsModified", eventFunc);
Warning
| Error Code | Error Message |
|---|---|
| -80100 | XXX(API): XXX(ParameterName) is invalid. |
| -80102 | XXX(API): XXX(ParameterName) is missing. |
| -80103 | XXX(API): The value for XXX(ParameterName) is not supported. |
off()
Unbind event listener(s) from the specified event.
Syntax
off(eventName: EventName, listener?:(event:EventObject)=>void): void;
Parameters
eventName: Specify the event name. It should be an integrated event name.
listener: Specify the listener. If no listener is specified, unbind all event listeners from the specified event
Code Snippet
const eventFunc = (e)=>{
console.log(e);
console.log(e.modifiedAnnotations[0].uid);
console.log(e.modifiedAnnotations[0].newOptions);
console.log(e.actions);
};
Dynamsoft.DDV.annotationManager.on("annotationsModified", eventFunc);
// Unbind the specified event listener.
Dynamsoft.DDV.annotationManager.off("annotationsModified", eventFunc);
Warning
| Error Code | Error Message |
|---|---|
| -80100 | XXX(API): XXX(ParameterName) is invalid. |
| -80102 | XXX(API): XXX(ParameterName) is missing. |
| -80103 | XXX(API): The value for XXX(ParameterName) is not supported. |
Integrated events
annotationsAdded
Triggered when new annotation(s) is added.
Callback
An EventObject.
Attributes
annotationUids: The array of new added annotations uids.
annotationsDeleted
Triggered when annotation(s) is deleted.
Callback
An EventObject.
Attributes
annotationUids: The array of deleted annotations uids.
annotationLayerChanged
Triggered when annotation’s layer is changed.
Callback
An EventObject.
Attributes
oldAnnotationUidList : The list of old annotation uids, arranged in hierarchical order from bottom to top for each page.
newAnnotationUidList: The list of new annotation uids, arranged in hierarchical order from bottom to top for each page.
annotationsModified
Triggered when annotation(s) is modified.
Callback
An EventObject.
Attributes
modifiedAnnotations: The array of the objects which include below properties.
uid: The modified annotation uid.oldOptions: The modified annotation old options.newOptions: The modified annotation new options.
actions: The array of actions. Supported actions:
movedresizedrotatedflagsChangedappearanceChanged-
contentChangedThe table presents the ‘actions’ returned by events triggered by changes in attributes associated with various types of annotations.
action Rectangle Ellipse Polygon Polyline Line Ink TextBox TextTypewriter Stamp movedx,yx,yOverall translation of pointsOverall translation of pointsOverall translation of startPoint&endPointOverall translation of pointsx,yx,yx,yresizedwidth,heightwidth,heightpointspointsstartPoint,endPointpointsor resized through annotation selection’s control pointswidth,heightN/A width,heightrotatedrotationrotationN/AN/AN/ArotationrotationN/A rotationflagsChangedflagsflagsflagsflagsflagsflagsflagsflagsflagsappearanceChangedborderWidth,borderColor,background,opacity,lineDashborderWidth,borderColor,background,opacity,lineDashborderWidth,borderColor,background,opacity,lineDashlineEnding,borderWidth,borderColor,background,opacity,lineDashlineEnding,borderWidth,borderColor,background,opacity,lineDashborderWidth,borderColor,opacitytextAlign,textContents(excludescontent),borderWidth,borderColor,background,opacity,lineDashtextContents(excludescontent),opacityopacitycontentChangedN/A N/A N/A N/A N/A N/A contentintextContentscontentintextContentsstamp