March 14, 2007

PDFedit fills hole in the desktop

Author: Bruce Byfield

PDFedit is not the first tool for editing PDF files on the GNU/Linux desktop, but it does have a strong claim to being the first truly practical one. Although only at version 0.2.5, PDFedit is already a practical solution for manipulating pages and text in PDF files, as well as for salvaging content in usable formats. It suffers only from an eccentric interface and some of the instability typical of an early release.

The main trouble with other PDF editing solutions has been their lack of reliability or their need to translate PDF files into other formats. KWord opens PDF files, but in translating them to and from its own format it can lose complex layout. Similarly, while the GIMP can open individual pages of a PDF file and edit them as an image, it can only output to PostScript. Other solutions, such as Scribus, require the additional step of converting the PDF to PostScript, which is cumbersome and can require experimentation to get right, depending on the conversion tools used and the versions of PDF and PostScript involved. The advantage of PDFedit is that it opens PDF files directly and saves them without loss of layout.


Using PDFedit, you can manipulate pages in a PDF in a number of ways. You can change the dimensions of an individual page, embed basic fonts such as Times Roman, Courier, or Helvetica, or rotate the page. You can add pages from another PDF in a separate dialog window, choosing the pages and positioning them exactly. If you need to recover text from a PDF file, you can extract it unformatted into a dialog, then copy and paste it into another program. In addition, you can add lines and rectangles to a page.

PDFedit - click to enlarge

For most people, though, the most useful aspect of PDFedit is its text editing features. You can strike through or highlight existing text, or change its color, size, or font -- although you are limited in font selection to basic fonts or any embedded in the file, rather than being able to select any font installed on your system.

Even more usefully, you can delete text, or add it in a field that you can drag from the tool bar to become a floating window for greater convenience. However, both deletions and additions are limited to small touch-ups, partly for the practical reason that it is difficult to make major changes undetectable if you have large blocks of text, but also because PDFedit's buffer only seems to hold about 50 characters. Try to add more and PDFedit freezes, crashes, or enters random characters in the field where the text being edited displays. Still, this limitation is enough for correcting minor typos, which is one of the main reasons that many users need a PDF editor.

No doubt because PDF editing is often salvage work -- correcting mistakes or retrieving text -- PDFedit also includes a revision system, with versions prominently displayed in a combo box above the pane that displays the current page. You can also save the results of your work page by page in one of seven graphics formats, including .BMP, .JPG, and .PNG, or export the entire document into XML if saving into PDF is not what you need.


The main difficulty with PDFedit is that its graphical interface is decidedly non-standard. My impression is that, at this stage of development, the project team has concentrated on functionality, focusing on making PDFedit a collection of scripts to which contributors can easily add. This focus can be easily seen in the editing window, which includes not only a pane for displaying the current page, but also a pane for command-line messages and a tree view of the PostScript structure of the file. Since users are not likely to know PDF format, my guess is that these features are intended largely for the project's developers. Yet by default, these elements occupy three-quarters of the editing window.

Details of the editing window are similarly unexpected. Most text functions are listed under the Edit menu, but changes to existing text are listed in the Page menu. Similarly, the XML export filter is listed in the Tools menu rather than under Files. The tree view is on the right of the screen, and neither undo nor copy nor a list of recently opened files is available. Most users can probably learn these quirks either through experience or through the documentation on the project's site, which is written in stilted but adequate English, but the point is that they shouldn't have to.

Users should also be prepared for frequent crashes or freezes. Select too much text to edit at once, or make any selection at the wrong point, and you are left with no choice except to restart the program.

Still, at this stage of development, functionality matters more than stability or ergonomics. Currently, PDFedit compares poorly to Adobe's Acrobat 8, the program for which it is designed to be a free replacement. In this version, it lacks tools for many of Acrobat's features, including collaboration, annotation, output to a word processor format, OCR scanning, digital signatures, or -- for what little they are worth -- PDF security features. Yet, for all PDFedit's limitations, even at this early stage, it brings a core of functionality to the GNU/Linux desktop that has been missing for too long.

Click Here!