Конвертировать HTML в PDF — все способы

Перевести HTML в PDF можно 4 способами: через браузер, онлайн-конвертер, десктопную программу или код. Пошаговые инструкции для каждого.

Конвертер HTML в PDF: оценка способов

Способ конвертации

HTML-страницу можно перевести в PDF-документ несколькими способами: через браузер, онлайн-конвертер, десктопную программу или программную библиотеку. Нижеперечисленные методы не требуют специальных знаний и подходят для разных сценариев — от быстрого сохранения одной страницы до автоматизации пакетной конвертации.


Способ 1: сохранить HTML в PDF через браузер

Это самый быстрый метод — не нужно ничего скачивать или устанавливать. Подходит, если у вас уже есть HTML-файл, который открывается в браузере.

Google Chrome

  1. Откройте HTML-файл в Chrome (перетащите файл в окно браузера или нажмите Ctrl+O).
  2. Нажмите Ctrl+P (или ⌘+P на macOS).
  3. В поле «Принтер» выберите «Сохранить как PDF».
  4. Настройте размер бумаги, поля, ориентацию и масштаб.
  5. Нажмите «Сохранить» и укажите путь.

Mozilla Firefox

  1. Откройте файл в Firefox.
  2. Нажмите Ctrl+P.
  3. В диалоге печати выберите принтер «Microsoft Print to PDF» (Windows) или «Сохранить в PDF» (macOS).
  4. Настройте параметры и сохраните.

Microsoft Edge

Алгоритм аналогичен Chrome — Edge построен на том же движке Chromium. Нажмите Ctrl+P → «Принтер» → «Сохранить как PDF».

Safari (macOS)

  1. Откройте HTML-файл в Safari.
  2. Меню «Файл» → «Экспорт в PDF».
  3. Укажите имя и папку.

Важно: при печати из браузера внешние стили и изображения подгружаются с реальных URL. Если HTML-файл ссылается на локальные ресурсы по относительным путям, они могут не отобразиться. В таком случае предварительно откройте файл через локальный сервер или конвертируйте через онлайн-сервис с загрузкой ZIP-архива.


Способ 2: онлайн-конвертеры HTML в PDF

Онлайн-сервисы удобны, когда нужно быстро конвертировать файл без установки ПО. Загрузите HTML-файл или вставьте URL страницы — сервис вернёт готовый PDF.

Как работают популярные онлайн-конвертеры

Параметр Типичные возможности
Загрузка Файл .html / .htm, ZIP-архив, URL страницы
Размер Обычно до 50–100 МБ на файл
Время 5–30 секунд на стандартный файл
Доступ Бесплатно с ограничениями, без регистрации
Хранение Автоудаление через 1–24 часа

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

  1. Откройте онлайн-конвертер в браузере.
  2. Загрузите HTML-файл кнопкой «Выбрать файл» или перетащите его в окно страницы.
  3. Если конвертер поддерживает URL — вставьте ссылку на веб-страницу.
  4. Дождитесь обработки и нажмите «Скачать PDF».
  5. Проверьте результат: откройте PDF и убедитесь, что все элементы отображаются корректно.

Что проверить в готовом PDF

  • Изображения — загрузились ли они все или вместо них пустые рамки.
  • Шрифты — совпадают ли с оригиналом, не заменились ли на стандартные.
  • Таблицы и списки — сохранилась ли структура, не «поехала» ли вёрстка.
  • Ссылки — кликабельные ли они внутри PDF (многие конвертеры сохраняют гиперссылки).
  • Разбивка на страницы — не разрезает ли контент посередине абзаца или таблицы.

Способ 3: десктопные программы

Для регулярной работы или работы с конфиденциальными файлами подойдут локальные приложения.

Adobe Acrobat Pro

Позволяет создавать PDF из HTML через функцию «Создать» → «Из файла» или через встроенный HTML-to-PDF движок. Поддерживает настройку размера страницы, тегов доступности и профилей PDF/A для архивирования.

LibreOffice Writer

Откройте HTML-файл в Writer, затем «Файл» → «Экспорт в PDF». LibreOffice корректно обрабатывает базовую вёрстку — заголовки, таблицы, списки, встроенные стили. Сложные CSS-эффекты (flexbox, grid, анимации) могут не поддерживаться.

Pandoc (командная строка)

pandoc input.html -o output.pdf

Pandoc использует LaTeX или wkhtmltopdf в качестве рендер-движка. Подходит для документов с чёткой текстовой структурой: статей, документации, отчётов. Изображения и базовые стили поддерживаются, сложная вёрстка — частично.


Способ 4: программные библиотеки (для разработчиков)

Если конвертация HTML в PDF нужна в рамках приложения или автоматического пайплайна, используйте специализированные библиотеки.

Puppeteer / Playwright (Node.js)

Обе библиотеки управляют headless-версией Chromium и генерируют PDF через метод page.pdf():

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com', { waitUntil: 'networkidle0' });
  await page.pdf({ path: 'output.pdf', format: 'A4' });
  await browser.close();
})();

Плюсы: полная поддержка CSS, JavaScript, веб-шрифтов. Рендеринг идентичен Chrome.

Минусы: требуется установка Chromium (≈150–300 МБ).

wkhtmltopdf

Легковесная утилита командной строки на базе движка WebKit:

wkhtmltopdf https://example.com output.pdf

Подходит для серверных сценариев, где нет возможности запускать Chromium. Поддерживает оглавление, колонтитулы, JavaScript (с задержкой).

WeasyPrint (Python)

from weasyprint import HTML
HTML(filename='page.html').write_pdf('output.pdf')

Чистый Python без внешних зависимостей вроде Chromium. Поддерживает CSS Paged Media — разбивку на страницы, колонтитулы, счётчики страниц. Хороший выбор для генерации счетов, сертификатов, отчётов.

iText / Apache PDFBox (Java)

Библиотеки для серверных Java-приложений. iText предлагает продвинутую работу с PDF-тегами, формами и цифровыми подписями. PDFBox — свободная альтернатива с базовой конвертацией.


На что обратить внимание при конвертации

Внешние ресурсы

HTML-страницы часто ссылаются на внешние CSS, шрифты и изображения. Если конвертер не имеет доступа к интернету (или файл открывается по протоколу file://), эти ресурсы не подгрузятся. Решения:

  • Встройте CSS и шрифты прямо в HTML (тег <style>, base64-кодирование).
  • Упакуйте HTML и все ресурсы в ZIP-архив и загрузите его в конвертер.
  • Запускайте конвертацию через локальный сервер (http-server, python -m http.server).

Размер и ориентация страницы

PDF имеет фиксированные размеры, в отличие от резиновой HTML-страницы. Задайте параметры явно:

Параметр Типичные значения
Формат A4 (210×297 мм), Letter (216×279 мм)
Ориентация Книжная (портрет), альбомная (ландшафт)
Поля 10–25 мм с каждой стороны
Масштаб 100% или «подогнать под ширину»

Кодировка

Если текст в PDF отображается «кракозябрами», проверьте: в HTML-файле объявлена ли кодировка UTF-8 (<meta charset="UTF-8">). Большинство современных конвертеров ожидают UTF-8 по умолчанию, но файлы в Windows-1251 или ISO-8859-1 могут вызвать проблемы.

Кликабельные ссылки и закладки

Не все методы сохраняют гиперссылки. Браузерная печать и большинство онлайн-конвертеров сохраняют их. wkhtmltopdf и WeasyPrint — тоже. Программные библиотеки (PDFBox, iText) позволяют добавлять ссылки вручную.


Какой способ выбрать

Сценарий Рекомендуемый метод
Быстро сохранить одну страницу Браузер: Ctrl+P → «Сохранить как PDF»
Конвертировать файл без установки ПО Онлайн-конвертер
Конфиденциальный документ Локальная программа или браузер
Пакетная конвертация (десятки файлов) Скрипт с Puppeteer, wkhtmltopdf или WeasyPrint
PDF с точным повторением вёрстки Puppeteer / Playwright (Chrome-движок)
Генерация документов (счёт, сертификат) WeasyPrint (CSS Paged Media)
Архивный PDF с тегами доступности Adobe Acrobat Pro или iText

Частые вопросы

В чём разница между «Печать в PDF» в браузере и конвертацией через онлайн-сервис?

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

Сохраняется ли адаптивная вёрстка при конвертации HTML в PDF?

PDF — фиксированный формат с заданным размером страницы, поэтому медиа-запросы и резиновая вёрстка перестают работать. Обычно конвертер использует ширину по умолчанию (примерно 1024 px). Если нужен конкретный макет, задайте ширину и ориентацию страницы вручную перед конвертацией.

Почему шрифты в PDF выглядят иначе, чем на странице в браузере?

Шрифты из Google Fonts или других CDN могут не подгрузиться, если конвертер не имеет доступа к интернету или игнорирует внешние стили. Решение — встроить шрифты напрямую через base64 в CSS или использовать системные гарнитуры (Arial, Georgia).

Можно ли конвертировать HTML с JavaScript-контентом в PDF?

Статичные HTML-файлы конвертируются без проблем. Если страница генерирует контент через JavaScript (графики, динамические таблицы), потребуется конвертер с поддержкой рендеринга JS — например, Puppeteer или wkhtmltopdf с флагом --javascript-delay.

Какой размер файла получится при конвертации HTML в PDF?

Размер зависит от количества изображений и шрифтов. Простая текстовая страница весит 50–200 КБ, страница с графикой — от 500 КБ до нескольких мегабайт. После конвертации PDF можно сжать отдельным инструментом, если нужен меньший вес.

Безопасно ли загружать HTML-файлы в онлайн-конвертеры?

Большинство крупных сервисов удаляют файлы автоматически через 1–24 часа и передают данные по зашифрованному каналу (HTTPS/TLS). Однако конфиденциальные документы лучше конвертировать локально — через браузер или десктопную программу.