Short backstory: I recently found myself wanting to fill in some text fields in a PDF file that wasn't designed to be editable. Although Evince, Ubuntu's built-in PDF reader, was able to open the file without a problem, it didn't offer any functionality for adding or modifying text. Neither did Acrobat Reader, which I also unfortunately have to have installed on my computer.
Not despairing, I fired up the Software Center to see what other applications were out there that might be able to do what I needed without making me resort to the command line. Here's an overview of what I found.
PDFeditThe first program I tried was the aptly named PDFedit. It's a Qt-based application, meaning that it required me to download a bunch of extra libraries, but it offers a wide range of functionality for modifying and adding both texts and graphics to a PDF file. For my needs, which were limited to inserting text, it was adequate, although not ideal.
The add-text feature works well and supports a variety of different fonts, sizes and colors, but I found it difficult to specify exactly where I wanted to add the text. The application also seemed buggy in that it froze for a few seconds every time I finished adding a new line of text. And there was no undo feature, which would be nice to have.
For these reasons, it would be difficult to use PDFedit for inserting extensive lines of text to a document. For other purposes, though, it's a solid and relatively feature-rich application for modifying PDFs.
flpsedI found flpsed, a more obscure PDF editor, to be the application best suited to my particular needs. Adding text is its only main feature, but it does it pretty well. The arrow keys can be used to specify where exactly text should be entered, which was hugely helpful in keeping everything aligned.
flpsed's shortcomings include a lack of undo functionality, no way to specify the font of inserted text (only size and color can be changed) and no support for editing existing text in the imported file in any way. Overall, the application is also very rough around the edges, with an interface reminiscent of 1999. But for me, it got the job done with little hassle.
GIMPAnother approach for editing PDFs, and the one on which I've traditionally relied in the past, is to use the GIMP. Documents can be imported into GIMP and edited like any other image:
The drawbacks to this strategy, however, are that edited files can't be exported back to PDF--they can be saved only as images--and documents have to be imported page-by-page. For my purposes, GIMP was far from ideal, but in other circumstances its ability to import PDF files can be very handy.
OpenOfficeSun offers a PDF Import Extension for OpenOffice, which I also tried out. It was easy to install, but my PDF file was a little corrupted when I imported it into OpenOffice, with some parts of the text overlapping and others running off the page:
The colliding text was disappointing, because otherwise this seems like it would have been a great way to do what I needed. The extension developers do warn, however, that some documents work better than others; perhaps I was simply unlucky in having a document that didn't agree with the importer. And to the extension's credit, I found that it was able to import other documents without issue, as shown below:
XournalThe last application I tested was Xournal, which is designed primarily for notetaking on tablet computers and which supports annotating PDFs. When it came to filling in text fields using the keyboard, Xournal was similar to PDFedit: I could easily select a font, size and color, but it was difficult to specify the exact position of the letters. For light textual editing, Xournal would be useful, but it's much better suited for annotating PDFs by hand with a stylus.
ConclusionIn the end, I stuck with flpsed, which ended up working pretty well for my limited needs. The most promising application that I encountered, however, was OpenOffice, which seems very capable of a variety of PDF-editing tasks as long as it's able to import the file cleanly.
In the future, I'd love to see edit functionality incorporated into Evince so that Ubuntu would be able to modify PDF files out-of-the-box. But I'll be happy enough just to get the visa application that launched this blog post approved.