king

HTML2Image 的安装和使用

king linux 2023-01-25 430浏览 0

官方url:http://www.guangmingsoft.net/htmlsnapshot/html2image.htm

Linux kernel- 2.2.14及以上: 安装必需lib及相关软件

yum install -y glibc gtk+ fontconfig cairo libpixman pango pango-devel 

下载html2image

wget http://www.guangmingsoft.net/htmlsnapshot/html2image.i386.tar.gz
但你服务器如果在国内,要下载这个就必须翻墙,如果不翻墙,可以提供本站的
下载地址: http://www.411c.com/download/html2image.i386.tar.tar
tar xvzf html2image.i386.tar.gz CD html2image 

设置LD_LIBRARY_PATH路径

export LD_LIBRARY_PATH=./ mkdir /usr/X11R6/lib ln - s /usr/share/X11
/usr/X11R6/lib/X11 

运行Xvfb

./Xvfb :1 -screen 0 640x480x24 -nolisten tcp -audit 4 -auth X1.cfg &
 export DISPLAY=:1 

生成图片

./html2image www.google.com a.jpg 

可忽略的错误:

error opening security policy file /usr/X11R6/lib/X11/xserver/
SecurityPolicy Could not init fontpath element /usr/X11R6/lib/
X11/fonts/TTF/, removing from list! Could not init font path e
lement/usr/X11R6/lib/X11/fonts/Speedo/, removing from list! Co
uld not init font path element/usr/X11R6/lib/X11/fonts/Type1/,
 removing from list! Could not init font path element/usr/X11
R6/lib/X11/fonts/CID/, removing from list! 

生成1024×768 格式 容量

jpg 871K

gif 4.12M

png 1.13M

—-

HTML2Image(http://www.guangmingsoft.net/htmlsnapshot/html2image.htm)是一个运行在Linux/Unix平台上将网页转化为图片的工具,它能将网页转化为bmppngjpg等格式的图片。通常,html2image需要运行在一个X server上,不过我们也可以不安装一个真的X11 server,使用Xvfb来替代X server运行html2image。这样做可以使我们在服务器上更快的将html页面转化为image

 

html2image的安装及使用方法:

1、  解压包文件到服务上的某个目录下。(例如/usr/local/html2image/);

2、  html2image的文件路径加到shared libraryld路径中。例如:

    export LD_LIBRARY_PATH=/usr/local/html2image/

或者你可以将这个路径加到/etc/ld.so.conf,然后运行ldconfig

3、  X server上运行html2imagehtml转化为image

a、  转化为bmp格式

html2image www.google.com a.bmp a.bmp就在运行该命令的目录下)

b、  转化为jpg格式

html2image www.google.com a.jpg a.jpg就在运行该命令的目录下)

c、将本地html文件转换为png格式

html2image file://home/user/test.html a.png a.png就在运行该命令的目录下)

4、  使用Xvfb在文本模式下运行html2image。在html2image目录下,运行下面的命令:

a./Xvfb :1 -screen 0 640x480x24 -nolisten tcp -audit 4 -auth X1.cfg

Xvfb模拟产生一个X11 server,只要运行一次就可以了。

bexport DISPLAY=:1 

设置登录到linux机器的终端的环境变量DISPLAY的值,登录一次linux需要运行一次该命令

c./html2image www.google.com  ./b.png

www.google.com网页转化为b.png文件,保存在当前目录下

 

一些常见的问题:

1、    运行./Xvfb :1 -screen 0 640x480x24 -nolisten tcp -audit 4 -auth X1.cfg时报这个错“error opening security policy file /usr/X11R6/lib/X11/xserver/SecurityPolicy”,导致命令运行不成功。

原因:这个是由于操作系统没有安装xserver

解决方法:我们公司的redhat操作系统一般都装有apt工具包,用这个工具安装软件比较简单。命令如下:

a# apt-cache search xserver         ———— 查找xserver软件

xorg-x11-server-Xorg – Xorg X server  ————- 查找结果

b# apt-get install xorg-x11-server-Xorg  ———– 安装xserver

PSxserver/SecurityPolicy有可能在/etc/X11/  目录下,只需加个链接过去即可。

 

2、  运行./Xvfb :1 -screen 0 640x480x24 -nolisten tcp -audit 4 -auth X1.cfg时报类似于“Could not init font path element /usr/X11R6/lib/X11/fonts/CID/”缺少字库的错。

原因:如上,缺少字库。

解决方法:尽可能的安装需要的字库,尤其是中文简体,否则所截网页的图中会出现乱码。

a# apt-cache search fonts         ———— 查找fonts软件

这条命令能搜出许多结果,我们只需尽可能的将所报的错中缺少的字库装上即可,但中文字库fonts-chinese必须装上,安装方式如问题1.

 

b、用apt-get install安装好的字库是在“/usr/share/”目录下,而不是在所报错误中显示的“/usr/X11R6/lib”,所以我们需要在 /usr/X11R6 下加一个链接指向 /usr/share/ ,命令如下:

# ln -s /usr/share/ lib

—-

wget http://www.guangmingsoft.net/htmlsnapshot/html2image.i386.tar.gz

tar xvzf html2image.i386.tar.gz

sudo apt-get install xvfb

sudo apt-get install xfonts-cyrillic xfonts-100dpi xfonts-75dpi x-ttcidfont-conf culmus

使用:

一、启动

首先启动Xvfb模拟xserver:

Xvfb :1 -screen 0 1024x768x24 -nolisten tcp -audit 4 -auth X1.cfg & export DISPLAY=:1

再启动网页截图支持

cd /opt/html2image

./nweb 8181 /opt/html2image/

二、使用

cd /opt/html2image

./html2image www.sina.com /tmp/sina.png

三、排错

提示缺少lib*.so文件时

sudo nano /etc/ld.so.conf

加入

/opt/html2image/

然后

sudo ldconfig

四、关闭

ps –A | grep Xvfb

sudo kill 所显示的数字

sudo rm /tmp/X1-lock

继续浏览有关 LINUX技术 的文章
发表评论