JavaScript renders PDF
Written by Ian Elliot   
Friday, 17 June 2011

A group at Mozilla is working on direct rendering of PDF documents using nothing but JavaScript and HTML5.

PDF can be thought of as the web's second document format - after HTML of course. However unlike HTML you need a plugin to render PDF in a web page. A group at Mozilla is working on direct rendering of PDF documents using nothing but JavaScript and HTML5. The JavaScript code reads the PDF and then obeys the Postscript instructions it contains to draw the document on a canvas element.




The project has been quietly generating code on github for about a month but now feels that it has reached a point where the world should take a look -  pdf.js. As you might expect it is open source.

The team claims that its intention is not to elevate PDF to a first class document format but to integrate it into HTML as just another display format. At the moment to display a PDF you have to write some code that loads the file and calls a function to render it:

pdfDocument = new PDFDoc(new Stream(data));

You also need to add some buttons to move to different pages but apart from this the result is a standard HTML page and so can be navigated and printed using the browser controls - i.e. no custom, and possibly confusing, plug-in controls.

At the moment the team is attempting to render just one target document at the pixel perfect level. You can see their progress - which is impressive - at 2009 paper rendered using pdf.js which you can compare to the original at 2009 paper rendered using a plugin.




They estimate that in about three months they should have a JavaScript application that can render the majority of PDFs found on the web. While the app is currently packaged separately the plan is to have it built into a future version of Firefox.

This is just another example of JavaScript inheriting the earth as it, with the help of the HTML5 hype, continues to become the language of choice.

What I can't figure out is, if the JavaScript application is going to be built into Firefox, why not build some C++ code that does Postscript/PDF into Firefox and make it truly native to the browser? 




Further reading

JavaScript inherits the earth

If you would like to be informed about new articles on I Programmer you can either follow us on Twitter or Facebook or you can subscribe to our weekly newsletter.



Insights From AI Index 2024 Report

Published this week, the latest Stanford HAI AI Index report tracks worldwide trends in AI. A mix of its new research and findings from many other sources, it provides a wide ranging look at how  [ ... ]

GR00T Could Be The Robot You Have Always Wanted

We may not have flying cars, but we could well soon have robots that match up to predictions for the 21st century. Nvidia has announced GR00T, a cleverly named project to build robots using foundation [ ... ]

More News

Last Updated ( Friday, 17 June 2011 )