PDF Forms, Linux, Fax Machines And Pain

Because I know you’re all crying out to hear about how things are going in SF with C, I’ve decided to write about creating PDF forms in Linux. I knew you’d be pleased.

When I got home from work at about 18.45 a couple of days ago, C told me she had to had to fill in (or is it “fill out”, now I’m “American”?) a form for a job application. It had to be done quickly, and we agreed that it would be best to do it electronically. That way it would be neat, legible (not that C’s writing is poor, quite the opposite) and correctable in case of error.

The form was a PDF file, but it didn’t have form fields built in, which would have allowed C to simply enter and edit her information. This is fair enough, I think. Many organizations have PDF creation tools, such as the Adobe PDF printer, and of course Mac and Linux systems have PDF printers built-in. Anyone can create a nice form in a word processor and create a PDF for distribution. But form fields require fancy tools to create, and as such they aren’t as common. Surely, I thought, surely there is software out there to add form fields? Surely there is a free or open-source package to do this?

(If you’re thinking, “But you can create forms with MS Word”, kindly leave.)

Google found me several possibilities.

pdftk – The PDF Toolkit

Command-line tool which looks very powerful from my brief glance at the man page. Can chop up PDFs, rotate pages, and much more, all from a command-line interface. But it doesn’t enable you to add form fields. You can complete them, by providing a text file containing your desired entries, but not create.

Inkscape

I tried Inkscape as a side-attempt, but it screwed up the fonts in the document. Inkscape is great, and well worth using and supporting. It’s an open-source vector graphics editor that uses SVG as its native format, but it can open, edit and save PDFs as well. I’ve used it for fun and flyers and stuff, but for this purpose, it wasn’t the tool I was looking for.

PDFescape

This turned out to be the one that saved us. PDFescape is an online, JavaScript powered, GUI-driven PDF editing system. You can create PDFs, edit and download them, or save them to your free account. And yes, you can add form fields, so that when you download the PDF, you can use Adobe Reader, Gnome Evince Document Viewer (the default Ubuntu PDF viewer), OSX Preview, or your PDF viewer of choice to enter your details, and then save or print the results.

It’s worth noting that Evince doesn’t work right when filling in fields. It doesn’t use the correct font size you set when creating the field, using instead a tiny sans-serif font. No good.

At first the process ran like this. I would open the PDF in PDFescape on my Ubuntu desktop PC downstairs, then use the clearly laid-out interface to add text fields and check boxes. I was able to save at regular intervals, and when I was ready, I downloaded a finished PDF to my Desktop, and then copied it to our shared folder on Dropbox, where we regularly swap files.

C would then open the PDF in Preview on her Macbook upstairs, finding various errors and problems with text size, placement and so on. So I would open the form again downstairs, make the edits, re-save and on it would go.

At one stage my PC froze, which it does from time to time if I don’t watch it. I think it may have been due to my moving the desk on its casters to plug the printer in – I find US power sockets very tenuous and wobbly. Not like the huge, proud, Imperial heel-crippling UK ones – that’s the spirit! Luckily, the PDF was saved on the PDFescape site, so nothing was lost. A quick reboot and re-login allowed me to continue.

One persistent error with the form fields caused the text entered in one field to be duplicated in another, somewhere else in the document. This was probably due to the moving, copying and pasting I was doing. I reported it as a bug anyway.

After a few loops of the edit-review cycle, we realized it would be easier to add the form fields and add the text at the same time, on my PC, with Cassie dictating the contents over my shoulder. So we did that, and eventually, at about 1.30 (yes, AM), we had a document that was completed and ready to print and sign.

Printing, yes…

I have a printer that I rarely use, an HP PhotoSmart 8050, which has worked well in the past, although the cartridges are of course excruciatingly expensive. I set it up, and a couple of test pages showed that it wasn’t printing right. I cleaned the cartridges, but that didn’t help. I think the 18 months and more that it has sat unused in the cupboard had meant that the ink in the cartridges had dried up. By a huge stroke of luck, I had one black and one color cartridge at the back of a drawer. I inserted them, ran the alignment, and all was running fine. We were able to print the PDF so that C could sign and date it.

This printer is pretty good, all told. But the cost, and drawbacks like this of rare use, have got me think about alternatives. I’ll post something about my thoughts later.

It was now nearly 2AM, and although we could have connected up my crappy USB-powered flatbed scanner, which would have another painful project, scanned the signed copy and emailed it, we were both dead on our feet. C said she would take it to a copy shop to fax it the next day.

Jensen’s Mail and Print up the hill from us charge $2 per page to fax a document. This of course is outrageous, and part of why they have consistently terrible reviews on Yelp. Not wanting to pay $20 to fax the 10 pages, C got them to scan the document. She emailed it home, and then found that some problem meant she couldn’t forward it to the person waiting for it. So she emailed it to me at work, to ask me to fax it.

The quality of the scan from Jensen’s was terrible, it looked like a bad fax. If I faxed that again, it would be doubly illegible. Eventually, C went to a Kinko’s, and they faxed the original. It was done!

-oOo-

All in all a pretty unpleasant experience. I looked around on the net for faxing alternatives. All the fax software you can get expects you to have a fax modem in your PC, which I don’t. There are services which will provide you with enterprise-level email-to-fax services, which allow you to email an attachment to a special email address, and have it pop out of your contact’s fax machine, complete with attachment. That would be ideal, but it would be nice to have a one-off service for situations like these. The available services are all $10 a month or thereabouts.

The Phone Company provide a free fax service, which allows you to send text messages from your email account, via a specially formed email address to any supported fax number. Because it’s a free service, not all numbers are supported, and you have to check first. Also, if you have to send non-text information, it has to be in a MIME attachment type, such as TIFF. Not so bad, but a bit labor-intensive. But free!