Skip to Content
Author's profile photo Rahul Choudhary

Signature Capture Control in SAPUI5 using HTML5 Canvas

Recently I had been asked, if it is possible to capture user’s signature on mobile device and store it on the server. It is of course possible to do so using some open source tools such as “szimek/signature_pad · GitHub“. What would be interesting to know is how do we integrate it seamlessly with SAPUI5?

Here is a SAPUI5 custom control wrapper around the Signature Pad, which can make it easy for you to use this in your respective SAPUI5 / Fiori applications.

The demo can be seen here https://jsfiddle.net/rahulchoudhary/a3pz4go5/

Screen Shot 2016-01-05 at 10.12.33 AM.png

If you dont want to use open source tools, you can still create your very own implementation using SAPUI5 custom control by attaching mouse / touch listeners to the canvas elements.

This dirty demo was written in hurry to help a colleague, hence there are lack of code comments. Feedback is always welcome to improve the implementation.

Assigned tags

      10 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Somu Arumugam Sundaram
      Somu Arumugam Sundaram

      Thanks for the article Rahul. This is indeed an unexplored area in SAPUI5 custom controls.

      Author's profile photo Nicholas Nicoloudis
      Nicholas Nicoloudis

      Great work Rahul, keep up the innovation and developmen!

      Author's profile photo Former Member
      Former Member

      good job rahul.. thanks for the jsfiddle code.

      Author's profile photo Christian Hoffmann
      Christian Hoffmann

      I like!

      Author's profile photo Aruna A R
      Aruna A R

      Good one ! like it

      Author's profile photo SaiNithesh Gajula
      SaiNithesh Gajula

      If it is view controller, it is working fine. But not working in the fragment.
      I want to use signature pad in the fragment. 
      I am facing rendering issue, as the controller is loaded first before the fragment is called.

      Please help me out on this issue.

      Author's profile photo Daniel Nguyen
      Daniel Nguyen

      This was posted quite a while ago but thought I might as well response for future readers.

      Assuming you’re using custom control, be sure to declare a namespace for it it inside your fragment. Like so:

      <core:FragmentDefinition 
      	xmlns="sap.m" 
      	xmlns:core="sap.ui.core" 
      	xmlns:control="path.to.your.control">
      ...
      </core:FragmentDefinition>

      Then when the controller calls the fragment, the custom control will be loaded along with it.

      Author's profile photo Former Member
      Former Member

      Thank you Rahul, this is excellent.

       

      But how to save this signature on my server to use it later?

      Author's profile photo Shakti Pandey
      Shakti Pandey

      Hi Rahul,

      Thanks. Great Job.
      Its working fine in my SAPUI5 Application, but when I deployed my app to FIORI Launchpad the I am draw signature on signature pad (CANVAS). Do you have any idea why it is happening. There is no error in console at all.
      Thanks

      Author's profile photo Devisha Bhavik
      Devisha Bhavik

      Hi Shakti,

       

      Did you get it to work from the Fiori launchpad?

       

      @Rahul Choudhary: Do you know why it is not working from Fiori launchpad and just working outside? What do we need to do to make it work from Fiori launchpad?

       

      Thanks,

      Bhavik