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

将jsp页面转化为图片或pdf升级版(二)(qq:1324981084)的更多相关文章

  1. 将jsp页面转化为图片或pdf升级版(一)(qq:1324981084)

    java高级架构师全套vip教学视频,需要的加我qq1324981084 前面我利用httputil将jsp转化为html,之后转化为pdf,但我发现这样错误率比较高,且成功后有得图片没有完全形成.所 ...

  2. 将jsp页面转化为图片或pdf(一)

    在项目中遇见了将jsp页面转化为pdf的问题,试过itext,但是itext需要标准的html代码,我的页面中的一些属性是itext所不识别的,所以努力了一段时间后就放弃了,后来发现htmlutil抓 ...

  3. 将jsp页面转化为图片或pdf(一)(qq:1324981084)

    java高级架构师全套vip教学视频,需要的加我qq1324981084 在项目中遇见了将jsp页面转化为pdf的问题,试过itext,但是itext需要标准的html代码,我的页面中的一些属性是it ...

  4. JSP 页面中插入图片

    第一步 在 JSP 页面中插入图片 EL 表达式 ${pageContext.request.contextPath } 的值为当前的项目名称 <html> ... <body> ...

  5. 关于springmvc 只能在index.jsp页面显示图片的处理办法jsp页面无法显示图片

    首先,已经配置好了mvc对静态资源的处理 只有index,jsp可以显示图片 其他页面同样的代码则不显示 后来折腾了半天,发现 index是static的父目录的级别文件 可以向下访问 但是其他的js ...

  6. hml页面转化成图片

    <!DOCTYPE html><html><head><meta charset="utf-8"><meta name=&qu ...

  7. Vue使用html2canvas将页面转化为图片

    需求是微信端将页面截屏之后保存到本地,使用了html2canvas插件 先引入插件 npm install --save html2canvas 之后在你所需要使用的页面引入 import html2 ...

  8. 把html页面转化成图片——html2canvas

    test.html <div class="fx_zhezhao"></div> <div class="myImg"> & ...

  9. JSP 页面中用绝对路径显示图片

    首先,图片和工程不在一个盘符下.图片也不能放到工程下.  在JSP 文件中 <img src="E:/图片/1.jpg"/>  这样是引不到图片的.因为,JSP页面在引 ...

随机推荐

  1. AVR单片机教程——UART进阶

    本文隶属于AVR单片机教程系列.   在第一期中,我们已经开始使用UART来实现单片机开发板与计算机之间的通信,但只是简单地讲了讲一些概念和库函数的使用.在这一篇教程中,我们将从硬件与软件等各方面更深 ...

  2. javaWeb传收参数方式总结

    有时候,我真会被传参搞得头晕,这样传要怎么接收,那样传又要怎么接收? get可以json吗?什么是json方式提交?等等问题,已困扰我许久 所以,在此想做个总结,整理一下思绪,不再为传收参烦恼!如有错 ...

  3. 编写python程序读入1到100之间的整数,然后计算每个数出现的次数,输入0表示结束输人,输入数据不包括0。如果数出现的大现如果大于1,输出时使用复数times

    #-*- coding:UTF-8 -*- #环境:python3 print("Enter the numbers between 1 and 100:") enterList= ...

  4. 使用Jenkins持续集成

    本篇文章主要说明的是如何使用Jenkins持续集成自己的代码. 1.Jenkins的安装与配置 使用Jenkins之前需要安装和配置Jenkins,具体安装和配置方法参照这个博客:http://www ...

  5. ios--->帧动画

    帧动画 NSMutableArray<UIImage *> *imageArr=[NSMutableArray array]; for(int i=0;i<20;i++){ NSSt ...

  6. layui数据表格及分页

    一.前端部分 html只需要放一个有id的div就行了,方便js获取渲染区域 <div id="data_grid" lay-filter="demo" ...

  7. 文件系统(02):基于SpringBoot框架,管理Xml和CSV文件类型

    本文源码:GitHub·点这里 || GitEE·点这里 一.文档类型简介 1.XML文档 XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.标记指计算机所能理解的信息符号,通过 ...

  8. Linux后门的几种姿势

    转载自 https://evilanne.github.io/2017/08/26/Linux%E5%90%8E%E9%97%A8-%E6%8C%81%E7%BB%AD%E5%85%B3%E6%B3% ...

  9. qt creator源码全方面分析(2-1-1)

    目录 C++的策略/二进制兼容性问题 定义 ABI注意事项 可做与不可做 库程序员的技巧 位标志 使用d指针 故障排除 在没有d指针的情况下将新数据成员添加到类中 添加已重新实现的虚函数 使用新类 向 ...

  10. Java并发编程(二):volatile关键字

    volatile是Java虚拟机提供的轻量级的同步机制.volatile关键字有如下两个作用,一句话概括就是内存可见性和禁止重排序. 1)保证被volatile修饰的共享变量对所有线程总是可见的,也就 ...