Ubuntu Server 下将HTML页面转换为PNG图片
零、前言
最近做一个网站,需要将网页转换为图片。由于服务器是Ubuntu Server,没有图形界面,所以实现的过程中遇到了很多问题。记录下来备用。
一、安装CutyCapt
CutyCapt是一个可以将网页转换成各种格式(比如PDF,PNG)的工具,安装命令:
$ sudo apt-get install cutycapt
安装完成后运行命令:
$ cutycapt --url=http://www.baidu.com --out=baidu.png
这时会提示:
cutycapt: cannot connect to X server :0
这是因为我们的Ubuntu是Server版,没有图形界面。
下面安装xvfb,这是一个模拟X Server的东西:
$ sudo apt-get install xvfb
安装完成之后运行:
$ xvfb-run --server-args="-screen 0, 1280x1200x24" cutycapt --url=http://www.baidu.com --out=baidu.png
很明显,这里是先启动一个X Server,然后再运行cutycapt。
运行完之后打开baidu.png看看,可以发现确实截图成功了,但是中文无法显示。
出现这个问题是因为我的Ubuntu是英文版,没有中文字库。
安装中文字库:
$ sudo apt-get install language-pack-gnome-zh-hans $ sudo apt-get install ttf-wqy-zenhei
安装完成之后再运行cutycapt,发现现在可以正常显示中文了。