Открытая JavaScript-библиотека от Mozilla для отображения PDF-файлов непосредственно в браузере.
Определение
PDF.js — это библиотека JavaScript с открытым исходным кодом от Mozilla, которая рендерит PDF-файлы непосредственно в веб-браузере без необходимости плагинов или внешнего программного обеспечения. Она анализирует внутреннюю структуру PDF — шрифты, векторную графику, изображения и текстовые слои — и отрисовывает каждую страницу на элементе HTML5 canvas. Это позволяет просматривать PDF на любом современном браузере как на настольных, так и на мобильных устройствах. PDF.js — тот же движок рендеринга, который используется во встроенном просмотрщике PDF в Firefox, и он широко применяется в веб-приложениях, требующих надёжного кроссплатформенного отображения документов.
Почему это важно
PDF.js устраняет зависимость от сторонних PDF-ридеров вроде Adobe Acrobat или браузерных плагинов, которые работают по-разному на различных платформах. Для издателей это означает, что каждый читатель получает идентичный опыт просмотра — независимо от того, используется ли Chrome, Safari, Firefox или Edge на Windows, macOS, iOS или Android. PDF.js также даёт платформам полный контроль над интерфейсом просмотрщика: настраиваемая навигация, поведение поиска, уровни масштабирования и интеграция с функциями аналитики или контроля доступа, которые нативные PDF-просмотрщики браузеров не поддерживают.
Как это работает в FlipLink
FlipLink использует PDF.js в качестве движка для режима [просмотрщика документов](/glossary/document-viewer). Когда вы загружаете PDF и выбираете создание документа (а не [флипбука](/glossary/flipbook)), FlipLink рендерит его с помощью PDF.js в чистом интерфейсе с прокруткой. Это обеспечивает читателям традиционный опыт чтения документов с навигацией по страницам, масштабированием, полнотекстовым поиском и адаптивной вёрсткой. Просмотрщик документов идеально подходит для контента, где анимация перелистывания не нужна — отчёты, технические руководства, контракты и юридические документы. Все функции FlipLink — [аналитика](/features/analytics-and-insights), [захват лидов](/features/lead-capture), [защита паролем](/features/password-protection), [пользовательский брендинг](/features/branding-and-design) и [CTA-кнопки](/features/cta-buttons) — работают с документами PDF.js точно так же, как с флипбуками.
Технические детали
PDF.js работает полностью на стороне клиента. После загрузки библиотеки в браузер она получает бинарные данные PDF, парсит таблицу перекрёстных ссылок документа и рендерит каждую страницу с помощью Canvas 2D API. Отдельный текстовый слой накладывается поверх canvas для обеспечения выделения текста, копирования-вставки и поиска по документу. Этот двухслойный подход — canvas для визуальной точности, DOM-наложение для интерактивности — позволяет PDF.js воспроизводить сложные макеты, одновременно поддерживая функции доступности, такие как совместимость с программами чтения с экрана. Поскольку рендеринг происходит в браузере, серверная обработка после начальной загрузки файла не требуется, что снижает задержки и затраты на сервер.
PDF.js против нативного PDF-просмотрщика
Большинство браузеров имеют встроенный PDF-просмотрщик, но они значительно различаются по функциональности и поведению. Просмотрщик Chrome рендерит PDF как встроенные объекты с базовой прокруткой и масштабированием. Safari использует собственный рендерер на базе Preview. Просмотрщик Firefox — это фактически сам PDF.js. Эта несогласованность означает, что издатели не могут предсказать, какой опыт получат их читатели. PDF.js решает эту проблему, предоставляя единый, консистентный рендерер под контролем платформы. В отличие от нативных просмотрщиков, PDF.js поддерживает пользовательские UI-наложения (для форм [захвата лидов](/features/lead-capture) или [CTA-кнопок](/features/cta-buttons)), отслеживание событий (для [аналитики](/features/analytics-and-insights)) и ограничения доступа (для [защиты паролем](/features/password-protection)) — ничего из этого невозможно с обработчиком PDF по умолчанию в браузере.
Ключевой вывод
PDF.js превращает статические PDF-файлы в интерактивные, отслеживаемые веб-документы с единообразным опытом на каждом браузере и устройстве — становясь основой для платформ вроде FlipLink, которым необходимо сочетать точность документа с функциями вовлечения.