Как сохранить HTML-страницу или файл в формате PDF

Иван Корнев·26.05.2026·6 мин

Самый быстрый способ преобразовать HTML в PDF — открыть файл или страницу в браузере (Chrome, Edge, Firefox) и использовать функцию «Печать» (Ctrl+P / Cmd+P), выбрав в качестве принтера опцию «Сохранить как PDF». Этот метод не требует установки стороннего ПО и подходит для разовых задач. Для сложной верстки, автоматизации или пакетной обработки лучше использовать специализированные утилиты (например, wkhtmltopdf) или профессиональные редакторы PDF.

Когда и зачем нужна конвертация

PDF (Portable Document Format) фиксирует внешний вид документа, гарантируя, что шрифты, отступы и изображения останутся на своих местах при открытии на любом устройстве. HTML же зависит от браузера и размера экрана.

Конвертация необходима в следующих случаях:

  • Архивация: Сохранение веб-статей, инструкций или билетов для офлайн-доступа.
  • Деловая переписка: Отправка счетов, коммерческих предложений или отчетов, где недопустимо изменение формата.
  • Полиграфия: Подготовка макетов лендингов или статей к печати на бумаге.
  • Юридическая фиксация: Сохранение доказательства наличия информации на сайте в конкретный момент времени.

Если вам нужно просто быстро сохранить информацию, используйте встроенные средства браузера. Если требуется строгое соответствие корпоративному шаблону или массовая генерация документов, обратитесь к программным решениям.

Способ 1: Встроенная печать в браузере

Этот метод работает в Google Chrome, Microsoft Edge, Яндекс.Браузере, Opera и Firefox. Он идеален для локальных .html файлов и открытых веб-страниц.

Пошаговая инструкция

  1. Откройте документ. Загрузите HTML-файл в браузер двойным кликом или перетащите его в окно обозревателя.
  2. Вызовите меню печати. Нажмите Ctrl + P (Windows/Linux) или Cmd + P (macOS). Также можно найти опцию в меню браузера (три точки/полоски → Печать).
  3. Выберите принтер. В поле «Принтер» или «Назначение» выберите «Сохранить как PDF» (Save as PDF) или «Microsoft Print to PDF».
  4. Настройте параметры.
    • Ориентация: Книжная или альбомная.
    • Поля: Минимальные, если нужно вместить больше контента, или стандартные для официального вида.
    • Масштаб: Уменьшите (например, до 90%), если контент не влезает по ширине.
    • Фон: Поставьте галочку «Фоновые изображения и цвета», если дизайн страницы теряет вид без них.
  5. Сохраните. Нажмите кнопку «Сохранить» и выберите папку на компьютере.

Внимание на колонтитулы! По умолчанию браузер добавляет дату, название страницы и номер листа внизу и вверху. Чтобы получить чистый документ, найдите раздел «Дополнительно» и снимите галочку с пункта «Колонтитулы» (Headers and footers).

Особенности браузеров

  • Chrome/Edge: Имеют отличный предпросмотр. Позволяют точно настроить масштаб и поля.
  • Firefox: В новых версиях также имеет встроенный экспорт в PDF, но интерфейс настроек может отличаться. Если опции скрыты, используйте системный диалог печати ОС.
  • Safari (macOS): Меню «Файл» → «Экспортировать как PDF» часто дает более чистый результат, чем стандартная печать, так как лучше обрабатывает векторные элементы.

Способ 2: Десктопные программы и онлайн-сервисы

Если браузер искажает верстку (съезжают блоки, пропадают картинки), стоит использовать специализированный софт.

Adobe Acrobat Pro

Профессиональный стандарт. Позволяет не просто конвертировать, но и редактировать полученный PDF.

  • Как использовать: Откройте Acrobat, выберите «Создать PDF» → «Веб-страница» или «Файл». Вставьте URL или выберите локальный HTML.
  • Плюсы: Высокое качество, настройка параметров конвертации, распознавание текста (OCR).
  • Минусы: Платный, тяжеловесный для простой задачи.

Онлайн-конвертеры (Smallpdf, IlovePDF, HiPDF)

Подходят, если нет возможности установить ПО.

  • Как использовать: Загрузите HTML-файл на сайт, нажмите «Конвертировать», скачайте результат.
  • Плюсы: Работают с любого устройства, включая смартфоны.
  • Минусы: Ограничение на размер файла, риски конфиденциальности (не загружайте документы с персональными данными), зависимость от скорости интернета.

Способ 3: Командная строка (для разработчиков)

Для автоматизации, массовой генерации отчетов или интеграции в CI/CD процессы используются утилиты командной строки. Самый популярный инструмент — wkhtmltopdf (или его современные аналоги на базе Headless Chrome, например, Puppeteer).

Использование wkhtmltopdf

Инструмент использует движок WebKit для рендеринга, поэтому результат максимально близок к тому, что вы видите в браузере.

  1. Установите утилиту с официального сайта.
  2. Откройте терминал (CMD, PowerShell или Bash).
  3. Выполните команду:
wkhtmltopdf input.html output.pdf

Можно передавать дополнительные параметры для точной настройки:

wkhtmltopdf --page-size A4 --margin-top 10mm --disable-smart-shrinking input.html output.pdf

Преимущества:

  • Полная автоматизация.
  • Возможность генерации PDF из скриптов (Python, PHP, Node.js).
  • Консистентность результата на сервере.

Сравнение методов конвертации

МетодСложностьКачество версткиАвтоматизацияДля кого
Печать в браузереНизкаяСреднее (зависит от CSS)НетОбычные пользователи, разовые задачи
Онлайн-сервисыНизкаяХорошееНетПользователи мобильных устройств
Adobe AcrobatСредняяОтличноеЧастично (Pro версии)Офисные сотрудники, дизайнеры
CLI (wkhtmltopdf)ВысокаяОтличное (настраиваемое)ДаРазработчики, системные администраторы

Настройка CSS для идеальной печати

Частая проблема при конвертации — «поломанная» верстка. Браузеры используют разные стили для экрана (screen) и для печати (print). Если HTML-страница не адаптирована под печать, PDF будет выглядеть плохо.

Если у вас есть доступ к коду страницы, добавьте специальные CSS-правила:

  1. Управление разрывами страниц. Чтобы таблица или заголовок не разрывались посередине:
    .no-break {
      page-break-inside: avoid;
    }
    h1, h2 {
      page-break-after: avoid;
    }
    ```
2.  **Скрытие лишних элементов.** Уберите меню, кнопки и рекламу из PDF:
    
```css
    @media print {
      .navbar, .footer, .ads {
        display: none !important;
      }
      body {
        font-size: 12pt; /* Оптимальный размер для чтения с бумаги */
      }
    }
    ```
3.  **Фиксация ширины.** Убедитесь, что контейнеры имеют фиксированную ширину или проценты, а не жесткие пиксели, которые могут выйти за границы листа A4.

Лайфхак для проверки: В Chrome нажмите F12 (DevTools), затем Ctrl+Shift+P, введите Rendering и найдите секцию «Emulate CSS media type». Выберите print. Вы увидите, как страница будет выглядеть в PDF, еще до сохранения.

Частые ошибки и их решение

  1. Обрезанный контент по краям.

    • Причина: Слишком большие поля или широкий контент.
    • Решение: Уменьшите поля в настройках печати или добавьте @page { margin: 1cm; } в CSS.
  2. Отсутствуют фоновые цвета и картинки.

    • Причина: Браузеры экономят краску и по умолчанию отключают фон.
    • Решение: В диалоге печати поставьте галочку «Фоновые изображения» или используйте CSS -webkit-print-color-adjust: exact;.
  3. Пустые страницы в конце или середине.

    • Причина: Лишние отступы (margin) или жесткие разрывы страниц.
    • Решение: Проверьте элементы с большими margin-bottom и удалите лишние <div> или <br>.
  4. Неподгруженные шрифты.

    • Причина: Локальный HTML ссылается на шрифты из интернета, а при сохранении нет доступа к сети или пути неверны.
    • Решение: Используйте веб-безопасные шрифты (Arial, Times New Roman) или встраивайте шрифты в base64 внутри CSS.

FAQ

Можно ли конвертировать HTML в PDF на телефоне? Да. На iOS и Android откройте HTML-файл в браузере (Chrome или Safari), нажмите «Поделиться» → «Печать» и в интерфейсе предпросмотра сохраните файл как PDF. Также можно использовать онлайн-конвертеры через мобильный браузер.

Почему PDF выглядит не так, как страница в браузере? Браузер адаптирует контент под ширину экрана, а PDF имеет фиксированный формат листа (обычно A4). Элементы, которые на экране стоят в ряд, на листе могут перенестись вниз. Используйте медиа-запросы @media print для адаптации.

Как сохранить страницу с динамическим контентом (JavaScript)? Простая печать может не захватить данные, подгружаемые скриптами. Дождитесь полной загрузки страницы. Если это не помогает, используйте инструменты вроде Puppeteer (Headless Chrome), которые ждут выполнения JS перед рендерингом PDF.

Безопасно ли использовать онлайн-конвертеры для документов с паролями? Нет. Не рекомендуется загружать конфиденциальные данные (паспорта, финансовые отчеты) на сторонние серверы. Для таких задач используйте локальные методы: печать в браузере или установленное ПО.