phantomjs介绍
无界面的浏览器。PhantomJS是一个基于webkit的JavaScript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情。
直接上代码(利用java执行系统命令)
public String compReportPdf(){
try {
//pdf保存路径
String pdfPath = "d://pdf";
File file = new File(pdfPath);
if(!file.exists()){
file.mkdir();
}
//下载头信息
response.setHeader("Content-disposition", "attachment; filename=" + new String(String.valueOf(userVO.getId()).getBytes("utf-8"), "ISO8859-1") + ".png");
//抓取页面的url
String url = "www.baidu.com";
pdfPath = pdfPath +"//test.pdf";
//js路径,linux下路径就直接放置一个目录:/usr/convertpdf.js
String jsPath = "d://pdf//js//convertpdf.js";
StringBuffer sb = new StringBuffer("phantomjs");
sb.append(" ");
sb.append(jsPath);
sb.append(" ");
sb.append(url);
sb.append(" ");
sb.append(pdfPath);
System.out.println("js路径---------"+jsPath);
//生成pdf
Process process = Runtime.getRuntime().exec(sb.toString());
process.waitFor();
System.out.println("pdf生成路径---------"+pdfPath);
return pdfPath;
} catch (Exception e) {
e.printStackTrace();
}finally{
}
return null;
}
PhantomJS需要配置环境变量(分为windows和linux两个版本)
windows下出现以上说明安装成功了,linux下也是一样的配置环境变量,执行此命令:
以下为下载路径:https://download.csdn.net/download/qq_37996327/13752631
其中convertpdf.js也分为两个版本,取决于服务器的分辨率
下载路径为:https://download.csdn.net/download/qq_37996327/13752666
以上就是java利用phantomjs生成pdf完整教程。加群:687942640(JAVA爱好者)