Open source PDF readers, creators, and editors

Open source alternatives to Adobe Acrobat for PDFs

Open and closed source
Image by : 
Opensource.com
x

Subscribe now

Get the highlights in your inbox every week.

Do you still use Acrobat for working with PDFs?

Aren't we supposed to be living in a paperless world by now?

I can't be the only person who imagined the office of the future, free from the confines of the eight and a half by eleven sheet (or A4, for my international friends), would have long since arrived. Instead, we've managed to land in an intermediate state of not paperless, but less paper.

It could be worse.

Between a trusty scanner, email and various other communication tools, and getting really good at organizing my digital archives, I'm not totally unhappy with where we are today. And I do occasionally admit to reading a paper book, sending a postcard, or (gasp) printing something off to give to someone else.

Until the world moves a little further from paper, print-ready file formats will continue to permeate our digital landscape as well. And, love it or hate it, PDF, the "portable document format," seems to be the go-to format for creating and sharing print-ready files, as well as archiving files that originated as print.

For years, the only name in the game for working with PDF documents was Adobe Acrobat, whether in the form of their free reader edition or one of their paid editions for PDF creation and editing. But today, there are numerous open source PDF applications which have chipped away at this market dominance. And for Linux users like me, a proprietary application that only runs on Windows or Mac isn't an option anyway.

Since PDF files are used in so many different situations for so many different kinds of purposes, you may need to shop around to find the open source alternative to Adobe Acrobat that meets your exact needs. Here are some tools I enjoy.

Reading PDFs

For reading PDFs, these days many people get by without having to use an external application at all. Both Firefox and Chromium, the open source version of Google's Chrome browser, come bundled with in-browser PDF readers, so an external plugin is no longer necessary for most users.

For downloaded files, users of GNOME-based Linux distributions have Evince (or Atril on the GNOME 2 fork, MATE), a powerful PDF reader that handles most documents quickly and with ease. Evince has a Windows port as well, although Windows users may also want to check out the GPLv3-licensed SumatraPDF as an alternative. KDE's Okular serves as the PDF reader for the Plasma Desktop. All of these have the ability to complete PDF forms, view and make comments, search for text, select text, and so on.

For a generic, simple, and fast PDF reader, try xpdf.

Creating PDFs

Personally, LibreOffice's export functionality ends up being the source of 95% of the PDFs I create that weren't built for me by a web application. Scribus, Inkscape, and GIMP all support native PDF export, too, so no matter what kind of document you need to make -- a complex layout, formatted text, vector or raster image, or some combination -- there's an open source application that meets your needs.

For practically every other application, the CUPS printing system does an excellent job of outputting documents as PDF, because printers and PDFs both rely on PostScript to represent data on page (whether the page is digital or physical).

If you don't need fancy graphical interfaces, you can also generate PDFs through plain text with a few handy terminal commands. Everyone has their favourite, but probably the most popular is Pandoc, which takes nearly any format of document and translates it to nearly any other format. Its ability to translate text formats is staggering, so it's probably all you really need. However, there are several other solutions, including Docbook, Sphinx, and LaTeX.

Editing PDFs

Editing is a loaded term. For some people, editing a PDF means changing a few words or a swapping out an old image for a new one, while for others it means altering metadata such as bookmarks, and for still others it means manipulating page order or adjusting print resolution. The authoritative answer nobody ever wants is: don't edit PDFs, edit the source and then export a new PDF. That's not always possible, though, and luckily there are some great tools to make all manner of edits possible.

LibreOffice Draw does a fantastic job of editing PDF files, giving you full access to the text and images. There are caveats to this, because of the flexibility of the PDF format. If you haven't installed the fonts used in the PDF, then the flow of text could change due to font substitution,. If the PDF was created from a scan, then you'll only have images of text and not editable text.

Inkscape, too, does a good job with opening documents created elsewhere, and may be a more intuitive choice if your document is heavy on graphics. If you don't have a font installed, Inkscape (through the Poppler renderer) can trace characters so that the appearance of text is maintained even without the actual font data. Of course, that loses the text data (you have only the shapes of letters, not the selectable text itself) but it's a nice feature when appearance matters most.

There are standalone tools as well, like the GPLv2 licensed PDFedit, but I've had such good luck with Inkscape and LibreOffice that I haven't had to use a separate editor in recent years.

If your editing tasks are less about the content and more about presentation, you might find the pdftk-java (PDF ToolKit) command useful. It can extract and inject bookmark metadata, rearrange and concatenate pages, combine many PDFs into one, break a PDF apart, and much more. If you're not comfortable in a terminal yet, PDFSam has many similar functions, but includes a graphical interface.

Finally, you can adjust PostScript properties directly with the GhostScript command, gs. GhostScript is an open source interpreter for the PostScript, so you can perform very low-level tasks with it, such as swapping one font for another, or adjusting the resolution of images, or dropping images entirely.

Being terminal-based, these are great tools for automated manipulation, too.


We know these aren't the only choices in town. Do you work with a lot of PDFs? Have a favorite application to help you along the way? Let us know in the comments below what you use and why it works for you.

Are you interested in reading more articles like this? Sign up for our weekly email newsletter.

Editor's note: This article was originally published in 2016 and has been updated.

About the author

Jason Baker - I use technology to make the world more open. Linux desktop enthusiast. Map/geospatial nerd. Raspberry Pi tinkerer. Data analysis and visualization geek. Occasional coder. Cloud nativist. Civic tech and open government booster.

About the author

image from https://openclipart.org/detail/196235/penguin-profile-medalion
Seth Kenlon - Seth Kenlon is an independent multimedia artist, free culture advocate, and UNIX geek. He has worked in the film and computing industry, often at the same time. He is one of the maintainers of the Slackware-based multimedia production project, http://slackermedia.info