Андреасу Гаулу (Andreas Gal) вместе с коллегами из компании Mozilla удалось разработать первый достаточно работоспособный движок pdf.js, который позволит отображать PDF средствами HTML5/javascript.
Разработчики считают, что рендеринг PDF внутри браузера предоставит гораздо больше удобств для пользователей, поскольку в таком случае отпадает необходимость в установке каких-либо внешних программ, предназначенных для просмотра PDF. Тем более, что многие из них не поддерживают полностью важные спецификации PDF, а также вынуждают пользователей осваивать непривычный для них интерфейс.
Нельзя сказать, что внедрение в Интернет-браузер open-source или нативных плагинов является идеальным решением, поскольку это создает потенциальную брешь в безопасности.
Не смотря на то, что работа над созданием pdf.js длится уже более месяца, разработчики только сейчас решили предать гласности свои намерения. Сперва они собирались закончить основные фичи (градиенты, шрифты Type1 и другие), чтобы движок был хоть сколь-нибудь работоспособным.
Однако неожиданный огромный интерес Интернет-сообщества к этому проекту вынудил разработчиков раскрыть все карты раньше срока.
В планах участников разработки доведение df.js до идеального (попиксельно неотличимого) рендеринга на текстовом документе, в качестве которого был взят научный доклад, описывающий javascript-компилятор TraceMonkey.
Этот документ уже отображен в демо-ролике проекта. Несмотря на наличие множества глюков, а также артефактов рендеринга, в целом можно понять, о чем именно идет речь. А сейчас дорабатывается поддержка шрифтов Type1 PostScript, поэтому вскоре демонстрационный документ будет лучше восприниматься на вид.
После этого разработчики собираются приступить к реализации других опций PDF через canvas и выяснить, каким образом при помощи javascript можно реализовать самые сложные спецификации PDF, которые не имеют прямого соответствия в HTML Canvas.
Авторы проекта полагают, что довести pdf.js до уровня, при котором он сможет отображать большинство находящихся в Сети PDF-документов, им удастся в течение трех месяцев.
В недалеком будущем pdf.js станет нативной частью обозревателя Firefox, а перед этим он будет выпущен в качестве расширения.
Разработчики надеются, что их примеру последуют и другие Интернет-обозреватели, внедрив у себя поддержку pdf.js.
Кстати код движка опубликован под свободной лицензией (модифицированная BSD).