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.



Apple Is Playing With Us - App Store Tax Cut To 15%

The headline news is that Apple has cut the percentage it takes from the App Store to 15%, down from 30%, but only if you don't earn more than $1 million per year across all your apps.

Microsoft Adds Custom Data Types To Excel

Microsoft is adding support for custom business data types to Excel. The addition will be made to Excel for Windows for Office 365 subscribers. The new facility seems powerful, but likely to cause con [ ... ]

More News

Last Updated ( Friday, 17 June 2011 )