前言

  本文是采用了wkhtmltopdf插件的方式进行将html转换成pdf的,首先需要下载该插件,并进行安装(注意区分系统),此处提供windows64的安装包,本文中也是采用此安装包来实现,其他系统的同学可以自行到官网去下载对应系统的安装包,此处不赘述,顺道给出大家下载地址。

windows下载地址:百度网盘 请输入提取码      提取码:dcj7

官网下载地址:wkhtmltopdf

  第一步:

下载成功后,安装插件并记录安装的路径

  第二步:

copy我的代码

HtmlToPdf类:
import java.io.File;public class HtmlToPdf {//    wkhtmltopdf在系统中的路径private static final String toPdfTool = "D:\\soft\\wkhtmltopdf\\bin\\wkhtmltopdf.exe";/*** html转pdf** @param srcPath  html路径,可以是硬盘上的路径,也可以是网络路径* @param destPath pdf保存路径* @return 转换成功返回true*/public static boolean convert(String srcPath, String destPath,String toPdfTool){File file = new File(destPath);File parent = file.getParentFile();//如果pdf保存路径不存在,则创建路径if(!parent.exists()){parent.mkdirs();}StringBuilder cmd = new StringBuilder();cmd.append(toPdfTool);cmd.append(" ");cmd.append(" --header-line");//页眉下面的线cmd.append(" --margin-top 3cm ");//设置页面上边距 (default 10mm)// cmd.append(" --header-html file:///"+WebUtil.getServletContext().getRealPath("")+FileUtil.convertSystemFilePath("\\style\\pdf\\head.html"));// (添加一个HTML页眉,后面是网址)cmd.append(" --header-spacing 5 ");// (设置页眉和内容的距离,默认0)//cmd.append(" --footer-center (设置在中心位置的页脚内容)");//设置在中心位置的页脚内容//cmd.append(" --footer-html file:///"+WebUtil.getServletContext().getRealPath("")+FileUtil.convertSystemFilePath("\\style\\pdf\\foter.html"));// (添加一个HTML页脚,后面是网址)cmd.append(" --footer-line");//* 显示一条线在页脚内容上)cmd.append(" --footer-spacing 5 ");// (设置页脚和内容的距离)cmd.append(srcPath);cmd.append(" ");cmd.append(destPath);boolean result = true;try{Process proc = Runtime.getRuntime().exec(cmd.toString());HtmlToPdfInterceptor error = new HtmlToPdfInterceptor(proc.getErrorStream());HtmlToPdfInterceptor output = new HtmlToPdfInterceptor(proc.getInputStream());error.start();output.start();proc.waitFor();}catch(Exception e){result = false;e.printStackTrace();}return result;}public static void main(String[] args) {String sourcePath = "https://baike.baidu.com/item/%E5%BC%A0%E4%B8%B9%E5%B3%B0/3740983?fr=aladdin";HtmlToPdf.convert(sourcePath, "D:\\testpdf.pdf",toPdfTool);System.out.println("ojbk");}}

HtmlToPdfInterceptor类:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;public class HtmlToPdfInterceptor extends Thread {private InputStream is;public HtmlToPdfInterceptor(InputStream is){this.is = is;}public void run(){try{InputStreamReader isr = new InputStreamReader(is, "utf-8");BufferedReader br = new BufferedReader(isr);String line = null;while ((line = br.readLine()) != null) {System.out.println(line.toString()); //输出内容}}catch (IOException e){e.printStackTrace();}}
}

至此,大功告成,so easy!!!此插件可以生产本地页面,在线页面,以及页面代码哈。

JAVA中将html转换成pdf相关推荐

  1. nodejs+html转换pdf,Nodejs 中将html转换成pdf文件

    Nodejs 中将html转换成pdf文件,Nodejs Convert html into pdf 1. 下载phantomjs.exe,将该文件放在根目录 2. 编写pdf.js文件(在githu ...

  2. ASP.Net中实现上传过程中将文本文件转换成PDF的方法

    iTextSharp是一个常用的PDF库,我们可以使用它来创建.修改PDF文件或对PDF文件进行一些其他额外的操作.本文讲述了如何在上传过程中将文本文件转换成PDF的方法. 基本工作 在开始之前,我们 ...

  3. 怎样在手机中将PPT转换成PDF

    随着21世纪的发展科技时代有了很大的跨步,更多高科技在和大大家说见面.手机就是其中的一个,渐渐的手机的功能已经和电脑相媲美了,因为它的小巧方便所以给人们带来了很多方便.现在手机上也可以办公了,比如撰写 ...

  4. excel转换pdf java_用Java把Excel转换成PDF的方法

    用Java把Excel转换成PDF的方法 发布时间:2020-05-30 11:48:45 来源:亿速云 阅读:216 作者:鸽子 Java 将Excel转为PDF 本文将介绍在Java程序中如何将E ...

  5. 用Java实现PPT转换成PDF的一种方式--openoffice的使用

    此文章为2016-09-20 17:19:18,本人于网易博客所写,今日搬迁到此. 今天必须要写篇日志记录此刻的心情,因为在搜集众多资料后,终于实现了这一功能. 最近在做的一个项目需要在网页中播放PP ...

  6. JAVA 将图片转换成pdf文件

    /** * 将图片转换成pdf文件 *imgFilePath 需要被转换的img所存放的位置. 例如imgFilePath="D:\\projectPath\\55555.jpg" ...

  7. Java将html转换成pdf、html转换成图片

    一.html转成pdf 使用的jar包 <dependency><groupId>com.itextpdf</groupId><artifactId>i ...

  8. java中将html语言转换_JAVA中将html转换成pdf

    importjava.io.File;public classHtmlToPdf {//wkhtmltopdf在系统中的路径 private static final String toPdfTool ...

  9. Java中将对象转换成String的三种方法

    日常开发中经常会有对象转成String类型这种场景,一般有三种方法 1.直接进行类型强转,(String) Object o = "2"; System.out.println(( ...

最新文章

  1. Postgresql使用笔记
  2. grunt.config()_gruntjs api
  3. mysql 硬盘空间不够_mysql磁盘空间不足的查排
  4. wxWidgets:wxRibbonToolBar类用法
  5. 开源免费的.NET图像即时处理的组件ImageProcessor
  6. Linux下如何挂载FAT32格式USB设备
  7. 苹果官宣:这届“春晚”,好早!
  8. gtk 主循环函数
  9. opencv多通道图像转单通道
  10. 百度深度学习初级认证——已过
  11. 用RANSAC算法实现干扰严重的直线拟合(续)求点线距离
  12. win7计算机excel快捷键,excel快捷键大全 公式
  13. systemctl开机启动设置
  14. Element修改图标大小,设置颜色
  15. PS 2019 cc衣服换色+去白边
  16. java视、频_[java视频]感人故 事视 频网 站上那找~~~
  17. 生成艺术or游戏?无限可能的体验#Wayfinder-探索这片土地的诗意
  18. OpenGL使用FBO与PBO上行纹理 (YUYV)
  19. CS224n_2019_Assignment1: Exploring Word Vectors Coding Solution
  20. 用条件变量(Condition Variable)实现信号量(Semaphore)

热门文章

  1. win7安装后无声音怎么办
  2. HTML+CSS一个简单的电影网页制作作业,学生个人html静态网页制作成品代码, html电影速递网
  3. 使用wireshark找不到“捕获接口”问题的解决
  4. 购物时,商品加入购物车的飞入效果
  5. IDEA Java 死锁 解决死锁状态的三种方法
  6. 自定义dns服务器是什么,自动分配DNS服务器和手动设置有什么区别?
  7. 【12-06】A股主要指数的市盈率(PE)估值高度
  8. 机器学习(一):什么是机器学习
  9. 这些低代码平台,你是否知悉?
  10. java-不死神兔百钱百鸡