本文共 2353 字,大约阅读时间需要 7 分钟。
java高级架构师全套vip教学视频,需要的加我qq1197852132
上面我们已经将jsp页面转化成html页面了,那么接下来我们的目标是利用这个html页面形成pdf或图片格式。这里我用到的是wkhtmltoimage和wkhtmltopdf这个exe的应用软件,安装方法及一些参数我就不再这里写了。下面推荐几篇文章:
wkhtmltopdf参数:
wkhtmltoimage参数及安装方法:
下面我们直接上代码如何将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
转载地址:http://eipez.baihongyu.com/