Как преобразовать веб-страницу в файл 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

Выход:

Связанный: Лучшие инструменты для редактирования 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

Связанный: JPG против JPEG: в чем разница между этими форматами файлов изображений?

Захват веб-страниц с помощью терминала Linux

У вас должна быть установлена ​​программа просмотра PDF-файлов в вашей системе Linux, если вы хотите просматривать PDF-файлы, созданные с помощью wkhtmltopdf. Хотя большинство дистрибутивов Linux поставляются с предустановленным редактором PDF, вы можете вручную выбрать и установить редактор PDF, который соответствует вашим потребностям.