PDF.js Viewer

Описание

Добавьте на свои страницы и в записи средство просмотра PDF.js от Mozilla с помощью блока Gutenberg или простого шорткода. PDF.js — это библиотека JavaScript для отображения PDF-файлов в браузерах.

Функции:

  • Блок и шорткод Gutenberg
  • Виджет Elementor (автоматически определяет, когда Elementor активен)
  • Поддержка перевода (только для плагина): включены испанский и французский языки, поддержка других языков в разработке.
  • Элегантная тема, адаптирующаяся к тёмному и светлому режимам (если браузер поддерживает динамический CSS)
  • Настраиваемые кнопки
  • Панель навигации по страницам
  • Функционал поиска
  • Защищённый ввод пароля для просмотра PDF
  • Индикатор загрузки и отображение частично загруженного PDF-файла (отлично подходит для больших PDF-файлов).
  • Структура документа
  • Классический редактор: простая в использовании кнопка для редактирования медиафайлов, которая генерирует шорткод.
  • Поддержка мобильных устройств
  • Адаптивный дизайн с поддержкой мобильных устройств

Синтаксис шорткода:

[pdfjs-viewer attachment_id=123 viewer_width=600px viewer_height=700px fullscreen=true download=true print=true]

Или используйте прямой URL:

[pdfjs-viewer url=http://www.website.com/test.pdf viewer_width=600px viewer_height=700px fullscreen=true download=true print=true]

Параметры шорткода:

  • attachment_id (рекомендуется): ID медиафайла в библиотеке WordPress.
  • url (альтернативный вариант): прямой URL PDF-файла. По возможности используйте attachment_id для пущей безопасности.
  • viewer_width (необязательно): ширина просмотрщика (по умолчанию: 100%)
  • viewer_height (необязательно): высота просмотрщика (по умолчанию: 800px)
  • fullscreen (необязательно): true/false, отображает кнопку полноэкранного отображения документы (по умолчанию: true)
  • fullscreen_text (необязательно): текст для ссылки на полноэкранный режим (по умолчанию: Просмотр в полноэкранном режиме)
    • Пробелы не допускаются! Вместо пробелов используйте %20.
  • fullscreen_target (необязательно): true/false, открывать документ в полноэкранном режиме в новой вкладке (по умолчанию: false)
  • download (необязательно): true/false, включает/отключает кнопку загрузки (по умолчанию: true)
  • print (необязательно): true/false, включает/отключает кнопку печати (по умолчанию: true)
  • openfile (необязательно): true/false, отображение кнопки открытия файла (по умолчанию: false)
  • zoom (optional): Начальный уровень масштабирования — auto, page-actual, page-fit, page-width, или процент, например 75, 100, 150 (default: auto)

Виджет Elementor

Если вы используете Elementor, виджет PDF.js Viewer Elementor автоматически доступен в конструкторе страниц.

Уведомление администратора после обновления/выявления проблем с блоком.

При обновлении плагина редакторы могут увидеть баннер администратора, в котором объясняется, что при редактировании старых записей с PDF-файлами в Gutenberg может появиться запрос «Попытка восстановления блока». При нажатии на баннер формат блока обновляется, но это не влияет на то, что видят посетители. Вы можете закрыть баннер, и он не появится до тех пор, пока в следующем обновлении его снова не включат.

Лицензия

Этот плагин для WordPress распространяется по лицензии GPLv2 или более поздней версии.

PDF.js (входит в состав этого плагина) разработан компанией Mozilla и распространяется по лицензии Apache 2.0. Подробнее см. в репозитории PDF.js.

3.1.1

  • Повторно активирована альтернативная загрузка PDF, устранена проблема с полноэкранным режимом, если он был включён.
  • Исправлена ошибка, из-за которой виджеты не загружали настройки по умолчанию со страницы настроек.
  • Обновлён способ загрузки виджета Elementor, чтобы он работал лучше.
  • Внутренняя очистка кода.
  • Обновления переводов.

3.1.0

  • Удаление кэша для надоедливого файла pdf.worker.js, чтобы избежать проблем с кэшированием после обновлений.
  • Добавлен виджет Elementor.
  • Масштабирование возвращено.
  • Возможность добавлять в белый список другие домены (например, CDN) для загрузки PDF-файлов.

3.0.4

  • Удаление кэша файлов PDF.js для предотвращения проблем с кэшированием после обновлений.

3.0.3.1

  • Исправлена кодировка URL.

3.0.3

  • PDFjs 5.5.207.
  • Улучшено кодирование URL PDF-файлов со спецсимволами в названиях файлов и URL.
  • Повышенная безопасность благодаря улучшенной очистке параметров файла.

3.0.2

  • Добавлена функция кэширования файлов PDFjs, чтобы избежать проблем с кэшированием после обновлений.

3.0.1

  • Исправлена проблема с файлами mjs на серверах, которые не поддерживают тип MIME.

3.0.0

  • Теперь требуется WordPress 5.0 и PHP 7.4.
  • PDFjs обновлён до версии 5.4.456.
  • Добавлена функция предварительного просмотра PDF в блоке Gutenberg.
  • Уведомление администратора о восстановлении блока после обновлений.
  • Улучшения доступности.
  • Переработан код блока встраивания редактора в PDF.
  • Улучшения страницы настроек.
  • Добавлено сообщение, поэтому, если пользователь попытается загрузить внешние PDF-файлы, он получит предупреждение.
  • Поддержка перевода: добавлена поддержка интернационализации.
    • Включены переводы на испанский (es_ES) и французский (fr_FR) языки.
    • Добавлен шаблон перевода (файл POT) для дополнительных языков.
    • Добавлена функция load_plugin_textdomain() для автоматической загрузки перевода.
    • Создано руководство по переводу в languages/README.md.
  • Исправлены ошибки, связанные с неопределённостью window.pdfjs_options в редакторе блоков.
  • Добавлен безопасный запасной вариант для предотвращения ошибок JavaScript при отсутствии загруженных параметров.
  • Улучшена обработка атрибутов по умолчанию в блоке Gutenberg.
  • Добавлена функция предварительного просмотра PDF в редакторе блоков Gutenberg.
  • Объединённая логика рендеринга с новой функцией pdfjs_render_viewer().
  • Создан вспомогательный метод pdfjs_get_options() для единообразного получения параметров.
  • Добавлена надлежащая очистка входных данных с помощью pdfjs_sanitize_option().
  • Изменён параметр pdfjs_viewer_scale по умолчанию с 0 на auto.
  • Обновлён набор инструментов для сборки (Sass, webpack, требуется Node 18+).
  • Удалён неиспользуемый код и улучшена организация кода.
  • Добавлен .nvmrc для управления версиями Node.
  • Исправлено предупреждение PHP: неопределённый ключ массива «editButtons» благодаря retroflexer.
  • Исправлена ​​ошибка, из-за которой iFrame могл нарушать макет на экранах меньшего размера.

2.2.3

  • Обновлён PDFjs до версии 5.3.93.
  • Объединение PR-запроса «Добавить переключатель для отключения кнопок редактирования».
  • Объединение PR-запросов «Исправление предупреждений PHP: неопределенный ключ массива».
  • Пакетные обновления для системы безопасности / перестройка.

2.2.2

  • PDFjs с поддержкой устаревших браузеров.

2.2.1

  • Обходной путь .mjs.
  • Обновлён до версии PDFjs 4.5.136.

2.2

  • Обновлён до версии PDFjs 4.3.136.
  • Переименовано в «Скачать» в связи с изменением в PDFjs.
  • Убрана функция масштабирования, чтобы решить проблемы с Edge.
  • Отключение альтернативной версии загрузки PDF.

2.1.8

  • Запрет на добавление JS в шорткоды.
  • Изменение номеров версий.

2.1.7

  • Исправлены настройки полноэкранного режима для новых PDF-файлов.
  • Исправлена ошибка, из-за которой при новой установке полноэкранный текст отображался в режиме «включено».
  • Протестировано на WordPress 6.0-beta3-53297.

2.1.6

  • Добавлена поддержка тестирования до версии WordPress 5.9.
  • Добавлено ещё несколько переменных в альтернативную версию загрузки PDF.
  • Перенесена альтернативная загрузка PDF в бета-версию.

2.1.5

  • Обнаружение ACF перед выполнением кода ACF.
  • Бета-версия: добавлен флаг функции для загрузки PDF в полноэкранном режиме.

2.1.4

  • Расшифровка URL-адресов PDF, закодированных другими плагинами в классическом редакторе.

2.1.3

  • Добавление номера версии в некоторые JS-файлы для обхода кэширования.
  • Устранена проблема, из-за которой в полноэкранном тексте не было пробелов.
  • Обновление шорткода в файле readme.

2.1.2

  • Возврат к файлу по указанному URL.

2.1.1

  • Обновлён способ обращения к каталогу плагинов WordPress.
  • Обновление имён функций.
  • Улучшение очистки данных.

2.1.0

  • Добавили ID файла в URL.
  • Подключён WordPress к программе просмотра, чтобы получать URL. Это должно устранить некоторые возможные проблемы с безопасностью.
  • Удалены данные файла из URL.
  • Удалён фильтр pdfjs_set_custom_edits.
  • Удалён фильтр pdfjs_set_custom_domain.
  • Система очистки данных.
  • Удаление поискового запроса.

2.0.2

  • Защита от межсайтового скриптинга с помощью поискового запроса.

2.0.1

  • Теперь работает с полями ACF! Спасибо @imj13.

2.0.0

  • Крупное обновление PDFjs до версии 2.6.347.
  • Изменена кнопка вставки PDF так, чтобы она срабатывала при выборе класса, а не идентификатора.
  • Обновлена минимальная поддерживаемая версия WordPress.
  • Может, теперь Edge счастлив?

1.5.9

  • Устранена проблема, из-за которой Edge был недоволен.

1.5.8

  • Начало подключения страницы с опциями к шорткоду.
  • Устранена потенциальная проблема с внедрением кода.
  • Исправление для темы WordPress 2021.

1.5.7

  • Исправление для тех, кто не использует WordPress 5 и новее, где возникала критическая ошибка из-за того, что вызываемой функции не существовало.

1.5.6

  • Новая страница с настройками параметров по умолчанию.
  • Кнопка добавления PDF отображалась только в записях, созданных с помощью классического редактора.
  • Добавлен фильтр для передачи пользовательского домена при проксировании URL. pdfjs_set_custom_domain.
  • Добавлен фильтр для редактирования URL-адреса PDF. pdfjs_set_custom_edits.
  • Возможность скрыть поиск с помощью настроек на странице параметров.
  • Возможность отображать боковую панель с помощью настроек на странице параметров.
  • Возможность выделять искомый термин при загрузке PDF.

1.5.5

  • Дай пять 🖐

1.5.4

  • Изменение способа указания относительного URL-адреса PDF.

1.5.3

  • Удаление из URL только первого вхождение доменного имени. Оставление его, если оно указано в названии каталога или файла.

1.5.2

  • URL-адрес PDF сделан относительным, чтобы Microsoft Defender не выдавал ошибку.
  • Возможность напрямую вызывать программу просмотра.
  • Скрытие кнопки «Открыть».
  • Проверка наличия функции register_block_type перед её вызовом для лучшей поддержки WordPress 4.x. Спасибо @Now-Italy-Demo @octoxan.
  • Изменён относительный URL-адрес PDF, чтобы устранить проблемы с безопасностью в Защитнике Windows.
  • Добавлена возможность открывать файл в полноэкранном режиме в новой вкладке.

1.5.1

  • Отменено обновление библиотеки Mozilla PDF.JS, так как оно приводило к сбоям в старых браузерах и некоторых других системах.

1.5

  • Обновлено название плагина.
  • Обновлён значок плагина.
  • Блок Gutenberg.
  • Обновление библиотеки Mozilla PDF.JS.
  • Добавление класса к ссылке на режим полноэкранного просмотра.
  • Возможность настроить текст кнопки открытия полноэкранного режима.
  • Возможность настроить уровень масштабирования по умолчанию.
  • Классы, упрощающие оформление.
  • Меньшая высота по умолчанию.

1.4.6

  • Переименование переменных URL для предотвращения возможного появления сообщения о нарушении безопасности в Edge.

1.4.5

  • Устранена проблема с номером версии, возникшая в предыдущей версии.

1.4.4

  • Возвращение возможности скрывать кнопок печати и скачивания.
  • Добавлены номера версий к URL-адресам, чтобы очистить кэш и избежать проблем.

1.4.3

  • Устранена проблема, из-за которой PDF-файлы не загружались на рабочих сайтах из-за ошибки setLanguage.

1.4.2

  • Добавил заголовок в iFrame для удобства пользователей.
  • Очистка кода в соответствии со стандартами WordPress.

1.4.1

  • Обновление Readme.

1.4

  • Обновление до версии PDF.JS v2.3.200.
  • Обновление Readme.
  • Добавление вызова Gutenberg.

1.0 — 1.3

  • Создание плагина и первые версии.

Скриншоты

Блоки

Этот плагин предоставляет 1 блок.

  • Embed PDF.js Viewer

Установка

Этот плагин можно установить либо напрямую из панели администратора WordPress, выполнив поиск по запросу PDF.js Viewer, либо загрузив его из репозитория плагинов WordPress, распаковав архив и переместив его в каталог wp-content/plugins вашего сайта.

Отзывы

26.08.2025
I’ve been using for years and never failed. Simple to use and does the job.
03.03.2025
I have been usiong a paid pdf plugin but it’s been months now with a bad fault so i tried this — perfect! Thank you very much.
09.07.2024
I was impressed with the level of support provided with the recent issue where the plugin stopped displaying due to Mozilla’s PDFjs, and they started using mjs files. Thank you for an excellent plugin.
02.07.2024 2 ответа
The plugin doesn’t work when it is updated to version 2.2. Are there any CORS issues?
29.06.2024 1 ответ
Version 2.2 not working on wordpress 6.5.5. And cannot be reactivated after deactivation.
15.06.2024 1 ответ
After updating to v 2.2, pdf files are not displayed with a shortcode.I don’t want to underestimate the rating, because the plugin worked great for many years before.
Посмотреть все 53 отзыва

Участники и разработчики

«PDF.js Viewer» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

«PDF.js Viewer» переведён на 7 языков. Благодарим переводчиков за их работу.

Перевести «PDF.js Viewer» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.