Как стать автором
Обновить

Рендеринг PDF с помощью HTML5 и JavaScript (pdf.js)

Время на прочтение 2 мин
Количество просмотров 35K
Андреас Гал (Andreas Gal) с коллегами из Mozilla разработали первый нормальный движок pdf.js для отображения PDF средствами HTML5/JavaScript (демо).

По мнению разработчиков, рендеринг PDF непосредственно в браузере гораздо удобнее для пользователя, потому что ему не придётся думать об установке внешних программ для просмотра PDF, многие из которых к тому же не полностью поддерживают важные спецификации PDF и заставляют осваивать непривычный интерфейс (не такой, как в браузере).

Внедрение в браузер нативных или open-source плагинов тоже нельзя назвать идеальным решением, потому что это потенциальная брешь в безопасности.

Разработка pdf.js идёт уже более месяца, но только сейчас разработчики решили объявить об этом на широкую аудиторию. Они хотели сначала завершить основные фичи (шрифты Type1, градиенты и др.), чтобы движком можно было хоть как-то пользоваться. Но совершенной неожиданностью стал большой интерес сообщества к этому проекту, а шила в мешке не утаишь, так что пришлось раскрыть карты раньше срока.

План проекта таков. Сначала они хотят довести pdf.js до идеального (попиксельно неотличимого) рендеринга на одном тестовом документе: это научный доклад с описанием JavaScript-компилятора TraceMonkey. Именно этот документ отображается в вышеупомянутом демо. Конечно, там ещё много глюков и артефактов рендеринга, но в целом понятно, о чём речь. Прямо сейчас допиливают поддержку шрифтов Type1 PostScript, так что скоро демо-документ станет гораздо приятнее на вид.

Дальше планируется реализовать другие опции PDF через canvas и обсудить, как можно с помощью JavaScript реализовать самые сложные спецификации PDF, для которых нет прямого соответствия в HTML Canvas.

Разработчики считают, что в течении трёх месяцев они смогут довести pdf.js до такого уровня, что он сможет отображать большинство PDF-документов в Сети. В будущем можно ожидать, что pdf.js станет нативной частью браузера Firefox (сначала выпустят расширение).

Авторы проекта также надеются, что и другие браузеры последуют их примеру и внедрят у себя поддержку pdf.js, код которого опубликован под свободной лицензией (модифицированная BSD).
Теги:
Хабы:
+68
Комментарии 34
Комментарии Комментарии 34

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн