Signature_pad: signature as BLOB for SQL DB?

Created on 27 Apr 2020  ·  7Comments  ·  Source: szimek/signature_pad

hi, is it possible to save the signature into an SQL database as a BLOB?
if it was possible then this would be a perfect solution for me.

Most helpful comment

Sure is. We use it to handle rental agreements, and after a user draws their signature in the pad and clicks save, we insert a hidden field that submits to the server and contains the signaturePad.toData(). On the server side you can do a lot of things with this, like redraw the signature at a later date, draw the signature to a composited PDF and upload to an AWS bucket to reference later.

<input type="hidden" name="document_templates_signature_request[signature]" value="[[{"x":61.84375,"y":228,"time":1591550609648},{"x":68.84375,"y":213,"time":1591550609782},{"x":73.84375,"y":206,"time":1591550609798},{"x":81.84375,"y":198,"time":1591550609815},{"x":94.84375,"y":187,"time":1591550609832},{"x":102.84375,"y":179,"time":1591550609848},{"x":110.84375,"y":173,"time":1591550609864},{"x":117.84375,"y":170,"time":1591550609897},{"x":118.84375,"y":182,"time":1591550609947},{"x":108.84375,"y":215,"time":1591550609963},{"x":105.84375,"y":239,"time":1591550609979},{"x":104.84375,"y":265,"time":1591550609995},{"x":104.84375,"y":282,"time":1591550610012},{"x":105.84375,"y":294,"time":1591550610028},{"x":114.84375,"y":314,"time":1591550610044},{"x":123.84375,"y":318,"time":1591550610060},{"x":142.84375,"y":315,"time":1591550610077},{"x":156.84375,"y":307,"time":1591550610093},{"x":192.84375,"y":280,"time":1591550610109},{"x":198.84375,"y":274,"time":1591550610125},{"x":203.84375,"y":270,"time":1591550610141},{"x":218.84375,"y":259,"time":1591550610157},{"x":222.84375,"y":256,"time":1591550610174},{"x":227.84375,"y":255,"time":1591550610207},{"x":231.84375,"y":261,"time":1591550610240},{"x":238.84375,"y":267,"time":1591550610257},{"x":248.84375,"y":270,"time":1591550610273},{"x":287.84375,"y":269,"time":1591550610290},{"x":312.84375,"y":257,"time":1591550610307},{"x":355.84375,"y":226,"time":1591550610323},{"x":367.84375,"y":218,"time":1591550610341},{"x":387.84375,"y":202,"time":1591550610357},{"x":394.84375,"y":197,"time":1591550610374},{"x":403.84375,"y":192,"time":1591550610390},{"x":403.84375,"y":199,"time":1591550610407},{"x":394.84375,"y":237,"time":1591550610424},{"x":388.84375,"y":266,"time":1591550610440},{"x":386.84375,"y":301,"time":1591550610457},{"x":386.84375,"y":337,"time":1591550610475},{"x":387.84375,"y":355,"time":1591550610491},{"x":392.84375,"y":367,"time":1591550610507},{"x":386.84375,"y":337,"time":1591550610475}]]">

All 7 comments

Sure is. We use it to handle rental agreements, and after a user draws their signature in the pad and clicks save, we insert a hidden field that submits to the server and contains the signaturePad.toData(). On the server side you can do a lot of things with this, like redraw the signature at a later date, draw the signature to a composited PDF and upload to an AWS bucket to reference later.

<input type="hidden" name="document_templates_signature_request[signature]" value="[[{"x":61.84375,"y":228,"time":1591550609648},{"x":68.84375,"y":213,"time":1591550609782},{"x":73.84375,"y":206,"time":1591550609798},{"x":81.84375,"y":198,"time":1591550609815},{"x":94.84375,"y":187,"time":1591550609832},{"x":102.84375,"y":179,"time":1591550609848},{"x":110.84375,"y":173,"time":1591550609864},{"x":117.84375,"y":170,"time":1591550609897},{"x":118.84375,"y":182,"time":1591550609947},{"x":108.84375,"y":215,"time":1591550609963},{"x":105.84375,"y":239,"time":1591550609979},{"x":104.84375,"y":265,"time":1591550609995},{"x":104.84375,"y":282,"time":1591550610012},{"x":105.84375,"y":294,"time":1591550610028},{"x":114.84375,"y":314,"time":1591550610044},{"x":123.84375,"y":318,"time":1591550610060},{"x":142.84375,"y":315,"time":1591550610077},{"x":156.84375,"y":307,"time":1591550610093},{"x":192.84375,"y":280,"time":1591550610109},{"x":198.84375,"y":274,"time":1591550610125},{"x":203.84375,"y":270,"time":1591550610141},{"x":218.84375,"y":259,"time":1591550610157},{"x":222.84375,"y":256,"time":1591550610174},{"x":227.84375,"y":255,"time":1591550610207},{"x":231.84375,"y":261,"time":1591550610240},{"x":238.84375,"y":267,"time":1591550610257},{"x":248.84375,"y":270,"time":1591550610273},{"x":287.84375,"y":269,"time":1591550610290},{"x":312.84375,"y":257,"time":1591550610307},{"x":355.84375,"y":226,"time":1591550610323},{"x":367.84375,"y":218,"time":1591550610341},{"x":387.84375,"y":202,"time":1591550610357},{"x":394.84375,"y":197,"time":1591550610374},{"x":403.84375,"y":192,"time":1591550610390},{"x":403.84375,"y":199,"time":1591550610407},{"x":394.84375,"y":237,"time":1591550610424},{"x":388.84375,"y":266,"time":1591550610440},{"x":386.84375,"y":301,"time":1591550610457},{"x":386.84375,"y":337,"time":1591550610475},{"x":387.84375,"y":355,"time":1591550610491},{"x":392.84375,"y":367,"time":1591550610507},{"x":386.84375,"y":337,"time":1591550610475}]]">

Sure is. We use it to handle rental agreements, and after a user draws their signature in the pad and clicks save, we insert a hidden field that submits to the server and contains the signaturePad.toData(). On the server side you can do a lot of things with this, like redraw the signature at a later date, draw the signature to a composited PDF and upload to an AWS bucket to reference later.

<input type="hidden" name="document_templates_signature_request[signature]" value="[[{"x":61.84375,"y":228,"time":1591550609648},{"x":68.84375,"y":213,"time":1591550609782},{"x":73.84375,"y":206,"time":1591550609798},{"x":81.84375,"y":198,"time":1591550609815},{"x":94.84375,"y":187,"time":1591550609832},{"x":102.84375,"y":179,"time":1591550609848},{"x":110.84375,"y":173,"time":1591550609864},{"x":117.84375,"y":170,"time":1591550609897},{"x":118.84375,"y":182,"time":1591550609947},{"x":108.84375,"y":215,"time":1591550609963},{"x":105.84375,"y":239,"time":1591550609979},{"x":104.84375,"y":265,"time":1591550609995},{"x":104.84375,"y":282,"time":1591550610012},{"x":105.84375,"y":294,"time":1591550610028},{"x":114.84375,"y":314,"time":1591550610044},{"x":123.84375,"y":318,"time":1591550610060},{"x":142.84375,"y":315,"time":1591550610077},{"x":156.84375,"y":307,"time":1591550610093},{"x":192.84375,"y":280,"time":1591550610109},{"x":198.84375,"y":274,"time":1591550610125},{"x":203.84375,"y":270,"time":1591550610141},{"x":218.84375,"y":259,"time":1591550610157},{"x":222.84375,"y":256,"time":1591550610174},{"x":227.84375,"y":255,"time":1591550610207},{"x":231.84375,"y":261,"time":1591550610240},{"x":238.84375,"y":267,"time":1591550610257},{"x":248.84375,"y":270,"time":1591550610273},{"x":287.84375,"y":269,"time":1591550610290},{"x":312.84375,"y":257,"time":1591550610307},{"x":355.84375,"y":226,"time":1591550610323},{"x":367.84375,"y":218,"time":1591550610341},{"x":387.84375,"y":202,"time":1591550610357},{"x":394.84375,"y":197,"time":1591550610374},{"x":403.84375,"y":192,"time":1591550610390},{"x":403.84375,"y":199,"time":1591550610407},{"x":394.84375,"y":237,"time":1591550610424},{"x":388.84375,"y":266,"time":1591550610440},{"x":386.84375,"y":301,"time":1591550610457},{"x":386.84375,"y":337,"time":1591550610475},{"x":387.84375,"y":355,"time":1591550610491},{"x":392.84375,"y":367,"time":1591550610507},{"x":386.84375,"y":337,"time":1591550610475}]]">

Many thanks, could I possibly pick your brains some more about this?

Sure thing. If you want to put your email in your display profile, I will email you this afternoon

Sure thing. If you want to put your email in your display profile, I will email you this afternoon

Sure thing. I have done that now

I would love some help with this to.

@apikman - another solution is described in #334

tl;dr -> depending on your browser-support needs you can just get the blob from the canvas

//select your canvas-html element
canvas.toBlob((theBlob) => {
  // do whatever with "theBlob"
});  

SORRY....i know this is closed, but i would LOOOOOOOOOOOOOVE some help on this too.
We are using an ERP solution with this Signature Tool for customers to confirm acceptance of services. On screen it looks great but the minute we print it looks TINY...the company who sold us the ERP solution has declined investing time in finding a solution..... :(

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Emmark picture Emmark  ·  4Comments

MarcGodard picture MarcGodard  ·  8Comments

crazzeto picture crazzeto  ·  8Comments

siggifv picture siggifv  ·  3Comments

hostcia picture hostcia  ·  6Comments