不同于上一篇文章中所讲到的通过客户端浏览器将 HTML 转 canvas 再生成图片的方式,本次记录的内容为服务器端(Windows Server)截屏工具。该工具特点为:通过 java 代码调用无界面浏览器的 .exe 文件,让无界面浏览器在后台完成 HTML 的渲染和截屏,并将截图保存至指定路径下。代码如下:
ScreenshotDemo.java
import java.io.File;
import java.io.IOException;
public class ScreenshotDemo{
// 工具所在根目录
private static String root = "E:\\cut\\截图工具";
private static String jsPath = root + File.separator + "screenshot.js ";
private static String exePath = root + File.separator + "phantomjs.exe";
// 调用phantomjs程序,并传入js文件,并通过流拿回需要的数据。
public static void getParseredHtml2(String url,String path) throws IOException{
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(exePath + " " + jsPath + " " + url+" "+path);
}
// 执行测试
public static void main(String[] args) throws IOException {
getParseredHtml2("http://www.baidu.com","E:/Baidu.png");
}
}
文件路径如下图:

PS:
- 若是要截取自己编写的
HTML文件,务必确保该文件中没有ECMAScript 6(简称ES6)语法,因为该截屏工具 不! 支! 持!!! - 示例代码及工具优快云下载链接:https://download.youkuaiyun.com/download/supreme_sir/11149969
- 无下载积分者可在评论区留下邮箱或发送邮件至本文顶部版权声明处邮箱内,博主将在看到后第一时间进行回复。
本文介绍了一种服务器端(WindowsServer)的HTML截图工具,通过java代码调用无界面浏览器的.exe文件,在后台完成HTML的渲染和截图,适用于批量生成网页快照场景。
938

被折叠的 条评论
为什么被折叠?



