PDF's progenitor PostScript is a page description language that was invented in 1982, also by Adobe. It is an interpreted language with postfix (RPN) notation and is thus very flexible.
In contrast, PDF is a file format describing the position and nature of
text and pictorial content (in raster or vector format), which makes it
easier to parse and process. To learn more about the relationship of
PostScript and PDF, see Adobe's explanation.
Adobe Reader
Adobe's own Adobe Reader was the first program written to display
PDF files. It's a sibling to Adobe Acrobat, a commercial program that
handles the creation and modification of PDF files.
Available since version 3 for Linux, Adobe Reader is the viewer that
supports the format best. For example, it is the only Linux program
that handles form fields (although you cannot save their content).
Version 6 of the software did not feature a Linux port, inciting some
disgruntled Linux users to scoff at the "Portable" portion of "PDF." In
version 7, Adobe resumed development of the Linux port and changed the
GUI toolkit for Adobe Reader from Motif to Gtk+ 2. Since version 6,
Adobe Reader has also supported JavaScript, thus diminishing the gap
with PostScript.
The installation file of 7.0.8, the current version, is a whopping
47MB, and it requires you to have the Gtk+ 2 libraries on your system
(which need another 20MB). Adobe Reader's plugin architecture enables
you to have special add-ons from Adobe and third parties, and it offers
features out of the box that most or all other readers do not have,
including support for digital signatures and a function that reads the
textual content to you.
Adobe Reader is your only choice if you want to view PDFs in a
Netscape, Mozilla, Firefox, or Opera browser window, since it comes
with a Netscape 4-compatible plugin. But it is the heaviest among the
programs featured in this comparison, and the lack of speed with which
the browser plugin starts the application can impair your Web browsing
experience. However, once started, Adobe Reader renders pages quickly.
It doesn't cache page thumbnails, though, so when a thumbnail is
occluded by other windows and then exposed again, it needs to be
regenerated. Note that Adobe Reader's features might also be detrimental to your security.
Xpdf
The Xpdf package was the first third-party alternative to Adobe Reader for Linux systems. It appeared about three years after Reader.
Xpdf's interface might be described as spartan, and it still relies on
the Motif toolkit to render its appearance. It renders pages
exceptionally fast, and allows you to zoom, rotate, and search
documents. Printing an arbitrary range of pages is also supported,
albeit only by piping PostScript to a program or file. Since it is
designed to be lightweight, Xpdf is a good tool to use to quickly skim
through a PDF file, or read through a file with only a few pages. Xpdf
is the only viewer among this group that does not support page
thumbnails, but it will display a textual outline if the document has
one.
Xpdf's code was taken as the basis for the rendering engines of
Evince, ePDFView, and KPDF, as we shall discuss in a moment. Since it
wasn't written with code reuse in mind, the integration of the
rendering engine into other programs was done by simply copying code.
The maintenance problems resulting from this finally led to the
separation and relocation of Xpdf's rendering engine into the Poppler library.
Evince
Evince is a
GNOME program designed to provide a consistent interface for
interaction with multiple document formats. It currently supports PDF,
PostScript, DjVu, TIFF, and DVI.
If you took Xpdf, made it use the GNOME libraries for its interface,
removed the buttons to navigate in 10-page increments, and added better
print support, you'd have Evince. As a side effect, probably due to the
usage of Gtk+, Evince takes a lot longer than Xpdf to render pages.
If you like the PDF part of Evince, but do not wish to install the GNOME libraries, ePDFView
might be for you. However, in Evince, the pages of a document with some
formulas and simple vector graphics in it display almost instantly,
whereas ePDFView can take as long as a few seconds per page to process
them.
KPDF
The PDF viewer of the KDE project, KPDF,
is the strongest competitor of Adobe Reader. It starts up faster,
renders at least equally fast, and supports most of the features of
Adobe Reader. It employs thumbnail caching, so rendering is only done
once.
KPDF can be used as a standalone application, but it also runs as a Konqueror
plugin. When viewing documents with the plugin, the Konqueror and KPDF
interface elements are merged, as opposed to the Adobe Reader plugin in
other browsers, where interface elements are duplicated, missing, or
inoperative.
KPDF's text-to-speech engine and user-defined color adaptation
enhance accessibility, and the "filter as you type" thumbnail search
makes selecting relevant pages quick and easy. If your hands need rest
and you don't want to listen to a computer voice, you may also use
automatic scrolling mode to read your document. Since KPDF is a KDE
application, it uses the excellent printing interface of the KDE
desktop.
The KDE project has plans for providing a consistent interface to the popular document formats, called okular, but, unlike GNOME's similar Evince, it isn't ready for production use yet.
Foxit Reader
A pdf reader used to support Windows only. Foxit Reader now supports Linux! It comes with only one executable
file. It has been tested on Fedora 4 and SuSE Linux 10.0. It is
provided by Foxit Software Company free for non-commercial use.
Recommendations
If you have a choice, I recommend using a combination of Xpdf and
KPDF to view PDF files. I'd rather copy and paste a URL leading to a
PDF document into Konqueror and use the KPDF browser plugin than wait
for the Acrobat Reader plugin to stuff its megabytes into my memory. Of
course, you can also just instruct your browser to open PDF files with
your favorite viewer, thus removing the dependency on plugins. Okular
looks promising for people who don't like the "keep it plain"
philosophy of the GNOME project that shows in Evince. Also, check out DjVu if your content is mainly in raster format (this is especially true for scanned documents and photographs).
[1]http://www.linux-ren.org/modules/newbb/viewtopic.php?topic_id=2285