在即将跨入到2019年时,我接到了一个需求,我们的APP新增了一个分享功能,这个分享功能需要把嵌入在APP里的H5页面转换成图片分享出去。
我们的实现思路是:
用户点击分享按钮时,调用API,将当前页面URL传递给后台,后台将该H5页面转换成图片返回给APP,APP将生成的图片分享到微信。
这里边核心难点是需要将html页面完整完美的转化成图片格式。
经过调研,总结了3种开发难度低、兼容多语言平台的解决方案:
第一种:PhantomJS,强烈推荐
第二种:CutyCapt
第三种:免费或付费现成API,pdfcrowd、web2pdfconvert、url2png
第一种:PhantomJS
PhantomJS是一个用JavaScript编写脚本的无头web浏览器。它可以在Windows、macOS、Linux和FreeBSD上运行。
我们知道,访问一个WEB页面需要经过浏览器的解析,而PhantomJS就很强大了,能够在服务器中虚拟一个浏览器,这样就可以使用后台语言模拟用户在页面的点击操作,因此PhantomJS在自动化测试中应用很广。将html页面转换成图片或者是pdf对PhantomJS来说,简直是小餐一碟。
PhantomJS的官方网站:http://phantomjs.org/
官网的文档相对来说很全面,包括的安装、使用教程、api文档,示例等等。
下面是根据官方示例写的一个简单方法:
var page = require('webpage').create(