В современном веб-разработке важно обеспечить пользователям удобный доступ к различным типам контента, включая PDF-документы. Компонент bitrix:pdf.viewer от 1С-Битрикс предоставляет мощный и гибкий инструмент для отображения PDF-файлов непосредственно на страницах вашего сайта. В этой статье мы рассмотрим основные возможности компонента, практические примеры его использования, а также дадим рекомендации по решению частых проблем и оптимизации производительности. С помощью bitrix:pdf.viewer вы сможете значительно улучшить пользовательский опыт, предоставляя посетителям вашего сайта возможность просматривать и печатать документы без необходимости их скачивания.

Возможности компонента pdf.viewer
Стандартный компонент 1С-Битрикс для отображения PDF-документов непосредственно на страницах сайта. Основные преимущества:
- Встроенный просмотр без скачивания файла
- Поддержка полноэкранного режима
- Интеграция кнопки печати
- Кастомизация размеров области просмотра
Практические примеры использования
Пример 1: Базовое подключение
<?$APPLICATION->IncludeComponent(
"bitrix:pdf.viewer",
"",
array(
"PATH" => "/upload/document.pdf",
"WIDTH" => "100%",
"HEIGHT" => "800"
)
);?>
Пример 2: Полноэкранный режим с печатью
<?$APPLICATION->IncludeComponent(
"bitrix:pdf.viewer",
"",
array(
"PATH" => "/upload/price-list.pdf",
"IFRAME" => "Y",
"PRINT" => "Y",
"TITLE" => "Прайс-лист 2024"
)
);?>
Пример 3: Кастомный идентификатор и стили
<?$APPLICATION->IncludeComponent(
"bitrix:pdf.viewer",
"",
array(
"VIEWER_ID" => "custom_pdf_viewer",
"PATH" => "/upload/manual.pdf",
"WIDTH" => "720",
"HEIGHT" => "1024"
)
);?>
<style>
#outerContainer_custom_pdf_viewer {
border: 2px solid #eee;
border-radius: 10px;
margin: 20px 0;
}
</style>
Решение частых проблем
Конфликт с расширениями браузера
При некорректной работе компонента:
- Проверьте отключение IDM и аналогичных менеджеров загрузок
- Убедитесь в правильности пути к файлу
- Проверьте MIME-типы на сервере
Оптимизация производительности
// Добавьте в init.php
AddEventHandler("main", "OnBeforeProlog", function() {
CJSCore::Init(array("pdf_viewer_optimized"));
});
\Bitrix\Main\Page\Asset::getInstance()->addJs(
'/bitrix/js/pdf.viewer/pdfjs/pdf.min.js',
true
);
Расширенные настройки компонента
Параметр | Тип | Описание |
---|---|---|
VIEWER_ID | string | Уникальный ID для кастомизации через CSS/JS |
PATH | string | Абсолютный путь от корня сайта (/upload/docs/file.pdf) |
IFRAME | Y/N | Режим отдельной страницы с собственной разметкой |
PRINT_URL | string | Страница для печати (требует отдельной настройки) |
Интеграция с другими компонентами
<? // В компоненте списка документов
foreach ($arResult['ITEMS'] as $item): ?>
<div class="document-preview">
<?$APPLICATION->IncludeComponent(
"bitrix:pdf.viewer",
"compact",
array(
"PATH" => $item['FILE_PATH'],
"WIDTH" => "300",
"HEIGHT" => "400"
)
);?>
</div>
<?endforeach; ?>