Описание
Добавьте на свои страницы и в записи средство просмотра 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 вашего сайта.
Отзывы
Участники и разработчики
«PDF.js Viewer» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:
Участники«PDF.js Viewer» переведён на 7 языков. Благодарим переводчиков за их работу.
Перевести «PDF.js Viewer» на ваш язык.
Заинтересованы в разработке?
Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.



