Sunday, June 29, 2014

Test cases for pdf2htmlEX

For a long time pdf2htmlEX has been lack of test cases, which is terrible, you won't know whether your tiny changes to the code would break some existing features.

Now I'm trying to make that a history. A new repo has been set up at GitHub:

This is still in early stage, which is highly experimental, and the interface might be changed in the future. But this is really a good time for you to submit your test cases, just to make sure that you file will be always rendered correctly in future releases of pdf2htmlEX!

Please tell me what you think about it such that I can improve it.

Thank you!

Friday, June 6, 2014

I'm back!

In recently replies on GitHub, I mentioned that I would have access to my build environment later, which is, now!

Let me explain what I can test:
  • Building on Ubuntu
  • Rendering on Windows
  • Rendering on Mac OS X
  • Rendering on Android (phone)

And I cannot test anything that is not in the list. I do have an iPad 1G though, which seems to be too old for now. It just lag for almost every pages produced by pdf2htmlEX, while it seems that recent iPad generations are fast enough to render them.

Recent TODO list:
  • Give another try packaging FontForge for PPA
  • Fix some small issues
  • New version!

Sunday, January 19, 2014

pdf2htmlEX v0.11 is out

pdf2htmlEX v0.11 has been released.  Thanks to all the contributors!

This version includes lots of JavaScript code cleaning. jQuery is now completely removed. The additional term in the license is removed, now pdf2htmlEX is released with pure GPLv3.

Complete Changelog:

* Compress JS with closure-compiler
* Compress CSS with YUI Compressor
* jQuery removed
* Lots of JS code cleaning
* Enable global key handler by default
* Use WOFF by default
* Always generate TTF before the final output
* Fix CSS for loading-indicator
* Do not set style for global <span>
* Improvements on the SVG output
* New options

Wednesday, November 6, 2013

Removing dependency on jQuery

Recently I've been working on removing jQuery from pdf2htmlEX.js.

jQuery was initially introduced as a handy cross-platform JavaScript syntax. Until recently, I didn't realized that IE(>=9) had already implemented most standard JavaScript APIs. I was still thinking about attachEvent vs addEventListener at that time.

A few days ago when I was trying to optimizing JS code, I found jQuery is really large (~90K minimized), while all other js and css files are no bigger than ~10K in total. Also lots of results from show that jQuery is really slow.

Currently most jQuery functions have been replaced with standard JavaScript APIs, except for $.extend and $.ajax, which will be worked out soon. Another exception is Element.classList which is not implemented in IE9, but I've copied a JS snippet from PDF.js for that.

I can indeed feel a boost on performance after the removal of jQuery, but the modification is likely to cause regression, although I've checked for each API I used.  I've tested the code on Firefox/Chrome on Linux, and I'll test on others as well.

Target browsers:
- IE >= 9
- Recent versions of Firefox / Chrome / Safari

Please help test (the git version of) pdf2htmlEX with your browser and file bugs if any. Thanks!

Thursday, October 17, 2013

pdf2htmlEX v0.10 is out

pdf2htmlEX v0.10 is out, bringing experimental support for SVG image and Type 3 fonts.


* Lots of code cleaning
* Logo as loading indicator
* Add a logo
* Remove several CSS prefixes
* Background image optimization
* Support output background image in JPEG (--bg-format jpg)
* [Experimental] Support output background image in SVG (--bg-format svg)
* [Experimental] Support Type 3 fonts
* New options
--font-format (same as --font-suffix, but without the leading dot)

* Deprecated options:

Thursday, September 26, 2013

pdf2htmlEX got a logo

I managed to craft a logo with Inkscape, which is basically an emblem of "<pdf>". Perhaps it is not of much use, but I just hope that it can help visualizing the concept.

The images are located in the logo/ folder, all of them are licensed under CC-BY 3.0.