利用PhantomJS生成图片

一、应用场景

在项目应用中有时需要将网页自动化截图保存下来,通过PhantomJS可以很方便的实现这样的功能。

二、实现代码

var webserver = require('webserver');

var server = webserver.create();
var service = server.listen(8999, function(request, response){
  var page = require('webpage').create();
  page.viewportSize = { width: 900, height: 500 };
  page.clipRect = { top: 0, left: 0, width: 900, height: 500 };
  console.log(request.url.substring(5));
  page.open('http://127.0.0.1/' + request.url.substring(5), function (status) {
      response.statusCode = 200;
      response.headers = {
        'Cache':'no-cache',
        'Content-Type':'image/jpeg'
      };
      response.setEncoding('binary');
      response.write(atob(page.renderBase64('jpg')));
      response.close();
      page.close();
  });
});

将上述代码保存为screen-capture.js文件,然后执行以下命令:

./phantomjs screen-capture.js

打开浏览器输入地址:http://localhost:8999/wxbg/real/57679,浏览器中将看到返回的页面截图。

三、参考资料

http://phantomjs.org

https://cuiqingcai.com/2577.html

猜你喜欢

转载自my.oschina.net/voole/blog/1815090