Java调用phantomjs 进行动态网页截图

2019-03-12  本文已影响0人  搬砖中年人

如何安装:

http://npm.taobao.org/dist/phantomjs/ 镜像网站

下载phantomjs安装文件,直接解压到相关目录,解包:tar jxvf FileName.tar

创建软连接方便调用:(如果报错使用 ln -sf 强制执行)

ln  –s  /root/satanbox/phantomjs/phantomjs-1.9.7/bin/phantomjs  /usr/bin/phantomjs

安装相关库 :yum install freetype-devel fontconfig-devel

截图中文乱码:安装编码

在centos中执行:yum install bitmap-fonts bitmap-fonts-cjk

在ubuntu中执行:sudo apt-get install xfonts-wqy

测试

phantomjs /home/satanbox/phantomjs/phantomjs-1.9.7/examples/rasterize.js http://www.baidu.com  ; /home/satanbox/test/a.png

编写服务器Java代码

String BLANK = " ";

String basePath = "/home/cloudlinkin/phantomjs-2.1.1-linux-i686/"; //应用跟目录

Process process = Runtime.getRuntime()

.exec(basePath + "bin/phantomjs" + BLANK // 你的phantomjs执行文件路径

+ basePath + "/examples/rasterize.js" + BLANK // javascript脚本的路径

+ "https://www.baidu.com" + BLANK // 你的目标url地址

+ "./tupian.png");// 你的图片输出路径

InputStream inputStream = process.getInputStream();

BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

String tmp = "";

while ((tmp = reader.readLine()) != null) {

System.out.println(tmp);

}

if (reader != null) {

reader.close();

}

if (process != null) {

process.destroy();

process = null;

}

System.out.println("渲染成功...");

上一篇下一篇

猜你喜欢

热点阅读