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

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

作者: 搬砖中年人 | 来源:发表于2019-03-12 20:49 被阅读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("渲染成功...");

    相关文章

      网友评论

          本文标题:Java调用phantomjs 进行动态网页截图

          本文链接:https://www.haomeiwen.com/subject/jmjopqtx.html