April 6, 2005

Small-business forms using Scribus and PDF

Author: Preston St. Pierre

I am a small business owner, and like many self-employed Linux enthusiasts, I am constantly drawn to open source solutions to small business issues. Two months ago I migrated all of my office paperwork over to PDF format designed with the open source Scribus, and I haven't looked back. It's universally readable, there is no sacrifice on quality, and as a bonus I get to do my work in Linux.

Because every business is different, some are going to have an easier time migrating their offices to Linux than others. Regardless of which industry a business is in, one of the most important migration issues they all have in common is document exchange. Versioning and platform incompatibility is not just a daily hassle, it is one of those problems that is inherent to an ever-changing marketplace. It is a particular problem for small businesses -- while a large corporation may manage a vertically integrated supply chain, most small businesses these days deal directly with vendors, suppliers, and clients, whether they are nearby geographically or -- thanks to the Internet -- in remote locations. As a small business owner, this is almost 100% true for me. I can't physically visit most of my suppliers when there is a problem, which means that essentially I have zero control over the computers and networks of the people with whom I deal every day. If they can't read something that I've sent them, I am going to have to send it again in a different format. Taking advantage of the fact that our interaction takes place remotely spares me from having to convert to Windows for compatibility's sake and lets me stay with Linux, where I am more comfortable.

Enter the Portable Document Format

This is where PDF comes into play; adherence to a standard sidesteps most of these woes. PDF is one of the few document formats where Linux stands on completely equal footing with Mac OS X and Windows. I have cut through a lot of the document exchange traps by relying on the PDF format's universality. It is an open, documented format that is completely platform-neutral -- even my mobile phone comes with a PDF reader.

It's been years since I have had to explain to someone what a PDF is, and since migrating my paperwork to PDF no one has asked me what version of Windows or Word I use. As a result, I have not had to reformat and resend a single file, whereas before I was asked about once every two weeks to try to open a file that wasn't working for a co-worker for one esoteric reason or another.

The most important documents for a small business are financial in nature: contracts, invoices, delivery memos, and receipts. These are things that should not be altered by the receiving party. Office documents are best suited for collaborative work where edits and changes are important, but invoices and contracts should not be subject to change once they are agreed upon. This makes PDF sufficient (if not superior) for that kind of record-keeping, as PDFs are not easily edited.

Document design

Almost every Linux program that can print a document can export it to a PDF these days. So why do I use Scribus and not a word processor?

To begin with, I am solidly in Richard Stallman's camp when it comes to disdain for word processors; they are widely available, but they are a solution looking for a problem. There are essentially two kinds of documents with which we deal on a day-to-day basis: documents in which layout and presentation matter, and documents in which they do not.

For documents in which layout does not matter, I use a text editor. For documents where layout does matter, I use a desktop publishing program. Word processors are quite frankly an awkward hybrid of these two kinds of editors, and they impair both functions by settling halfway between them. I can control some layout with a word processor, but not all, and what I can control I can only control somewhat. For simple note taking or file editing, word processors can slow me down with feature overhead and force me to jump through hoops to make sure the document isn't corrupted by unnecessary reformatting or those irritating assumptions they make trying to fix things that aren't really mistakes.

Invoices and delivery memos, however, are structured documents; they exist to track shipments and need to be easily readable, quickly processed and indexed, and difficult to misread. That puts them squarely in the "layout does matter" camp.

Scribus takes a big step forward in PDF support

More important than my own personal disdain for word processors, though, is the fact that Scribus has the most advanced PDF creation tools of any Linux application by far. Scribus supports PDF 1.4 and the PDF/X-3 standard, and allows you to use advanced features like PDF Annotations, PDF Forms, and JavaScript.

That's right, PDFs are scriptable. In fact, Adobe seems to be making a play for the presentation software market with its newest suite of Acrobat tools. I'm not sure how successful that will be, but it has put a lot of effort into adding JavaScript support to PDF. You can download some examples from Adobe to get a feel for how this works, but you'll need the new Adobe Reader 7 to experience them.

The PDF exporter in Scribus gives you full control over advanced PDF options like image compression, font embedding, bookmarks and cross-linking, encryption, and presentation effects. Most other Linux applications rely on CUPS for PDF export, which does not support many advanced features.

PDF/X version 3 is an ISO standard, focused initiative for using PDF in pre-press environments. Every professional offset-printing service that I have used is overjoyed to accept your job in PDF format, since it simplifies the print-matching work on their end. PDF/X is actually a subset of the full PDF standard that removes features like transparency that do not effect "press ready" printing but may introduce errors. Currently it is most popular in Europe, but it is a big deal for an open-source application to support such an emerging standard that has -- until recently -- been the domain of high-end programs only.

Creating PDF forms is an area that I am just beginning to explore. You can define form fields, buttons, and other interactive elements much like you do with Web forms. Typically PDF forms are designed to be edited and then printed out. This is what the U.S. government does with the legal forms it provides for download. The flagship Adobe Acrobat application can create forms that can be altered, annotated and saved with the free Acrobat Reader. Currently Scribus cannot "unlock" these features for Acrobat Reader users, however.

Alternatively, Adobe is running a tryout program for its LiveCycle extensions that bring this functionality to Unix, but the LiveCycle Designer product is proprietary and expensive.

The alternative to printed PDF forms is to use JavaScript in conjunction with the form elements and have the PDF file submit information online. Scribus can do this where other open source projects cannot, so far as I have seen. I am in the process of testing some simple online form submissions for contracts and agreements -- nothing too complicated, just enough to allow my clients to acknowledge receipt of paperwork and approval of projects.

Conquest vs. freedom

When I put on my "small business" hat, I care very little about things like OS market share. I have things to accomplish, so to me, the benefit of open source projects is that they enable people like me to use any software they choose. In that respect, my migration to PDF has been a success. I used to spend time exporting material from spreadsheets and word processors to send to clients and suppliers, ensuring that I chose the right Microsoft Office version so that they were compatible. Sticking to the open standard of PDF simplified that, and the open source Scribus application has given me more control over my records. It also means I can run my business on my preferred operating system -- Linux.

Click Here!