Как сохранить веб-страницу в PDF: от простой ссылки до идеальной копии
Чтобы сохранить веб-страницу в PDF целиком, быстрее всего использовать встроенную функцию печати браузера (Ctrl+P / Cmd+P) с выбором опции «Сохранить как PDF» и включением фона. Для сложных сайтов с динамическим контентом или пакетной обработки лучше подойдут специализированные расширения или локальные утилиты вроде wkhtmltopdf и Puppeteer.
Выбор метода зависит от того, нужно ли вам просто зафиксировать текст статьи или сохранить точную визуальную копию сайта с дизайном, разбивкой на колонки и интерактивными элементами. Ниже разобраны все рабочие способы — от базовых до продвинутых.
Оглавление
Базовый способ: Печать в PDF через браузер
Этот метод работает в Chrome, Edge, Firefox, Safari и Opera. Он не требует установки дополнительного ПО и подходит для 90% задач.
Пошаговая инструкция
- Откройте нужную страницу.
- Нажмите Ctrl + P (Windows/Linux) или Cmd + P (macOS).
- В разделе «Принтер» или «Назначение» выберите «Сохранить как PDF» (Save as PDF) или «Microsoft Print to PDF».
- Раскройте раздел «Дополнительные настройки» (More settings).
- Важно: Поставьте галочку «Фоновые цвета и изображения» (Background graphics). Без этого многие сайты сохранятся белыми пятнами вместо дизайна.
- Выберите масштаб («По размеру страницы» или 100%), чтобы контент не обрезался.
- Нажмите «Сохранить».
В Google Chrome и Edge используйте режим «Без полей» (Margins: None), если хотите убрать белые отступы по краям листа. Это особенно полезно для сохранения широкоформатных таблиц или инфографики.
Нюансы разных браузеров
- Chrome/Edge: Лучше всего справляются с современной версткой (CSS Grid/Flexbox).
- Firefox: Иногда лучше сохраняет шрифты, но может игнорировать некоторые сложные скрипты рендеринга.
- Safari (macOS): Имеет отдельную кнопку «Поделиться» → «Сохранить как PDF», которая часто дает более чистый результат для статей, автоматически убирая рекламу (если включен режим чтения).
Продвинутые методы: Расширения и онлайн-сервисы
Если стандартная печать ломает верстку, вырезает картинки или не видит контент, который подгружается при прокрутке (lazy load), используйте специальные инструменты.
Расширения для браузера
Плагины позволяют «сфотографировать» всю длину страницы, включая то, что скрыто за пределами экрана, и собрать это в один PDF-документ.
- GoFullPage (Chrome/Edge): Делает полный скриншот страницы и конвертирует его в PDF. Идеально для лендингов с сложной анимацией, которую браузерная печать не может обработать корректно.
- Print Friendly & PDF: Позволяет перед сохранением вручную удалить рекламные блоки, лишние изображения и отредактировать текст. Полезно для сохранения статей из новостных сайтов.
Онлайн-конвертеры
Сервисы вроде Sejda, ILovePDF или Html2PDF принимают ссылку и отдают файл.
Плюсы:
- Не нагружают ваш компьютер.
- Часто имеют готовые пресеты (A4, Letter, альбомная ориентация).
Минусы:
- Безопасность: Не загружайте в такие сервисы документы с персональными данными, банковскими выписками или конфиденциальной информацией.
- Лимиты: Бесплатные версии часто ограничивают количество страниц или размер файла.
- Качество: Могут некорректно отображать кириллицу или сложные CSS-стили.
Для разработчиков и массового сохранения: Локальные утилиты
Если вам нужно сохранить сотни страниц или создать архив сайта, ручные методы не подойдут. Используйте командную строку.
wkhtmltopdf
Классическая утилита с открытым исходным кодом. Она использует движок WebKit (как в старых версиях Safari/Chrome) для рендеринга HTML в PDF.
Пример команды:
wkhtmltopdf --enable-local-file-access https://example.com output.pdf
Преимущества:
- Точная передача стилей.
- Возможность добавления колонтитулов, номеров страниц и оглавления.
- Работа в headless-режиме (без открытия окна браузера).
Puppeteer / Playwright
Библиотеки для Node.js, которые управляют реальным браузером Chrome/Chromium. Это самый надежный способ для современных сайтов с большим количеством JavaScript.
Почему это лучше: Скрипт может подождать, пока загрузятся все данные, прокрутить страницу для активации lazy-load изображений и только затем сделать «снимок» в PDF.
Как сохранить страницу идеально: настройки и лайфхаки
Даже при использовании правильного инструмента результат может быть далек от идеала. Вот чек-лист для улучшения качества.
1. Режим чтения
Перед сохранением активируйте «Режим чтения» в браузере (иконка книги в адресной строке). Это удалит навигацию, рекламу и сайдбары, оставив только чистый текст и основные изображения. Затем сохраняйте через Ctrl+P.
2. Проблема с разрывами страниц
Часто заголовки отрываются от текста или таблицы разрываются посередине.
- Решение: В расширенных настройках печати попробуйте изменить масштаб на 90–95%.
- Для разработчиков: Если вы сохраняете свой сайт, добавьте CSS-правило
page-break-inside: avoid;для блоков, которые нельзя разрывать.
3. Сохранение интерактива
PDF — статичный формат. Видео, аудио и формы работать не будут.
- Видео: Замените плеер на скриншот с ссылкой на оригинал.
- Ссылки: Убедитесь, что гиперссылки остались кликабельными (в настройках печати Chrome это обычно включено по умолчанию).
Сравнение методов сохранения
| Метод | Качество верстки | Сложность настройки | Подходит для |
|---|---|---|---|
| Печать браузера | Среднее/Высокое | Низкая | Статей, документов, простых сайтов |
| GoFullPage (скриншот) | Идеальное (визуально) | Низкая | Лендингов, портфолио, инфографики |
| Print Friendly | Хорошее (чистое) | Средняя | Новостных статей, блогов |
| wkhtmltopdf | Высокое | Высокая (CLI) | Пакетной обработки, архивов |
| Puppeteer | Идеальное | Очень высокая | SPA-приложений, сложных JS-сайтов |
Частые ошибки при конвертации
-
Отсутствие фоновых изображений.
- Причина: Экономия чернил в настройках принтера по умолчанию.
- Решение: Включить галочку «Фоновая графика» в диалоге печати.
-
Обрезанный контент по краям.
- Причина: Стандартные поля принтера.
- Решение: Выбрать «Нет полей» (None) или «Минимальные» в настройках масштаба.
-
Пустые страницы или битые стили.
- Причина: Контент не успел прогрузиться (JavaScript) или блокируется AdBlock.
- Решение: Отключить блокировщики рекламы для этого сайта, дождаться полной загрузки, прокрутить страницу до конца перед печатью.
-
Размытый текст.
- Причина: Сохранение через скриншоты с низким DPI.
- Решение: Использовать векторную печать (стандартный Ctrl+P), а не растровые скриншоты, если важна четкость текста.
FAQ: Ответы на популярные вопросы
Можно ли сохранить весь сайт целиком в один PDF? Стандартными средствами — нет. Браузер сохраняет только одну открытую вкладку. Для всего сайта нужны программы типа HTTrack (для скачивания HTML) с последующей конвертацией, либо скрипты на Python/Puppeteer, которые обходят все ссылки и собирают их в один документ.
Почему PDF весит слишком много? Изображения в высоком разрешении занимают много места. Используйте онлайн-компрессоры PDF после сохранения или выбирайте в настройках печати более низкое качество графики, если оно доступно.
Как сохранить страницу с защитой от копирования? Если контекстное меню заблокировано, используйте сочетание клавиш Ctrl+P (оно часто работает даже при блокировке правой кнопки мыши). Если сайт запрещает и печать через JS, отключите JavaScript в настройках браузера, перезагрузите страницу и попробуйте снова (но верстка может «поехать»).
Сохраняется ли история изменений в PDF? Нет. PDF — это снимок состояния страницы на конкретный момент времени. Если контент на сайте обновится, ваш PDF-файл останется прежним.