Class: SignatureCreateTool

Core.Tools. SignatureCreateTool

Represents the tool for creating a Signature which is represented by an Core.Annotations.FreeHandAnnotation.

new SignatureCreateTool(docViewer)

Creates a new instance of the SignatureCreateTool.
Parameters:
Name Type Description
docViewer Core.DocumentViewer an instance of DocumentViewer.
Properties:
Name Type Description
ctx CanvasRenderingContext2D The signature canvas context
annot Core.Annotations.FreeHandAnnotation | Core.Annotations.StampAnnotation The underlying annotation used by the tool
ACCEPTED_FILE_SIZE number A number specifying the accepted file size in bytes (exclusive). A null, undefined, or value zero and below means no limit.

Extends

Methods


<static> setTextHandler(textHandler)

Parameters:
Name Type Description
textHandler function A function that should return a string that will be used as the "sign here" text

addEventListener(type, fn [, options])

Add a handler to the given event name
Parameters:
Name Type Argument Description
type string | number The name of the event to listen to
fn function The handler to be called when the event is triggered
options object <optional>
Optional options object for addEventListener
Properties
Name Type Description
once boolean If true then the handler will be called only once
Inherited From:
Returns:
Returns the object that 'addEventListener' is being called on
Type
object
Example
annotManager.addEventListener('annotationChanged', (annotations, action) => {
  ...
});

addSignature()

Add the signature to the document.
Returns:
A promise that resolves when the signature is added
Type
Promise.<void>

clearLocation()

Clear the location which is set when a mouse click is performed

clearSignatureCanvas()

Clears the signature canvas and the underlying annotation

contextMenu(e)

The function is called when a context menu should be shown. Use e.preventDefault to disable the default browser context menu.
Parameters:
Name Type Description
e The event object
Inherited From:

deleteSavedSignature(index)

Delete an annotation in the tool
Parameters:
Name Type Description
index number The index of the saved annotation to be deleted

exportSignatures()

Exports all saved signatures as an array The array can be stringified using JSON.stringify and saved for later use
Returns:
Returns a promise that resolves an array that contains arrays of path points or a base64 image data
Type
Promise.<Array.<(string|Array.<Array.<Core.Math.Point>>)>>

getDocumentViewer()

Returns the instance of DocumentViewer for this tool.
Inherited From:
Returns:
The instance of DocumentViewer for this tool.
Type
Core.DocumentViewer

getMouseLocation(e)

Takes an event object from a mouse event and converts the location into window coordinates
Parameters:
Name Type Description
e The event object containing mouse coordinates
Inherited From:
Returns:
Returns an object with x and y coordinates of the mouse cursor in the viewer
Type
Core.Math.Point

getPreview(annotation)

Gets the preview about how the annot will be drawn on the document
Parameters:
Name Type Description
annotation Core.Annotations.FreeHandAnnotation | Core.Annotations.StampAnnotation
Returns:
A promise that resolves with a base64 string of the preview image
Type
Promise.<string>

getSavedSignatures()

Returns the array of saved annotations
Returns:
an array of annotations
Type
Array.<(Core.Annotations.FreeHandAnnotation|Core.Annotations.StampAnnotation)>

hasLocation()

Returns if the signature tool has any location to draw the signature
Returns:
Type
boolean

hidePreview()

Hide the preview element

importSignatures(signatureData)

Loads signature data into the signature tool
Parameters:
Name Type Description
signatureData Array.<(string|Array.<Array.<Core.Math.Point>>)> An array contains arrays of path points or base64 image data If the element is a string, a stamp annotation will be saved and the string will be the value of its ImageData property If the element is an array of objects, a freehand annotation will be saved and the array will be its paths
Returns:
Promise

isEmptySignature()

Checks if the underlying annotation is empty. If the underlying annotation is a freehand, it's empty if it doesn't have any paths If the underlying annotation is a stamp, it's empty if its ImageData property has a falsy value
Returns:
If number of drawn paths is 0.
Type
Promise.<boolean>

keyDown(e)

The function is called when a keyboard key is down.
Parameters:
Name Type Description
e The event object containing keyboard key data.
Inherited From:

mouseDoubleClick(e)

The function is called when the mouse left button is double clicked.
Parameters:
Name Type Description
e The event object containing mouse coordinates.
Inherited From:

mouseLeftDown(e)

The function called when the left mouse button is down
Parameters:
Name Type Description
e The event object containing mouse coordinates.
Inherited From:

mouseLeftUp(e)

The function called when the left mouse button is up. Typically, annotations are created and added to the annotation manager at this point.
Parameters:
Name Type Description
e The event object containing mouse coordinates.
Inherited From:

mouseMove(e)

The function called when the mouse moves.
Parameters:
Name Type Description
e The event object containing mouse coordinates.
Inherited From:

mouseRightDown(e)

The function called when the right mouse button is down.
Parameters:
Name Type Description
e The event object containing mouse coordinates.
Inherited From:

off( [type] [, fn])

Remove a handler of the given event name
Parameters:
Name Type Argument Description
type string | number <optional>
The name of the event to remove the handler of. If type is undefined, all the handlers of the object will be removed
fn function <optional>
The handler associated with this event to be removed. If fn is undefined, all the handlers of the given event name will be removed
Inherited From:
Deprecated:
Returns:
Returns the object that 'off' is being called on
Type
object
Example
annotManager.off();
annotManager.off('annotationChanged');
annotManager.off('annotationChanged', fn);

on(type, fn)

Add a handler to the given event name
Parameters:
Name Type Description
type string | number The name of the event to listen to
fn function The handler to be called when the event is triggered
Inherited From:
Deprecated:
Returns:
Returns the object that 'on' is being called on
Type
object
Example
annotManager.on('annotationChanged', (annotations, action) => {
  ...
});

one(type, fn)

Same as 'on' except the handler will be called only once
Parameters:
Name Type Description
type string | number The name of the event to listen to
fn function The handler to be called when the event is triggered
Inherited From:
Deprecated:
  • Since version 8.0. Use addEventListener with {'once': true} as options instead.
Returns:
Returns the object that 'one' is being called on
Type
object
Example
annotManager.one('annotationChanged', (annotations, action) => {
 ...
});

removeEventListener( [type] [, fn])

Remove a handler of the given event name
Parameters:
Name Type Argument Description
type string | number <optional>
The name of the event to remove the handler of. If type is undefined, all the handlers of the object will be removed
fn function <optional>
The handler associated with this event to be removed. If fn is undefined, all the handlers of the given event name will be removed
Inherited From:
Returns:
Returns the object that 'removeEventListener' is being called on
Type
object
Example
annotManager.removeEventListener();
annotManager.removeEventListener('annotationChanged');
annotManager.removeEventListener('annotationChanged', fn);

resizeCanvas()

Resize the current signature canvas

saveSignatures(annotations)

Save an array of freehand or stamp annotations to the signature tool
Parameters:
Name Type Description
annotations Core.Annotations.FreeHandAnnotation | Core.Annotations.StampAnnotation Annotations to be saved to the signature tool

setName(name)

Set the name of the tool, which can be accessed by toolObject.name
Parameters:
Name Type Description
name string Name of the tool
Inherited From:

setSignature(annotation [, fileSize])

Sets the underlying annotation used by the tool If a base64 string is passed, the underlying annotation will be a stamp annotation with the string being its ImageData
Parameters:
Name Type Argument Description
annotation Core.Annotations.FreeHandAnnotation | Core.Annotations.StampAnnotation | string | Array.<object> Annotation to set
fileSize number <optional>
A number specifying the size in bytes of the signature file which will be compared with 'ACCEPTED_FILE_SIZE'.
Returns:
Promise

setSignatureCanvas(canvas)

Sets the canvas to be used by the signature tool.
Parameters:
Name Type Description
canvas HTMLCanvasElement The canvas that the signature tool uses to draw on.

setStyles(newStyles)

Set the style for the tool, which will be applied to annotations drawn afterwards
Parameters:
Name Type Description
newStyles object | function if an object is used, it should contain properties of the new styles. If a function is used, the current styles will be passed as its argument and the function should return an object which contains properties of the new styles. Example of valid properties: StrokeColor, TextColor, FillColor, FontSize, Opacity, StrokeThickness, Precision, Scale, OverlayText, Style and Dashes.
Inherited From:

showPreview()

Shows the preview about how the underlying annot looks like if it's drawn.

switchIn(oldTool)

The function is called when this tool is selected. Typically use for changing mouse cursors, and initializing states for the tool.
Parameters:
Name Type Description
oldTool Core.Tools.Tool The Tool class that was previously selected.
Inherited From:

switchOut(newTool)

The function is called when this tool is deselected. Typically use for changing mouse cursors, and cleaning up states for the tool.
Parameters:
Name Type Description
newTool Core.Tools.Tool The Tool class that was newly selected.
Inherited From:

trigger(type [, data])

Calls the handlers of the event name with given data
Parameters:
Name Type Argument Description
type string | number event name of which the handlers will be called.
data * <optional>
data that will be passed to the handlers. If data is an array, it will be spread and then passed to the handlers
Inherited From:
Returns:
Returns the object that 'trigger' is being called on
Type
object
Example
annotManager.trigger('annotationChanged');
annotManager.trigger('annotationChanged', [[annotation], 'add', {}]);

Events


annotationAdded

Triggered when an annotation has been added to the document by the tool
Parameters:
Name Type Description
annotation Core.Annotations.Annotation The annotation that was added

fileRejected

Triggered when a file has been rejected because of exceeding file size limit
Parameters:
Name Type Description
reasons Object The rejection reasons object
Properties
Name Type Description
reason string Reason why the file was rejected
maxSize number Maximum accpted file size in bytes
size number Uploaded file size in bytes

locationSelected

Triggered when a page location has been clicked on by the tool
Parameters:
Name Type Argument Description
pageCoordinates Core.Tools.PageCoordinate Indicates where the tool clicked
signatureWidget Core.Annotations.SignatureWidgetAnnotation <optional>
The signature widget that was clicked to trigger the event

signatureDeleted

Triggered when the tool deletes a signature
Parameters:
Name Type Description
annotation Core.Annotations.Annotation The annotation that was deleted
index number The index of the annotation in the list

signatureSaved

Triggered when the tool saves a signature
Parameters:
Name Type Description
annotation Core.Annotations.Annotation The annotation that was saved