
正文
将jsp页面转化为图片或pdf升级版(二)(qq:1324981084)
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java高级架构师全套vip教学视频,需要的加我qq1324981084
上面我们已经将jsp页面转化成html页面了,那么接下来我们的目标是利用这个html页面形成pdf或图片格式。这里我用到的是wkhtmltoimage和wkhtmltopdf这个exe的应用软件,安装方法及一些参数我就不再这里写了。下面推荐几篇文章:
wkhtmltopdf参数:http://blog.163.com/songchao01230@126/blog/static/1161848722014222231114/
wkhtmltoimage参数及安装方法:http://blog.sina.com.cn/s/blog_6dab20b401019e19.html
下面我们直接上代码如何将html转化成pdf和图片。
package com.jit.platform.basics.util.pdf;import java.io.File;
import java.io.IOException;public class HtmlToImageOrPdf { /**
* html转pdf
* @param srcPath html路径,可以是硬盘上的路径,也可以是网络路径
* @param destPath pdf保存路径
* @return 转换成功返回true
* @throws InterruptedException
* @throws IOException
*/
public static void convert(String srcPath, String destPath,String width_height) throws InterruptedException, IOException{
String toPdfTool = getCommand();
File file = new File(destPath);
File parent = file.getParentFile();
//如果pdf保存路径不存在,则创建路径
if(!parent.exists()){
parent.mkdirs();
}
//将软件路径、html路径、pdf生成路径、和一些形成pdf的参数加到字符串容器中。
StringBuilder cmd = new StringBuilder();
cmd.append(toPdfTool);
cmd.append(" ");
//cmd.append("--margin-top 0mm --margin-bottom 0mm --margin-right 0mm --margin-left 0mm ");
//cmd.append("--page-width "+width_px+" ");
//cmd.append("--page-height "+height_px+" ");
cmd.append(srcPath);
cmd.append(" ");
cmd.append(destPath);
long begin = System.currentTimeMillis();
//利用cmd执行刚才添加的参数。
Process proc = Runtime.getRuntime().exec(cmd.toString());
long end = System.currentTimeMillis();
System.out.println("形成html执行耗时:" + (end - begin) + " 豪秒");
HtmlToPdfInterceptor error = new HtmlToPdfInterceptor(proc.getErrorStream());
HtmlToPdfInterceptor output = new HtmlToPdfInterceptor(proc.getInputStream());
error.start();
output.start();
proc.waitFor();
}
//为满足window和linux系统,所以我们在这里进行判断
public static String getCommand(){
String system = System.getProperty("os.name");
if(system.toLowerCase().indexOf("windows")>=0) //xp系统
return "D:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltoimage.exe"; //这里返回你wkhtmltoimage或wkhtmltopdf的exe文件的路径
else if(system.toLowerCase().indexOf("linux")>=0) //linux 系统
return "wkhtmltopdf-amd64 ";
return "" ;
}
}
上面就是jsp转pdf或图片的全部程序,希望能够帮助到大家,如有不理解的请留言,谢谢。下面是这两个应用的安装包,如果有需要可以下载。
链接:http://pan.baidu.com/s/1hsI9KVE 密码:um62








