The search for the ultimate pdf viewer
Solution 1:
Short answer
Not that well known, but Master PDF Editor is one of the better "regular" Acrobat- like pdf options we have at the moment imo.
I don't have statistics on the speed, but compared to other pdf applications I have on my system, it performs remarkably well.
Limitations
Possible downside is that it is propriety software, and the free version has some limitations. These limitations are irrelevant to me however:
Following functions are locked in free version:
- Optimizing PDFs. - Function "Paste to Multiple Pages" - Add/Edit Document Actions. - Manage Document JavaScript. - Page Properties options. - Sign PDF document with digital signature. - Add Headers and Footers to PDFs. - Add Watermarks to PDFs. - Add Background to PDFs. - 256 bit AES encryption.
Solution 2:
I have been on the quest to find an appropriate PDF viewer with the mentioned features for years now. I am happy to share my experiences under Linux as an answer, listing the so far used tools in the order of my personal preferences along with some pros/cons:
- MasterPDFEditor (pay to remove watermarks): (+) many nice features incl. full screen mode (F11), reasonably fast startup/to use, rich and easy to use commenting; (-) non-lean GUI, distractive/complicated to use side panels, difficult to operate via keyboard
- Evince (free): (+) multi-viewer, full-screen (slide show), focus on most important features, very fast startup, very lean GUI; (-) limited and comparatively difficult to use commenting features
- Okular (free): (+) multi-viewer, full screen via Ctrl-Shift-F and F7, focus on most important features, essential commenting features, fast startup, lean GUI; (-) clumsy/low-fi full-text search, complicated to use commenting features, sometimes opens multiple instances
- FoxIt Reader (freemium): (+) overall nice interface, rich commenting features; (-) no full-screen, extremely slow start-up, starts new instance everytime when opening a PDF from file manager/console, complicated to use by keyboard, relatively complicated access/handling of commenting features
- Zathura (free): (+) full-screen (F5), extremely lean and fast, very easy to use via keyboard, brilliant in combi with Emacs; (-) only essential features, no commenting
- Firefox (free): (+) easy to use, fast, integrated; (-) only essential features, no commenting
I have not tested in recent years:
- xpdf, gv (free): (+) very fast start, lean GUI, focus on essentials; (-) no commenting, not so easy to use and potentially obsoleted GUIs
- Adobe Reader (freemium): (+) many nice features, good commenting (-) rather slow, limited compatibility with linux (last security updates from 2013)
You will find a more detailed evaluation, e.g., here.
MasterPDFEditor, Evince, and Okular fulfill all criteria (1.-4.) from the question according to my experience, although to varying degrees. FoxIt and Adobe Readers seem ok as well but I haven't tested them comprehensively. The other readers are not focusing on such features, hence, they are out of this particular competition.
Although all listed viewers have shown to me to be reasonably stable tools and all free tools are impressive on their own, as a professional I am getting to the limits to all of these tools when it comes to fluent usage for commenting or redaction (under Linux).
Solution 3:
Evince (called Document Viewer in Ubuntu) does all four of your requirements.
- Deals with large PDF files easily
- Supports annotations and highlighting
- Supports PDF forms
- Has a fullscreen reader mode that allows zooming in and has smooth scrolling, but Evince doesn't hide the toolbar at the top except for when using the Budgie desktop environment.
For step-by-step instructions about how to add highlighting and annotations to a PDF document in Evince see this answer. The annotations added with Evince can be also viewed in Windows by installing Evince in Windows, and there is also a portable version of Evince for Windows at PortableApps.com that can be run from a USB flash drive without installing Evince on your hard drive.
If Evince crashes when too many annotations have been added, you can partially ameliorate this by using the nice
command to give the Evince process a more favorable scheduling priority. Niceness values range from -20 (most favorable to the process) to 19 (least favorable to the process). To show the Evince process ID (PID) run:
ps -aux | grep evince