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.



TigerGraph 3.2 Improves Scalability And Security

TigerGraph has been updated with new availability, scalability, manageability, and security features that the team says will ensure mission-critical graph applications work flawlessly in both private  [ ... ]

JetBrains JavaScript Day 2021

JetBrains is organizing a free virtual event covering a variety of aspects of the JavaScript ecosystem. It takes place on October 14th with all presentations being streamed live on You Tube, wher [ ... ]

More News

Last Updated ( Friday, 17 June 2011 )