DEV Community

James Konik
James Konik

Posted on • Originally published at Medium

PDF Web Viewers Compared: Foxit, PDFTron, and PSPDFKit

PDF is the goto format for high quality, printable documents and is growing in popularity. The files are used everywhere, but displaying them in the browser comes with challenges. The format is complex, and includes a broad selection of features to implement.

If you’re building software that requires PDF display, or more advanced interactions, then you need to make these features available to your users, and make them work well on multiple devices.

In this article, you’ll read about three choices for teams who want to present PDF documents on the web. You’ll learn about their features, their pricing, and their documentation. You’ll also see how they’re regarded by developers, and learn the best use cases for each of them. First though, let’s cover some basics.

What Is a PDF Viewer?

There are many viewers that can show PDFs, and many have their own SDKs, so developers can build them into their applications. Using them is as simple as adding a few lines of JavaScript to your site, and there is plenty of scope for customization.

Why Use a Third-party Viewer Over an Embedded iFrame?

You can embed PDF files directly into a page, but good luck getting results with that. Several issues might occur, such as conflicting scrollbars, misalignment and divergent cross-browser behavior. Direct embedding isn’t the best way to display PDFs in the browser.

To give your users the best experience, use a third-party viewer. These provide a better, more consistent experience. They also offer a wide range of features like signing, interaction, and collaboration.

Viewers are typically built around an SDK, enabling you to build them into your own systems and add features, as well as change the presentation to match the rest of your app.

How to Compare Viewers

Let's go through the viewers and see what they offer. I'll talk about their features, and see how easy they are to use. I'll also look at their documentation and pricing.

Foxit PDF Web Viewer

Foxit web viewer screenshot including icons, highlighted text and a picture of plants

Foxit PDF Web Viewer is the web version of Foxit’s PDF viewer, which allows you to view documents consistently across different platforms, while enjoying the kind of advanced features you would expect in a desktop app.

Its demo shows off its detailed, feature-rich interface. It lets you select different areas to focus on and takes you through a brief mini-tutorial for each one, which gives you a quick overview of what it can do, and how you do it.

Foxit’s document manipulation features include highlighting, annotation, and strikeout. There are also security features like 256-bit encryption and user restrictions. It works with forms, can import and export data, and lets you sign documents.

It also has collaboration features, allowing users to work together on the same document.

It’s a pure JavaScript library, so it is easy to add to your applications. Its powerful SDK includes a viewer and interface—which can be deployed quickly—and it all runs on the frontend.

Deploying Foxit is straightforward. On the website is a 21-line JavaScript snippet for you to paste into your code and you only need to update the license to get up and running.

Foxit’s documentation includes a large selection of developer guides alongside a comprehensive API reference, containing details of its many modules and classes.

The developer guides walk you through many different tasks, with code samples and diagrams. They cover each major platform, including the web. The full API reference is also there if you want specific information quickly.

There are also articles, case studies and white papers to help you understand how to integrate its products into your business.

With its prices starting at $3000 per platform per year, the Foxit SDK is cheaper than PDFTron for single platform deployment, though you’ll need to discuss pricing with the viewer’s sales team for an accurate quote.

It offers a 30-day free trial, so you can test it out before making a decision.

Foxit has a vast selection of customers, including several major technology companies.

It has a reputation for good value, and has more features than the common Adobe reader. Its strong security is also a big asset.

Loomion used Foxit successfully to let customers view documents in meetings, and Omega chose it due to its superior interaction capabilities.

Developers also cited that Foxit received good feedback from customers and saves them time.

Foxit is strong on price and excels at presenting information to customers due to its customizability. It is also fast, with tests showing it outperforms another competitor 86% of the time.

Its developer guides can also help you get started with it quickly, useful if you’re using it via its free trial.
Its speed makes it ideal for resource-heavy environments, limited bandwidth scenarios, or if you’re deploying to older devices. Foxit’s feature set makes the viewer ideal if you need document signing, collaboration, or interaction.

PDFTron

PDFTron screenshot showing light, spacious interface and a comment being added to text

PDFTron’s web viewer is another JavaScript driven offering, letting you work with PDFs on browsers and mobile devices.

Its interface is clear and intuitive, with buttons that convey their function well. The document in its demo certainly loads fast, but doesn’t render at fantastic quality.

The viewer includes annotation, encryption, watermarks, and signing. PDFTron also features ICC color management and color separation. It supports a wide range of document formats and also allows users to collaborate on files.

You can also copy the canvas directly to an image in a few lines of code, letting you convert PDFs to images easily.

In addition to JavaScript, PDFTron uses WebAssembly, PNaCI, and compiled C++ for extra performance.

Aside from the web viewer, the PDFTron SDK is considered stronger on mobile than its competitors, making it a good choice if you’re building a multi-platform application.

It reviews well, though memory management in Linux is a minor weakness.

Its API documentation is clear, and straightforward and has been highly praised by developers.

There is GitHub starter code for several frameworks, including React, Vue, and Angular. There are also several full app examples. It’s always good to see some working code when getting started with a new technology, so that will really help newcomers see how to use it.

PDFTron doesn’t provide clear pricing data. You need to contact its sales team to discuss your requirements and get a quote. Research suggests a baseline of $4000 per year. That’s more than Foxit, though it may vary depending on your use case.

Its ease of use can help you get quick results, with clients like Recover Health getting applications running in just 24 days.

PDFTron’s developers proactively react to issues and can help with any issues you have, too.

Its prebuilt samples are useful for those working with various frameworks, making the viewer ideal if you want to get an application out of the door fast. Its integrations also make it ideal for use with the platforms it supports.

PSPDFKit

PSPDFKit screenshot showing drawing tools and color selection panel

PSPDFKit is another JavaScript library-based product, with a core viewer and several other components for different features. It can be deployed in standalone form via WebAssembly, or on a server using Docker, which allows you to pre-render documents for better performance.

Its demo cleverly uses a tutorial as the sample document, teaching you the basics of the interface and inviting you to try out its annotation tools.

With annotation, editing, redaction, and form filling, PSPDFKit covers many bases. It has a reader view to simplify document layouts for mobile devices. It also has digital and electronic signing. Document collaboration and commenting are available for team-based work.

The viewer’s document indexing makes it easy to search through multiple documents, which is useful for research based projects.

Its optical character recognition lets you convert inaccessible scanned or vector content into text you can work with directly.

You can generate PDFs from HTML, and design forms. It also has comparison features.

You can start using it with just ten lines of JavaScript, making it very quick to get going. Its website includes example projects using React, Node.js, webpack, and Ruby on Rails, and there are integrations for npm and Yarn.

Its well written API documentation contains technical data, as well as a few lines about what each element does, which developers will appreciate.

It claims to have simple and flexible pricing, though there are no figures provided on the site and, again, you’ll have to contact its sales department for a quote. Sales aren’t always quick to respond, with several developers complaining about its system on Twitter. One person described it, along with PSPDFKit, as a bit of a farce.

Be prepared to negotiate. On the plus side, there’s a 60-day free trial if you want to test it out while waiting for its sales team to get back to you.

It doesn’t seem as widely discussed as the other products here, with differing reviews ranging in opinion. The general consensus is that ease of use is a strength and custom functionality a weakness.

PSPDFKit has some strong features for mobile users, such as pre-rendering from a server and simplified document layouts.

If your users need to work with scanned documents, it’s a great choice, too. It’s also ideal for those wanting to create PDFs from their image files, or create forms. Its strong indexing and conversion features make it a good choice for academics or anyone working with many documents, particularly if they need updating to make them more accessible.

Conclusion

There’s no shortage of choices when adding PDF support to your web applications. These three tools have many common features, and their individual strengths make them suitable for particular use cases.

They all have different features that you can implement easily and make available to your users. When deciding on one, you’ll want to check off your technical requirements and consider performance as well as ease of use.

Price is also a factor. Keeping costs down never hurt anyone. You should also think about support, particularly if your product is on the bleeding edge of technology and dependent on newer features.

Foxit has a broad feature set with straightforward pricing, and appears cheaper than its competitors. Its security features make it ideal if working with sensitive data or strict compliance requirements.

PDFTron is quick to get up and running and is strong on mobile, making it good for prototyping, or supporting multiple devices.

PSPDFKit is great if you want a fast, server-based approach. It also shines if you want its indexing features or optical character recognition.

Whichever you choose, it’s worth investigating everything the various viewers offer to make sure you’re getting the most value. Every feature you take advantage of brings your app one step closer to success.

Disclaimer: This article was commissioned and paid for by Foxit

Top comments (0)