Select Page

Как преобразовать веб-страницы HTML в PNG изображения на Linux

Как преобразовать веб-страницы HTML в PNG изображения на Linux

Как преобразовать веб-страницы HTML в PNG изображения на Linux

Одним из самых простых способов переобразования screen capture конкретной веб-страницы в изображения PNG, будет использование CutyCapt, которое является удобным инструментом командной строки Linux для преобразования любой HTML веб-страницы с различными векторами и форматами bitmat изображения (например, SVG, PDF, PS, PNG, JPEG, TIFF, GIF). CutyCapt использует WebKit движок рендеринга для экспорта рендеринга веб-страницы и вывода в файл изображения. Построенный с Qt, CutyCapt на самом деле является кросс-платформенным приложением для других платформ, таких как Windows.

В этом уроке я опишу как преобразовывать веб-страницы HTML в формат изображения PNG с помощью CutyCapt.

Установка CutyCapt на Linux

Вот конкретные инструкции по установке CutyCapt на Linux.

Установка CutyCapt на Debian, Ubuntu или Linux Mint

$ sudo apt-get install cutycap

Установка CutyCapt на Fedora

$ sudo yum install subversion qt-devel qtwebkit-devel gcc-c++ make
$ svn co svn://svn.code.sf.net/p/cutycapt/code/ cutycapt
$ cd cutycapt/CutyCapt

Перед компиляции на Fedora, необходимо пропатчить исходный код.

Откройте CutyCapt.hpp с помощью текстового редактора и добавьте следующие две строки в начало файла.

#include <QNetworkReply>
#include <QSslError>

Наконец, соберите и установите CutyCapt следующим образом.

$ qmake-qt4
$ make
$ sudo cp CutyCapt /usr/local/bin/cutycapt

Установка CutyCapt на CentOS или RHEL

Сначала включите репозиторий EPEL на Linux. Далее следуйте той же процедуре, что и в Fedora для сборки и установки CutyCapt.

Преобразование HTML в PNG с CutyCapt

Чтобы сделать скриншот в HTML-страницы в виде изображения PNG, просто запустите CutyCapt в следующем формате.

$ cutycapt --url=http://www.cnn.com --out=cnn.png

Чтобы сохранить HTML страницу в другом формате (например, PDF), просто укажите выходной файл надлежащим образом.

$ cutycapt --url=http://www.cnn.com --out=cnn.pdf

Ниже приведены параметры командной строки из cutycapt.

Преобразование HTML в PNG с CutyCap на Headless Server

Так как CutyCapt является инструментом CLI, он нуждается в запуске X-сервера. Если вы попытаетесь запустить CutyCapt на headless сервере, вы получите сообщение об ошибке:

cutycapt: cannot connect to X server :0

Если вы хотите запустить CutyCapt на headless сервере без X windows, вы можете настроить Xvfb (легкий “фальшивый” сервер X11) на сервере.

Для установки Xvfb на Debian, Ubuntu или Linux Mint:

$ sudo apt-get install xvfb

Для установки Xvfb на Fedora, CentOS или RHEL:

$ sudo yum install xvfb

После установки Xvfb, запустите CutyCapt следующим образом.

$ xvfb-run --server-args="-screen 0, 1280x1200x24" cutycapt --url=http://www.cnn.com --out=cnn.png

Так будет запущен сервер Xvfb. Далее можно использовать CutyCapt для снятия скринов с экрана веб-страниц. Если вы хотите сделать несколько скриншотов, вы можете запустить сервер Xvfb заранее как фоновый демон.

About The Author

Leave a reply

Ваш адрес email не будет опубликован.