Class: SignatureCreateTool

Tools. SignatureCreateTool

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

new SignatureCreateTool(docViewer)

Creates a new instance of the SignatureCreateTool.
Parameters:
Name Type Description
docViewer CoreControls.DocumentViewer an instance of DocumentViewer.
Properties:
Name Type Description
ctx CanvasRenderingContext2D The signature canvas context
annot Annotations.FreeHandAnnotation | Annotations.StampAnnotation The underlying annotation used by the tool

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

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 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 an array that contains arrays of path points or base64 image data
Type
Array.<(string|Array.<CoreControls.Math.Point>)>

getDocumentViewer()

Returns the instance of DocumentViewer for this tool.
Inherited From:
Returns:
the instance of DocumentViewer for this tool.
Type
CoreControls.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
CoreControls.Math.Point

getPreview()

Gets the preview about how the annot will be drawn on the document
Returns:
A promise that resolves with a base64 string of the preview image
Type
Promise.<any>

getSavedSignatures()

Returns the array of saved annotations
Returns:
an array of annotations
Type
Array.<(Annotations.FreeHandAnnotation|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.<CoreControls.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

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
boolean

keyDown(e)

The function 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 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:

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:
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:
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:
Returns:
Returns the object that 'one' is being called on
Type
object
Example
annotManager.one('annotationChanged', (annotations, action) => {
 ...
});

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 Annotations.FreeHandAnnotation | 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)

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 Description
annotation Annotations.FreeHandAnnotation | Annotations.StampAnnotation | string | Array.<object> annotation to set

setSignatureCanvas(canvas)

Sets the canvas to be used by the signature tool.
Parameters:
Name Type Description
canvas HTMLElement 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 called when this tool is selected. Typically use for changing mouse cursors, and initializing states for the tool.
Parameters:
Name Type Description
oldTool Tools.Tool the Tool class that was previously selected.
Inherited From:

switchOut(newTool)

The function called when this tool is deselected. Typically use for changing mouse cursors, and cleaning up states for the tool.
Parameters:
Name Type Description
newTool 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 Annotations.Annotation The annotation that was added

locationSelected

Triggered when a page location has been clicked on by the tool
Parameters:
Name Type Argument Description
pageCoordinates Tools.PageCoordinate Indicates where the tool clicked
signatureWidget 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 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 Annotations.Annotation The annotation that was saved