extendedPDF: Professional PDF controls for OpenOffice.org

by Bruce Byfield

In early versions of OpenOffice.org, exporting to PDF required setting up a printer driver and offered few options. PDF export is vastly improved since version 2.0, since it is built-in and offers some control over the degree of image compression, the initial view, and user interface. However, even these controls are basic. They are certainly far behind the desktop tools available for Adobe Acrobat in Windows and OS X. For this reason, extendedPDF is an essential tool for those who need fine-control over their PDF output from OpenOffice.org in GNU/Linux.

extendedPDF was originally written as a macro. More recently, it has been converted to an add-on, installable by downloading and unzipping the files from the 3BView web site, then using Tools > Package Manager to install it. The add-on depends on Ghostscript, which almost all distributions install by default, and a postscript printer driver. (You don't actually need the printer, just the driver, since you will be printing the PDF to file anyway) If you don't already have a postscript printer driver installed, you can add one via the the spadmin utility that comes with all GNU/Linux versions of OpenOffice.org. You'll also need a copy of Java installed and added to the OpenOffice.org configuration through Tools > Options > OpenOffice.org > Java. You can still create PDF files without Java, but the options are unavailable, which destroys the whole point of using extendedPDF in the first place. Details of these dependencies and how to set them up, if necessary, are given in the very thorough User's Guide that is part of the download. Many users, however, should find that extendedPDF works without the need for any tinkering.


Configuration settings

Once extendedPDF is installed, restart OpenOffice.org and it's available from a small floating window or from Tools > Add-ons > extendedPDF. You'll soon find that you can use it only on a previously saved file, which presumably is a failsafe in case of something unexpected happening while the file is being exported to PDF.

The first time you use extendedPDF, you may want to begin by checking the basic configuration. On the Configuration tab, you can set the paths to dependencies. Chances are, you won't want to change the paths to GhostScript or Java, but you may want to change the path to the PDF viewer, so that you can use the tool of your choice, or the printer name if you have set up a printer using spadmin.

Next, you can head over to the File Settings tab. There, if you don't want the PDF output in the same directory as the original OpenOffice.org file, you can set the output directory. You can also set the directory for the temporary files created during export, as well as choose to have existing files automatically over-written, and to preserve the temporary files. Since extendedPDF first converts files to postscript then to PDF, preserving the temporary files is a way of safeguarding yourself if something goes wrong, because postscript viewers are readily available for GNU/Linux, and the temporary files can still be used by another utility to produce a PDF file.


PDF production settings

The remaining tabs have settings that are more likely to vary with the individual files. The PDF Settings tab contains the basic settings for creating the PDF file. For some reason, the default settings include adding a colored box around all links, although the result is so ugly for documents with regular sized text that I suspect that most people will want to turn it off immediately. Other settings on the tab include setting the default view and quality, using -- unlike OpenOffice.org's default PDF export -- the same choices that Adobe Acrobat does. Another useful setting is the choice of PDF version to use; the lower the setting, the more likely it is to be readable on any machine. You can also set extendedPDF to rotate pages as necessary, so that landscape-oriented pages aren't cut off, and to open each new PDF immediately after creating it.

Other common settings are available on the Headings style. On this tab, you can set what levels of headings are converted into bookmarks in the PDF file, and add additional styles to convert to bookmarks. Only ten of OpenOffice.org's default styles are listed, and the only way to add styles that you created is to define them as an outline level using Tools > Outline Numbering, but, even with these limitations, extendedPDF is still far ahead of OpenOffice.org's default tools.

The final tab for extendedPDF is Security. All settings on this tab are disabled by default, no doubt because PDF security is extremely weak, even without specialized cracking tools like Elcom's. At best, PDF security slows casual users from using a file in ways that you would prefer that they didn't, and makes your preferences known. However, for those who want to make unauthorized editing, copying, or printing slightly more difficult, the Security tab provides a complete set of options, including a choice of 40 or 128 bit encryption.


Conclusion

Although extendedPDF is released under the GNU General Public License, free software users -- as opposed to open source users -- may find its reliance on a non-free language like Java objectionable. Unfortunately, so far as I know, no one has attempted a hack that would make extendedPDF work fully with GCJ, the way they have with other Java-based tools in OpenOffice.org. The fact that there seems no strong reason for writing the add-on in Java makes the choice especially frustrating.

The only other drawback to extendedPDF is the choice of marking the current tab by graying out its heading. Even after hours of using extendedPDF, this choice still has me constantly losing the current tab and making me think that one tab is unavailable.

To casual users, who just want some form -- any form -- of PDF writing from the desktop, extendedPDF may be overkill. If so, they can continue to rely on Tools > Export as PDF, which remains available after extendedPDF is installed. However, for webmasters, technical writers and anyone else who needs to control their PDF output, extendedPDF fills a niche on the GNU/Linux desktop that has been empty too long.


Bruce Byfield is a computer journalist who writes regularly for the NewsForge and Linux Journal web sites.