Перейти к содержимому
pdftools.kz
Конвертация

HTML в PDF

Конвертируйте HTML страницы в формат PDF.

Сервер · удаление сразудо 10 МБбез регистрации

Что такое конвертация HTML в PDF

HTML в PDF — это рендеринг HTML-файла или веб-страницы в PDF-документ с сохранением CSS-стилей, шрифтов, изображений и макета. Сохранить html как pdf нужно во множестве сценариев: архивация веб-страниц, создание отчётов из HTML-шаблонов, печать справок и квитанций из веб-кабинета банка, генерация юридически фиксированной копии новости или статьи.

Главное отличие HTML-в-PDF от других конвертеров — точность рендеринга CSS. Современный HTML использует Flexbox, Grid, медиа-запросы и кастомные шрифты — наш движок (на базе headless Chromium через Gotenberg) поддерживает всё это, включая веб-шрифты с Google Fonts.

Файл .html загружается на сервер, рендерится в безголовом браузере Chromium в формате A4 (книжная ориентация) и сохраняется в PDF. Процесс занимает 3–8 секунд, и на диск сервера файл при этом не попадает — он уходит в конвертер внутри того же запроса. Поддерживаются внешние CSS-файлы и изображения, если они доступны по абсолютным URL.

Как конвертировать HTML в PDF

  1. Подготовьте HTML-файл — убедитесь, что все CSS-стили внутри файла или подключены по абсолютным URL
  2. Загрузите файл — перетащите .html или .htm в область загрузки (макс. 10 МБ)
  3. Дождитесь обработки — сервер открывает HTML в headless Chromium и рендерит за 3–8 секунд
  4. Проверьте предпросмотр результата — особое внимание на встроенные изображения и шрифты
  5. Скачайте готовый PDF-файл на ваше устройство

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

  • Полная поддержка CSS — стили, Flexbox, Grid и медиа-запросы корректно рендерятся в PDF
  • Рендеринг движком Chromium (Gotenberg) — тот же результат, что при печати из свежего Chrome, без устаревших движков
  • Автоматический формат A4 — книжная ориентация и аккуратные поля выставляются сами, ни одной настройки вручную
  • Серверная конвертация в один клик — загрузили .html, нажали кнопку, получили PDF; файл живёт на сервере только внутри запроса и удаляется вместе с ответом
  • Поддержка веб-шрифтов — Google Fonts и кастомные @font-face работают корректно
  • Векторный текст — текст в PDF остаётся выделяемым и индексируемым поисковиками

Когда нужна конвертация HTML в PDF

Генерация инвойсов из шаблона

Бизнес часто хранит шаблоны счетов и актов в виде HTML с переменными. Готовый HTML с подставленными данными быстро рендерится в PDF для отправки клиенту.

Архивация веб-страниц

Чтобы сохранить новость, статью или результаты заявки в виде юридически валидной копии, сохраните страницу как HTML (Ctrl+S) и конвертируйте в PDF.

Email-рассылки в PDF

Маркетологи часто превращают HTML-письма в PDF для отправки клиентам, которые предпочитают вложение почтовому формату.

Отчёты из дашбордов

Аналитические дашборды отдают HTML-снапшоты с графиками. PDF-копия для руководства — стандартный формат недельной отчётности.

Печать справок из веб-кабинета

Многие банки, налоговая и eGov показывают справки в HTML. PDF-версия нужна для предъявления в физический офис.

Сохранение страниц документации

Технические писатели генерируют документацию через статические сайтогенераторы (Docusaurus, MkDocs). Конвертация HTML → PDF создаёт офлайн-копию для распространения.

HTML в PDF против браузерной печати

Любой современный браузер умеет печатать страницу в PDF через Ctrl+P → «Сохранить как PDF». Зачем нужен онлайн-сервис? У него есть несколько преимуществ для типичных бизнес-сценариев.

  • Автоматизация — онлайн-сервис подходит для пакетной конвертации множества HTML-файлов через API без открытия браузера
  • Стабильный рендер — один и тот же движок Chromium на сервере даёт одинаковый результат при любых обновлениях вашего браузера
  • Предсказуемый результат — формат A4 и поля заданы заранее, не нужно искать нужные галочки в диалоге печати Chrome
  • Минус: онлайн-сервис требует загрузки файла на сервер. Для строго конфиденциального HTML лучше использовать локальный Chrome
  • Скорость: 3–8 секунд через сервис, 2–5 секунд через Ctrl+P в Chrome. Разница незаметна на одиночных файлах

Безопасность и обработка файлов

  • HTML-файл загружается на наш сервер для рендеринга в headless Chromium через Gotenberg
  • Файл не сохраняется в постоянное хранилище: маршрут держит его в памяти и передаёт движку внутри того же HTTP-запроса, а конвертер работает с временной копией в изолированном контейнере и удаляет её по завершении запроса
  • Поэтому нечего «чистить по расписанию» — как только готовый PDF ушёл в браузер, исходной разметки на сервере уже нет
  • Движок конвертации работает на том же сервере и доступен только по внутреннему адресу: файл не уходит в сторонние облака и не передаётся третьим лицам
  • Соединение с сайтом идёт по HTTPS, а содержимое файлов не логируется — в журналы попадают только технические ошибки
  • JavaScript из загруженного HTML выполняется на стороне конвертера, в headless Chromium, а не в вашем браузере
  • Размер загрузки ограничен 10 МБ — для HTML-страницы этого хватает с запасом даже со встроенными в base64 картинками

Решение проблем

Изображения не отобразились в PDF
Это значит, что HTML использует относительные пути (например, src="./photo.jpg"). На сервере таких файлов нет. Замените пути на абсолютные URL (https://example.com/photo.jpg) или встройте изображения как base64.
Шрифт получился стандартным, не как в браузере
Это значит, что @font-face ссылается на относительный URL. Подключите шрифты через Google Fonts по абсолютному URL или встройте их в HTML как base64 в data: URL.
JavaScript-контент не отобразился
Дополнительной паузы перед печатью мы не задаём: Chromium снимает страницу сразу после её загрузки, поэтому тяжёлое SPA может не успеть дорисовать интерфейс. Используйте серверный рендеринг (Next.js, Nuxt) перед конвертацией или встройте готовую разметку в файл.
Страница получилась слишком широкой или узкой
Страница рендерится по ширине листа A4, как при обычной печати. Если HTML рассчитан на широкий экран или узкий мобильный вид, используйте CSS @media print для специальной стилизации печати — эти правила применяются при рендеринге.

Часто задаваемые вопросы

Поддерживается ли рендеринг JavaScript на странице?
Конвертация поддерживает статический HTML и CSS, а также простой JavaScript (запускается в headless Chromium). Тяжёлые SPA-приложения (React, Vue, Angular) могут не успеть отрендериться полностью. Для лучшего результата используйте серверный рендеринг страницы перед конвертацией.
Загружаются ли внешние ресурсы (CSS, изображения)?
Внешние CSS-файлы и изображения, подключённые через абсолютные URL-адреса, загружаются и включаются в PDF. Для надёжного результата вставляйте стили инлайн в HTML-файл и убеждайтесь, что ресурсы доступны публично через HTTPS.
Можно ли настроить размер страницы PDF?
Нет, отдельных настроек нет: инструмент всегда рендерит PDF в формате A4 в книжной ориентации со стандартными полями — как обычная печать из Chrome. При этом CSS-правила @media print из вашего HTML применяются при рендеринге, поэтому переносами, скрытием элементов и видом страницы можно управлять прямо в коде.
Поддерживаются ли веб-шрифты?
Да, шрифты Google Fonts и кастомные @font-face работают, если они подключены по абсолютным URL и доступны публично через HTTPS. Локальные TTF/OTF, упомянутые в HTML, не загрузятся — встройте их как base64.
Можно ли конвертировать URL веб-страницы напрямую?
В текущей версии — только загрузка локального HTML-файла. Если нужно конвертировать страницу по URL, сохраните её локально (Ctrl+S → «Веб-страница, полностью») и загрузите получившийся .html.
Текст в PDF будет выделяемым?
Да, текст в PDF остаётся настоящим текстом, его можно выделять, копировать и искать через Ctrl+F. PDF также индексируется поисковыми системами.
Файлы загружаются на ваш сервер?
Да, HTML-файл загружается на сервер для рендеринга в headless Chromium. Но он нигде не сохраняется: разметка передаётся конвертеру внутри того же запроса и исчезает вместе с ним, её содержимое не пишется в логи и не передаётся третьим лицам.
Чем отличается этот сервис от wkhtmltopdf или Puppeteer?
wkhtmltopdf — устаревший проект на базе старого WebKit, не поддерживает современный CSS. Puppeteer — это библиотека для разработчиков, требует Node.js. Наш сервис — готовое решение на базе свежего Chromium с поддержкой современного CSS3.

Другие инструменты

Читайте также

Частые задачи с этим инструментом