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.

 

Javascriptlogo

 

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.

 

pdgjavascript

 

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? 

 

Javascriptlogo

 

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.

 

Banner


VSCode 1.97 Adds Copilot And Python Debugging
13/02/2025

The latest update of Visual Studio Code is now available with free use of GitHub Copilot and the ability to debug Python directly from the terminal.



The Github Copilot Mega Thread
29/01/2025

Given the announcement of the free version of the GitHub Copilot, we take a more detailed look at recent developments.


More News

Last Updated ( Friday, 17 June 2011 )