Просмотр PDF-файлов на сайте с помощью компонента bitrix:pdf.viewer

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

Просмотр 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>
        

Решение частых проблем

Конфликт с расширениями браузера

При некорректной работе компонента:

  1. Проверьте отключение IDM и аналогичных менеджеров загрузок
  2. Убедитесь в правильности пути к файлу
  3. Проверьте 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; ?>
        
Теги:  просмотр PDF, встроенный просмотр, полноэкранный режим, печать PDF, кастомизация, интеграция компонентов, настройка PDF, оптимизация производительности, решение проблем, примеры использования, компонент для PDF

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Участие в проекте

привлечение в проект на part-time основе

от 20 000 рублей / неделя

Возможно участие в проекте на ежедневной основе, как разработчика. Занятость - до 20 часов в неделю
Минимальный срок - одна неделя.

* сумма фиксированная

Лендинг

от 3 дней

от 25 000 рублей

Разработка одностраничного сайта на платформе Битрикс

* стоимость зависит от наличия верстки, использования готового решения и т.д.

Аутсорсинг

готов помочь, если нет времени

договорная

Могу взять на себя работы по full-stack на основе готовой верстки

* если нет верстки, то возможность верстать с Figma в режиме редактора