PDF.js

28 2011
Расширение PDF.js для браузера Mozilla Firefox реализует полноценную поддержку работы с документами в формате PDF с использованием технологий стандарта HTML 5 и JavaScript. Расширение пока экспериментально и может работать нестабильно.

Одной из самых важных функций современного браузера является поддержка отображения различных форматов файлов. Браузер Google Chrome стал одним из первых веб-обозревателей, который стал поддерживать вывод содержимого файлов в формате PDF без помощи сторонних приложений. Программисты Mozilla Foundation также стати разрабатывать технологию поддержки отображения PDF в браузере Mozilla Firefox. Один из проектов подобного рода получил название PDF.js. В рамках проекта предпринимается поддержка PDF-файлов в браузере с использованием технологий, описанных в стандарте HTML 5 и кода JavaScript. Для включения поддержки PDF в Mozilla Firefox необходимо установить одноименное расширение.

Из уже реализованной в расширении функциональности можно отметить:

  • возможность изменения масштаба изображения;
  • поддержка навигации по страницам документа;
  • поддержка динамической подгрузки шрифтов в формате True Type и Type 1;
  • возможность отображения документа в высоком качестве, в том числе отображение градиентов и теней для рамок;
  • поддержка отображения содержимого документа попиксельно;
  • поддержка графиков и различного рода диаграмм;
  • навигация с помощью столбца с эскизами веб-страниц;
  • включение поддержки работы со сжатыми объектами, поддерживаемыми в стандартах PDF.

Разработчики поясняют, что код поддержки формата PDF в браузере Mozilla Firefox создается на одном из высокоуровневых языков, что позволяет свести к минимуму проблемы информационной безопасности, которыми так славятся приложения для работы с данным форматом.

pdfjs.png

Расширение PDF.js преобразует файл в представление в формате JavaScript, а затем браузер выполняет полученный JavaScrpt-кода как стандартный. Созданная на основе информации из файла PDF JavaScript-страница представляет собой контент, выводимый через HTML-тэг «canvas». Следует отметить, что создаваемый расширением JavaScript-код разделяется по категориям «простого» и «сложного».

К «простому» коду разработчики относят операции вывода текста и рисовки кривых. К «сложному» - операции типа «заполнение определенной области с затенением по конкретной маске». По словам разработчиков, ситуация с переводом PDF-файла в JavaScript-код может осложняться тем, что некоторые виды программного обеспечения для создания файлов PDF, кодируют и/или сжимают внедряемые изображения и шрифты.

В настоящее время разработчики сообщают о наличии проблем при формировании изображения попиксельно. Точнее говоря, проблемы возникают при выделении текста при сформированном таким образом изображении и при выводе страницы документа на печать. Есть проблемы и при использовании технологии «canvas», которая пока не в состоянии обеспечить полноценный рендеринг документов в формате PDF. В дальнейшем, разработчики планируют начать использование SVG при рендеринге PDF, однако для этого необходимы значительные системные ресурсы. Возможно, что в будущем будет использоваться промежуточный вариант, в котором будет использоваться как технология «canvas» (для первоначального отображения), так и SVG (для создания полноценного высококачественного изображения в фоновом режиме).

Разработчики отмечают, что в будущем планируется внедрение поддержи более качественного попиксельного отображения PDF-документов, в соответствии со спецификацией стандарта PDF 1.7. Кроме того, в дальнейшем разработчики планируют портировать расширение и на другие браузеры. Экспериментальные варианты портированных расширений для других браузеров уже существуют, однако их стабильная работа не гарантируется.

Также планируется переработать архитектуру расширения, чтобы включить в него поддержку технологии WebWorkers, позволяющей расспараллеливать задачи на несколько процессоров. Затем разработчики планируют сосредоточиться на повышении отзывчивости интерфейса pdf.js и создать привязки для встраивания его в веб-приложения.

Конечной целью является создание кода, который будет встроен в браузер Mozilla Firefox в качестве базовой функциональности, как это произошло, к примеру, с расширением Mozilla Weave, которое стало частью браузера под названием Firefox Sync.

Установить расширение pdf.js в браузер Mozilla Firefox


Скопируйте этот код и вставьте его в свой сайт или блог (HTML)
Скопируйте этот код и вставьте его на форум (BBcode)
Кликните, если это возможно
Комментариев нет.