将jsp页面转化为图片或pdf升级版(二)(qq:1197852132)

java高级架构师全套vip教学视频,需要的加我qq1197852132

上面我们已经将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

posted @ 2017-01-14 16:14  jieya  阅读(1639)  评论(0编辑  收藏  举报