Как преобразовать веб-страницу в файл PDF или изображения в Linux
Хотите узнать, как можно захватить веб-страницу и сохранить ее как документ PDF или изображение с помощью терминала? К счастью, в Linux есть множество утилит, которые вы можете использовать для автоматизации задачи преобразования HTML-документов в PDF-файлы и изображения.
В этой статье вы познакомитесь с утилитами wkhtmltopdf и wkhtmltoimage, которые помогут вам упростить вашу работу.
Как конвертировать HTML в PDF
Если вы хотите захватить веб-страницы и преобразовать их в файл PDF, вам поможет утилита wkhtmltopdf. Wkhtmltopdf – это инструмент командной строки с открытым исходным кодом, используемый для преобразования веб-страниц в документы PDF.
Поскольку инструмент работает без подключения к терминалу Linux, вам не потребуются какие-либо веб-драйверы или среда автоматизации браузера, такая как Selenium.
Установите wkhtmltopdf в Linux
Wkhtmltopdf не входит в число стандартных пакетов, предустановленных в Linux. Вам придется вручную установить его с помощью диспетчера пакетов вашей системы.
Чтобы установить wkhtmltopdf в дистрибутивах на основе Ubuntu и Debian:
sudo apt install wkhtmltopdf
В дистрибутивах на основе Arch, таких как Manjaro Linux:
sudo pacman -S wkhtmltopdf
Также легко установить wkhtmltopdf в дистрибутивы на основе RHEL, такие как Fedora и CentOS.
sudo dnf install wkhtmltopdf
Базовый синтаксис
Основной синтаксис команды:
wkhtmltopdf webpage filename
… где веб-страница – это URL-адрес веб-страницы, которую вы хотите преобразовать, а имя файла – это имя выходного файла PDF.
Чтобы преобразовать домашнюю страницу Google в документ PDF:
wkhtmltopdf https://google.com google.pdf
Выход:
Открыв файл PDF, вы заметите, что wkhtmltopdf точно преобразовал веб-страницу в документ.
Печать нескольких копий веб-страницы
Флаг –copies – спаситель, если вы хотите, чтобы в выходном файле было несколько копий веб-страницы. Обратите внимание, что при печати нескольких копий wkhtmltopdf не будет создавать несколько файлов PDF, а вместо этого добавит дополнительные страницы в один документ.
Чтобы создать три копии домашней страницы Google:
wkhtmltopdf --copies 3 https://google.com google.pdf
Выходной файл PDF будет содержать три страницы, как указано в вышеупомянутой команде.
Добавить фильтр оттенков серого к выходу
Чтобы добавить фильтр оттенков серого в файл PDF, используйте флаг -g или –grayscale с командой:
wkhtmltopdf -g https://google.com google.pdf
wkhtmltopdf --grayscale https://google.com google.pdf
Выходной файл:
Изменить ориентацию PDF-файла
По умолчанию wkhtmltopdf создает файл PDF с вертикальной компоновкой, то есть портретной. Чтобы изменить это поведение по умолчанию и вместо этого захватывать веб-страницы в альбомной ориентации , используйте флаг –orientation с командой:
wkhtmltopdf --orientation landscape https://google.com google.pdf
Выход:
Обратите внимание, что в альбомной версии документа область пустого пространства больше, чем в портретной.
Не включайте изображения при конвертации
Если при генерации вывода вы не хотите, чтобы wkhtmltopdf отображал изображения, представленные на веб-странице, используйте флаг –no-images :
wkhtmltopdf --no-images https://google.com google.pdf
Выход:
Как преобразовать веб-страницу в изображения
Утилита wkhtmltoimage является частью пакета wkhtmltopdf. Если вы работаете над отчетом и хотите включить изображения веб-сайта, этот инструмент будет работать в вашу пользу. Терминал Linux не только упрощает захват изображений, но также предоставляет ряд параметров, которые позволяют настраивать вывод.
Базовый синтаксис
Wkhtmltoimage имеет синтаксис, аналогичный wkhtmltopdf:
wkhtmltoimage webpage filename
… где веб-страница – это URL-адрес веб-сайта, а имя файла – это имя выходного изображения.
Преобразование веб-страницы в изображение
Продолжая вышеупомянутый пример, давайте преобразуем домашнюю страницу Google в изображения.
wkhtmltoimage https://google.com google.png
Выход:
Вы также можете указать собственный формат файла, который должен иметь выходное изображение. Wkhtmltoimage поддерживает следующие расширения файлов:
- JPEG / JPG
- PNG
- SVG
Например, если вы хотите создать изображение в формате JPG, просто замените расширение файла на JPG в команде:
wkhtmltoimage https://google.com google.jpg
Захват веб-страниц с помощью терминала Linux
У вас должна быть установлена программа просмотра PDF-файлов в вашей системе Linux, если вы хотите просматривать PDF-файлы, созданные с помощью wkhtmltopdf. Хотя большинство дистрибутивов Linux поставляются с предустановленным редактором PDF, вы можете вручную выбрать и установить редактор PDF, который соответствует вашим потребностям.