Signature Pad is a nice tool that allows users to provide a drawn signature. Because of the flakiness of some browsers, it's probably recommend to generate an actual image of the signature on the server. And that's what signapadpy does with a little help of Pillow (or PIL).
First install it:
pip install signapadpy
Next, import what you need (padding is optional):
from signapadpy import create_image, Padding
Then load the lines of the signature you want to convert into an image:
lines = load_signature_pad_output(from_something)
And create the image:
image = create_image(lines)
The image is an instance of PIL's (or Pillow's) Image
, so you can choose to display it:
image.show()
Or save it:
image.save('signature.png')
If you'd like to render the image with Django, you could do it like this:
from django.http import HttpResponse from django.shortcuts import get_object_or_404 from signapadpy import create_image def view_signature(request, pk): # Django view, assuming a Sigature model with a lines attribute signature = get_object_or_404(Signature, pk=pk) return signature_to_response(signature.lines) def signature_to_response(lines): image = create_image(lines) response = HttpResponse(mimetype='image/png') image.save(response, 'PNG') return response