Java 截图HTML(多个图片)转成pdf

注意:pom文件下载jar包,去我上一个博客看去吧这里就不说了。。

1.下载链接:https://pan.baidu.com/s/1xr-vCAMlv785WiAU7GW94Q 
提取码:v2at

2.解压到D:盘,下面代码就不需要修改了,否则修改第三、四行路径。

3.将你需要截图的连接放在倒数第二行里面。替换百度连接。就生成了截图,需要多个链接同时截图,就复制main方法多谢几遍。可以进行优化。

注意:有一坑,如果该网页里面有一个表格,是上下、左右可以滚动的,那这个没有办法想手机那样长截屏一样。。


		    private static String tempPath = "C:\\Users\\Administrator\\Desktop\\img";// 图片保存目录
		    private static String BLANK = " ";
		    // 下面内容可以在配置文件中配置
		    private static String binPath = "D:\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe";// 插件引入地址
		    private static String jsPath  = "D:\\phantomjs-2.1.1-windows\\examples\\rasterize.js";// js引入地址

		    // 执行cmd命令
		    public static String cmd(String imgagePath, String url) {
		        return binPath + BLANK + jsPath + BLANK + url + BLANK + imgagePath;
		    }
		    //关闭命令
		    public static void close(Process process, BufferedReader bufferedReader) throws IOException {
		        if (bufferedReader != null) {
		            bufferedReader.close();
		        }
		        if (process != null) {
		            process.destroy();
		            process = null;
		        }
		    }
		    /**
		     * @param userId 
		     * @param url
		     * @throws IOException 
		     * @throws InterruptedException 
		     */
		    public static void printUrlScreen2jpg(String url,String imgName) throws IOException, InterruptedException{
//		        String imgagePath = tempPath+"\\"+System.currentTimeMillis()+".png";//图片路径
		        String imgagePath = tempPath+"\\"+imgName+".png";//图片路径
		        //Java中使用Runtime和Process类运行外部程序
		        Process process = Runtime.getRuntime().exec(cmd(imgagePath,url));
//		        Thread.sleep(10*1000L);
		        InputStream inputStream = process.getInputStream();
		        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
		        String tmp = "";
		        
		        while ((tmp = reader.readLine()) != null) {
		            close(process,reader);
		        }
		        System.out.println("success");
		    }
		    
		    public static void main(String[] args) throws IOException, InterruptedException {
//		        String url = "http://192.168.2.69/03 前端/共享数据质量报告/index3.html";//以百度网站首页为例
		    	String url0 = "www.baidu.com";//以百度网站首页为例
		    	Test.printUrlScreen2jpg(url0,"2");
		    }

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值