Просмотрщики для новых и для старых браузеров
В поставку входят полный интерфейс, локальный worker и ресурсы каждого просмотрщика. Выберите URL:
- Для новых браузеров:
/media/plg_system_wtpdfjs/viewer/modern/web/viewer.html. - Для старых браузеров:
/media/plg_system_wtpdfjs/viewer/legacy/web/viewer.html.
На родительской странице useScript() не нужен: viewer загружает свою библиотеку внутри отдельного окна. Вариант для старых браузеров тоже использует ES-модули; это не обещание поддержки Internet Explorer. Проверьте целевые браузеры.
PDF передайте в query-параметре file, профиль — в config, страницу и масштаб — после #. Пример содержит ссылку и iframe; выберите подходящий интерфейс. Uri::root(true) учитывает установку Joomla в подпапке. Для старых браузеров замените в viewer URL каталог modern на legacy.
Пример PHP
<?php
use Joomla\CMS\Uri\Uri;
$root = Uri::root(true);
$pdfUrl = $root . '/images/documents/catalog.pdf';
$viewerUrl = $root . '/media/plg_system_wtpdfjs/viewer/modern/web/viewer.html';
$query = http_build_query(
['file' => $pdfUrl, 'config' => 'catalog.json'],
'', '&', PHP_QUERY_RFC3986
);
$src = $viewerUrl . '?' . $query . '#page=1&zoom=page-width';
$escapedSrc = htmlspecialchars($src, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
?>
<p><a href="<?php echo $escapedSrc; ?>" target="_blank" rel="noopener">PDF</a></p>
<iframe src="<?php echo $escapedSrc; ?>" title="PDF document"
loading="lazy" style="width:100%;height:75vh;border:0" allowfullscreen>
</iframe>