如何在Linux上将HTML页面转化成png图片
创始人
2024-03-01 12:26:33
0

将一个特定页面抓取为一张png图片的最简单的方法是使用CutyCapt,这是一种在Linux下的方便地将HTML网页转化成矢量图形和位图图像格式的命令行工具(比如,SVG, PDF, PS, PNG, JPEG, TIFF, GIF)。CutyCapt内部使用WebKit渲染引擎来导出网页渲染输出到图片文件中。它使用Qt构建,CutyCapt实际上是一个也可以在Windows上使用的跨平台应用。(译注:也有一个基于IE内核的 IECapt 可以作此用途)

在本篇教程中,我会描述如何将一个HTML网页使用CutyCapt转化成png图片

在Linux上安装 CutyCapt

这是在特定Linux发行版上的安装命令。

在Debian, Ubuntu 或者 Linux Mint 安装 CutyCapt

$ sudo apt-get install cutycapt 

在Fedora上安装 CutyCapt

$ 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 
#include 

最后,如下编译并安装CutyCapt。

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

在CentOS 或者 RHEL安装 CutyCapt

首先在你的Linux上启用EPEL仓库。接着和在Fedora上一样使用相同的步骤编译安装。

使用CutyCapt将 HTML 转化成 PNG

将一个HTML页面截图成一个png图片,只要使用下面的格式运行CutyCapt。

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

要将HTML页面保存成不同的格式(比如,PDF),只要适当地指定输出文件。

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

下图显示了CutyCapt命令选项。

在一台不含X的服务器上使用CutyCapt将HTML转换成PNG

虽然CutyCapt是一个命令行工具,但是它需要X服务运行。如果你尝试在不含X服务的机器上运行,你会得到下面这个错误:

cutycapt: cannot connect to X server :0

如果你要不含X的服务器上运行CutyCapt,你可以在服务器上安装Xvfb(轻量级“假的”X11 服务)。这样CutyCapt就不会报错了。

要在Debian, Ubuntu 或者 Linux Mint 上安装Xvfb:

$ sudo apt-get install xvfb 

要在Fedora, CentOS 或者 RHEL 上安装Xvfb:

$ sudo yum install xvfb 

在安装Xvfb之后,接下来像这样运行CutyCapt。

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

它首先会运行Xbfb服务,接着使用CutyCapt来抓取网页。因此它可能会花费更长的时间。如果你想要截图多张截图,你可能事先需要将Xvfb作为后台守护进程启动。


via: http://xmodulo.com/2014/02/convert-html-web-page-png-image-linux.html

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

相关内容

等了30年,微软MS-DO...
曾经称“开源是毒瘤”时有多么嫌弃,现在“微软 ❤️ 开源”就有多么...
2025-06-26 09:11:25
开源图像编辑器 GIMP ...
IT之家 6 月 24 日消息,科技媒体 9to5Linux 昨日...
2025-06-24 13:12:59
微软 Win11 Linu...
IT之家 6 月 20 日消息,在今年 5 月的微软 Build ...
2025-06-21 13:12:08
Midjourney推出A...
新榜讯 当地时间6月19日,Midjourney正式发布其视频生成...
2025-06-20 12:13:09
Qt Creator 17...
IT之家 6 月 19 日消息,科技媒体 9toLinux 昨日(...
2025-06-19 15:11:13
今天国际取得AI生成网页前...
金融界2025年6月18日消息,国家知识产权局信息显示,深圳市今天...
2025-06-18 10:43:16

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...