Mozilla tests a built-in, secure, PDF viewer in Firefox Beta leveraging the power of HTML5

gjimenez

pdfjsFirefox Beta now includes a safer, more seamless cross-platform experience for viewing PDF documents. For those of you who have not been following the project, here’s some background.

For a number of years there have been several plugins for viewing PDF’s within Firefox. Many of these plugins come with proprietary closed source code that could potentially expose users to security vulnerabilities. PDF viewing plugins also come with extra code to do many things that Firefox already does well with no proprietary code, such as drawing images and text. These problems, and the desire to push the boundaries of the HTML5 platform, led Andreas Gal and Chris Jones to start a research project they named PDF.js. The project quickly picked up steam within Mozilla Labs, where it grew into a full-fledged PDF viewer.

Today, the PDF.js project clearly shows that HTML5 and JavaScript are now powerful enough to create applications that could previously have only been created as native applications. Not only do most PDF’s load and render quickly, they run securely and have an interface that feels at home in the browser. As an added benefit of using standard HTML5 API’s, the PDF viewer is capable of running on many platforms (PC’s, tablet, mobile) and even different browsers. Last, performance will only get better as JavaScript engines and rendering performance continue to improve in browsers.

You can try PDF.js now by downloading Firefox Beta and filing any bugs you find here. The PDF.js powered viewer in Firefox Beta is the first step to it becoming a fully integrated feature within the release version of Firefox so its benefits can be enjoyed by all Firefox users. The PDF.js team is always looking for contributors to help improve our open source, community driven project. See our github page for more information on contributing to the project.

Thanks to all those currently contributing to the project, without them this project wouldn’t have been possible.

– Bill Walker, Engineering Manager & Brendan Dahl, Software Engineer