import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;
//网页全屏截图
public final class WebPageFullPicture {
private WebPageFullPicture() {};
public static void savePage(String url, String path) {
if (!url.startsWith("http://")) {
url = "http://" + url;
}
//String saveDir = PathUtils.getWebRootDirFilePath("flowImage");
String phantomDir = PathUtils.getWebRootDirFilePath("phantomjs");
System.out.println(phantomDir);
StringBuffer buffer = new StringBuffer();
buffer.append(phantomDir + "/phantomjs.exe ");
// buffer.append(" c://");
buffer.append(" --ignore-ssl-errors=yes ").append(
"'"+phantomDir + "/examples/rasterize.js' '").append(url + "' ").append(
path);
System.out.println(buffer.toString());
try {
Process process = Runtime.getRuntime().exec(buffer.toString());
InputStream eis = process.getErrorStream();
byte[] buf = new byte[1024];
int len = 0;
while ((len = eis.read(buf)) != -1) {
System.out.println(new String(buf, 0, len));
}
eis.close();
InputStream is = process.getInputStream();
buf = new byte[1024];
// len = 0;
while ((len = is.read(buf)) != -1) {
System.out.println(new String(buf, 0, len));
}
is.close();
// File file = new File(WebPageFullPicture.class.getResource("/").getPath(),fileName);
// if(file.exists()){
// file.renameTo(new File(saveDir,fileName));
// }
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
File file = new File("D:/tmp",UUID.randomUUID()+".png");
WebPageFullPicture.savePage("http://www.baidu.com/index.php?tn=monline_5_dg", file.getAbsolutePath());
} catch (Exception e) {
e.printStackTrace();
}
}
}
需要使用到 phantomjs