I get forms to fill out and sign in electronic form all the time now. Often they come as PDFs or word documents, every so often by fax, and more and more rarely on paper. My handwriting is terrible and of course I no longer have a working typewriter. But none of the various tools I have seen for the job have had a nice easy workflow.
Now some PDFs are built as forms, and in Acrobat and a few other programs you can fill out the form fairly nicely. However, it’s actually fairly rare for people to build their PDFs as fillable forms. When they do, the basic Acrobat tools generate a form which free Acrobat reader will let you fill out — but bars you from saving the form you filled it out. You can only print it! Adobe charges more, on a per form basis, to make savable forms. However, some other readers, like Foxit Reader, will let you save what you fill into forms, even if the creator didn’t pay Adobe.
You still can’t sign such forms in electronic fashion, however. And as noted, many forms of all types aren’t enabled this way. Forms that come as Microsoft Word documents can be filled out in MS Word or the free Open Office writer or abiword. And you can even insert a graphic of a signature, which gets you closer to the target.
Often however, you are relegated to taking a fax, scanned paper document or PDF converted to bitmap, and editing it in a bitmap editor. Unfortunately the major bitmap editors, like Photoshop or GIMP, tend to be aimed entirely at fancy text and they are dreadful and entering a lot of text on a form. They don’t even make it so easy as quickly clicking and typing.
I encountered a commercial package named “Form Pilot” which is for Windows only but appears to run on WINE. It’s better than the graphics editors, and it does let you click and type easily. However, it has some distance to go. Here’s what I want:
- Be smart and identify the white spaces on the form, and notably the lines or boxes. Figure a good type size if the default isn’t right.
- When I click in one of those boxes, or above a line, automatically put me at a nice position above the line for typing. This is not a hard problem, hardly even OCR, just finding borders and lines. Let me use a different click if I want to do precise manual positioning.
- When I hit TAB or some similar key, advance to the next such box or line in the form.
- If I type too much in a box, do an automating shrinking of the text so that it fits.
- Of course, let me go back and edit my text, and save the document with the text as a different layer so I can go back and change things.
Now the interesting issue of signing. For this, I would want to scan in a sheet of paper which I have placed many signatures on, and have it isolate and store them as a library of signatures.
When I wish to apply a signature, have it pick a random one. In addition, have it make some minor modifications to the signature. Modifications could include removing or adding a pixel here or there along the lines, or adjusting the aspect ratio of the signature slightly. Change the colour of the ink or thickness. There are many modifications which could generate thousands of unique signature forms. If you run out, scan another sheet.
Then make a log of the document I signed and the parameters of the signature that was added, and record that. All this is to assure the user that people who get the document can’t take the signature and copy it again to use on a different document and claim you signed it. You’ll have a log, if you want it, of just what documents were signed. Even without the log you can have assurance of uniqueness and can refute fake signatures easily.
(Refuting forged signatures is actually pretty easy on electronic documents.)
When done, let me save the document or print it, or hook up with a service so that I can easily fax it. The result should be a process of receiving a document or form, filling it out and signing it and sending it back (by fax or email of course) that’s even easier than the original method on paper.
I was surprised, by the way, at how bad all the free bitmap painters I tried were at typing. Gimp and Krita are poor. xpaint and kolourpaint seemed to have the easiest flow even though they are much older and primitive in UI. If you know of programs that do this well, let me know.