Adding a Signature Pad Using JavaScript

In this article, we’ll explore how to incorporate a signature pad into your PDF using JavaScript. We’ll cover two methods: utilizing the Signature Pad library and integrating PSPDFKit for Web. Let’s dive in!

What is a Signature Pad?

A signature pad is a graphical user interface (GUI) element that allows users to provide their signatures on documents. This feature is commonly used in contract management, digital forms, and document signing. Users can create signatures using a mouse, electronic pens, or specialized signing devices. The signature pad also enables saving signatures as images and converting them back to their original format.

Signature Pad Library

The Signature Pad library is a popular JavaScript tool that facilitates drawing signatures on HTML5 canvas elements. It offers a user-friendly interface for capturing and saving signatures as image files or incorporating them into PDF documents. This versatile library supports various devices, including mobile and desktop devices with touch and mouse input.

To use the Signature Pad library, follow these steps:

  1. Include the Signature Pad library in your project by adding the following script tag to your HTML file.
  2. Add a canvas element to your HTML file where the signature will be drawn.
  3. Create a new SignaturePad instance in your JavaScript file by selecting the canvas element and passing it as an argument.
  4. Add a button element that triggers the signature saving process in your HTML file.
  5. Attach an event listener to the save button to save the signature as a PDF file when clicked.
  6. Retrieve the signature as an image file by calling the toDataURL() method on the SignaturePad instance.
  7. Utilize a PDF generation library, such as jsPDF, to save the signature image as a PDF file.
See also  How to Activate JavaScript on Your Android Phone

Feel free to customize the appearance of the canvas element and the save button using CSS. You can also enhance the signature pad’s functionality by adding features like signature clearing, undoing, changing pen color, or saving signatures in different file formats. For more detailed information, refer to the Signature Pad documentation.

PSPDFKit for Web JavaScript Library

At ProgramMatek, we’re proud to introduce PSPDFKit for Web, a next-generation PDF viewer designed for the web. This commercial JavaScript PDF viewer library offers seamless integration into your web application, allowing you to view, annotate, edit, and sign documents directly in your browser. With over 30 features, PSPDFKit for Web ensures a smooth and efficient PDF experience. Some notable features include:

  • A prebuilt and polished UI.
  • 15+ annotation tools.
  • Support for multiple file types.
  • Dedicated support from our experienced engineers.

To add PSPDFKit to your project, follow these steps:

  1. Install the pspdfkit package from npm or manually download it.
  2. Copy the directory containing the required library files (artifacts) to your assets folder.
  3. Ensure that your assets directory contains the pspdfkit.js file and a pspdfkit-lib directory with the library assets.

To integrate PSPDFKit into your project, follow these steps:

  1. Add the PDF document you want to display to your project’s directory.
  2. Insert an empty <div> element with a defined height where PSPDFKit will be mounted.
  3. Include pspdfkit.js in your HTML page.
  4. Initialize PSPDFKit for Web in JavaScript by calling PSPDFKit.load().

To serve your website and test the signature pad, follow these steps:

  1. Copy a PDF file into the folder and rename it to document.pdf.
  2. Install the serve package.
  3. Serve the contents of the current directory.
  4. Access your website at http://localhost:8080.
See also  Exploring JavaScript Training Options

How to Add a Signature Pad Using JavaScript

For manual PSPDFKit integration or module-based integration, refer to our JavaScript getting started guide.

Adding eSignatures via the PSPDFKit UI

In this section, we’ll explore how to sign PDF documents using PSPDFKit’s intuitive user interface (UI). By clicking the sign icon in the demo, a dialog box will appear, enabling you to sign your name. PSPDFKit offers various customization options for your signature, including pen color selection and adding an image or text as your signature. You can also resize and reposition your signature for optimal placement.

In the following sections, we’ll learn how to programmatically add ink and image signatures to PDF documents using JavaScript.

Adding eSignatures Programmatically in JavaScript

PSPDFKit provides two distinct types of programmatically added signatures: ink and image signatures. Let’s explore how to create these signature types and incorporate them into PDF documents.

Adding Ink Signatures Programmatically

Ink signatures resemble traditional pen and paper signatures and can be drawn on a signature pad provided by PSPDFKit.

To add an ink signature programmatically, open the index.html file and modify the PSPDFKit.load() function as follows:

// Code snippet for adding ink signatures programmatically

The PSPDFKit.load() function initializes the PSPDFKit instance, while PSPDFKit.Annotations.InkAnnotation creates freehand drawings for ink signatures. The isSignature property must be set to true. The lines and boundingBox parameters should remain unchanged, and PSPDFKit.Geometry.DrawingPoint inserts the ink signature. The boundingBox determines its position and size.

How to Add a Signature Pad Using JavaScript

Adding Image Signatures Programmatically

An image annotation in PSPDFKit allows you to add an image to a PDF document. The image can be fetched from a URL or from a file on the user’s device.

To add an image signature programmatically, open the index.html file and update the PSPDFKit.load() function as shown below:

// Code snippet for adding image signatures programmatically

In the code snippet, we create a PSPDFKit.Annotations.ImageAnnotation by specifying properties like pageIndex, contentType, imageAttachmentId, description, and boundingBox. Here’s what each property represents:

  • pageIndex specifies the page number where the image annotation will be added.
  • contentType specifies the MIME type of the image file.
  • imageAttachmentId specifies the ID of the attachment containing the image data.
  • description is an optional property providing a description for the image.
  • boundingBox determines the position and size of the image on the PDF document.
See also  JavaScript Summer Camp: Your Ultimate Guide

Once the image annotation is created, it can be added to the PDF document using the instance.create() method. To see the image, upload an image file named image.png to your project’s root directory.

How to Add a Signature Pad Using JavaScript

Creating Signature Fields in PDF Documents

With PSPDFKit, you can effortlessly create signature fields in your PDF documents for adding signatures. Update the PSPDFKit.load() function in the index.html file as follows:

// Code snippet for creating signature fields in PDF documents

In the code snippet, a new signature field is created to allow users to sign within a specific field. PSPDFKit.Annotations.WidgetAnnotation defines properties such as page index, bounding box dimensions, and form field name. PSPDFKit.FormFields.SignatureFormField specifies the name and IDs of the annotations associated with the signature field. Finally, the instance.create() function is used to create the signature field and add it to the PDF document.


Adding a signature pad to your PDF can enhance efficiency and save time when signing electronic documents. Whether you choose the Signature Pad library or PSPDFKit for Web, the process is straightforward to follow. By following the steps outlined in this article, you’ll be able to electronically sign PDF documents in no time.

PSPDFKit offers a comprehensive PDF editing and annotation tool that goes beyond the signature pad. Customize your PDF documents with annotations, text highlights, and even add custom forms using PSPDFKit. For a list of all web frameworks, feel free to contact our sales team or launch our demo to experience our viewer in action.

For more information about PSPDFKit, you can visit our website ProgramMatek.