More and more often we encounter a problem of signing various documents, for example, consents or declarations. It is most often a result of bizarre interpretations of the GDPR regulation, but not only.
For that reason, I decided to build a signature server. Not electronic, but traditional ones.
Of course, using Raspberry Pi, plus a touchscreen, any kind, but the bigger the better.
Raspberry works as a signature server.
After the system start, an empty desktop appears on the screen. Then, we can display an image of our choice, for example, a company logo or an advert banner:
(Or both in one go 😅 )
The client program (for example, a system for issuing passes authorizing entry to premises) sends, over the network, a text for the signatory approval, terms and conditions, the language version (Polish, English, German, etc. - the server supports any language) and the information about the place of submitting the document.
Then a maximized window appears on the screen:
In the upper part is displayed the content of the document and in the lower, terms and conditions.
The content, keyboard signs, server messages are displayed in the language indicated by the client program.
A driver from Austria will see the German language version, a Ukrainian, Ukrainian version.
After the text to be signed is reviewed (the long one can be scrolled), we can put our signature under the terms and conditions (at the bottom of the window):
We can delete and retry the signature, cancel, in case we do not agree with the content of the document, and finally, submit a signed document to the client program.
It is not possible to send the form without a signature.
A signed document is sent as a png image to the client program, which can, for example, save it in a database:
How does it work?
This time I will not go into details, as it would take too long. Apart from C programs, we would have to discuss GTK + 3.0., Cairo, Glade, CSS, creating different language versions (localization), network communication, etc.
The programs, configuration files, installation guide are available on github under: Graphologist
- start.c is the signature server program. It handles the screen, communicates with the client program, formats the signature, etc.
- wyświetl.c is a demo client program, a simple version that takes parameters from the command line.
- INSTALL file provides the information on how to compile and install the complete software.
- FILES file contains a brief description of the contents and functions of the individual files and directories.
The complete software can be run on an average Linux computer, and in case we do not have a touch screen, the signature can be simply made using a mouse.
The program is under the GPL-3.0 license, so
Have fun using it!
I put all the necessary explanations in the files provided and also in the form of comments in the source code, but if something is unclear, please send me an e-mail (the email address is under the photo in the upper left corner of the screen).