wkhtmltopdf是一款用来将HTML转化为PDF的工具

wkhtmltopdf官网下载链接

安装流程

然后就可以在cmd中使用命令行的方式进行转换,wkhtmltopdf提供了一系列的系统命令,程序员可以将这些命令封装成函数,使用Java语言来进行调用

public class HtmlToPdf {// wkhtmltopdf在系统中的路径,使用该组件的时候需要安装一个软件private static final String toPdfTool = "D:\\wkHtmltoPdf\\bin\\wkhtmltopdf.exe";/*** html转pdf** @param srcPath*            html路径,可以是硬盘上的路径,也可以是网络路径* @param destPath*            pdf保存路径* @return 转换成功返回true*/public static boolean convert(String srcPath, String destPath) {File file = new File(destPath);File parent = file.getParentFile();// 如果pdf保存路径不存在,则创建路径if (!parent.exists()) {parent.mkdirs();}StringBuilder cmd = new StringBuilder();if (System.getProperty("os.name").indexOf("Windows") == -1) {// 非windows 系统//toPdfTool = FileUtil.convertSystemFilePath("/home/ubuntu/wkhtmltox/bin/wkhtmltopdf");}cmd.append(toPdfTool);cmd.append(" ");cmd.append(" --page-size A4");//纸张设置为A4
//        cmd.append("  --header-line");// 页眉下面的线
//        cmd.append(" --header-center 这里是页眉这里是页眉这里是页眉这里是页眉 ");//页眉中间内容cmd.append("  --margin-top 3cm ");// 设置页面上边距 (default 10mm)//cmd.append(" --header-html  file:///" + "https://blog.csdn.net/x6582026/article/details/53835835");// (添加一个HTML页眉,后面是网址)cmd.append(" --header-spacing 5 ");// (设置页眉和内容的距离,默认0)cmd.append(" --footer-center 第[page]页/共[topage]页");//设置在中心位置的页脚内容//cmd.append(" --footer-html  file:///" + "https://blog.csdn.net/x6582026/article/details/53835835");// (添加一个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 url = "https://blog.csdn.net/";//将csdn首页转化成pdfHtmlToPdf.convert(url, "C:\\Users\\wh\\Desktop\\out1221.pdf");}
}

效果图

wkhtmltopdf的介绍与使用相关推荐

  1. wkhtmltopdf 网页转换为pdf

    wkhtmltopdf主要用于把网页转换为pdf,用于复杂的图文导出pdf 一般的模板渲染根本做不到 wkhtmltopdf.rpm centos7下载地址 链接:https://pan.baidu. ...

  2. Docker 快速验证 HTML 导出 PDF 高效方案

    需求分析 项目中用到了 Echarts,想要把图文混排,当然包括 echarts 生成的 Canvas 图也导出 PDF. 设计和实现时,分析了 POI.iText.freemaker.world 的 ...

  3. Java后端:html转pdf实战笔记

    目录 1.htmltopdf有什么用? 2.什么是wkhtmltopdf 3.wkhtmltopdf 参数介绍 4.示例项目 5.预览效果 1.htmltopdf有什么用? htmltopdf 是一款 ...

  4. 开源wkhtmltopdf使用心得 (一)

    最近做项目用到要将网页转换为pdf保存,找到了该项目 http://www.oschina.net/p/wkhtmltopdf 在这里记录一下使用心得和部分问题解决方案. 一.首先对该项目进行简单介绍 ...

  5. JAVA零碎要点011---使用Java操作wkhtmltopdf实现Html转PDF

    JAVA技术交流QQ群:170933152 2.项目中刚开始用的ITEXT把html转换成pdf,但是itext只能转比较规整的html,如果有比如从 editor这种网页编辑的html的话,就有问题 ...

  6. php html小项目,使用PHP把HTML生成PDF文件的几个开源项目介绍

    这篇文章主要介绍了使用PHP把HTML生成PDF文件的几个开源项目介绍,本文罗列了FPDF.DomPDF.TCPDF等项目的特点,需要的朋友可以参考下 利用PHP编码生成PDF文件是一个非常耗时的工作 ...

  7. 使用wkhtmltopdf把网页转换为pdf的经验总结

    最近项目上需要做一个在线合同的功能,合同有电子版,需要把网页版的合同直接生产pdf,要求样式不能乱,有页码有页眉页脚等等,在网上搜索一段时间后,找到了一个工具叫: wkhtmltopdf ,这应该是国 ...

  8. wkhtmltopdf 中文参数详解

    linux:wkhtmltopdf [OPTIONS]- [More input files] windows:wkhtmltopdf.exe [OPTIONS]- [More input files ...

  9. wkhtmltopdf参数详解

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zhangkezhi_471885889/article/details/52184744 linux ...

最新文章

  1. 最短路 poj1125
  2. 【建议收藏】IntelliJ IDEA 常用的快捷键 提高开发效率
  3. html页面右侧滚动,HTML5页面点击和左右滑动页面滚动
  4. boost::units::absolute相关的测试程序
  5. Gmail技巧之无限别名
  6. vue实现原理解析及一步步实现vue框架
  7. 【算法系列之十三】二叉树两叶节点的最大距离
  8. 我的世界服务器玩家在线指令,我的世界服务器中玩家间的传送功能 | 我的世界 | MC世界侠...
  9. PRML-系类二之2.1
  10. 驯龙大师稳了!iQOO Neo6游戏实测:两款手游均接近满帧
  11. ionic2 问题整理汇总
  12. 俺的房子内有空调冬暖夏凉,房间宽敞气派非凡
  13. c语言算法单循环球队比赛安排,单循环赛赛程安排算法的研究.doc
  14. 一个可以在线播放解析m3u8,mp4的网站 m3u8player.lantianye3.top
  15. NOI2021颓废记
  16. 2008服务器系统c盘清理,WindowsServer2008清理C盘空间
  17. 聊聊技术人的“绩效考核”
  18. 激活函数的作用是什么
  19. 二分查找算法(递归+非递归)
  20. [Android驱动] 高通 Q PNP Flash LED驱动 及上层调用的流程

热门文章

  1. Android访问数据库(SQL Server 和 MySQL)
  2. 第四章:更多的bash shell命令
  3. springboot整合视图层之freemarker
  4. JavaWeb笔记(七)FilterListener
  5. 亚马逊因密码泄露重置部分用户密码
  6. C#水晶报表,窗体不显示,闪退
  7. Java并发编程 - 显示锁Lock和ReentrantLock
  8. bootstrapValidator对于隐藏域验证和程序赋值即时验证的问题
  9. 自定义序列化和反序列化的java实现
  10. Java中哪些可以作为GC Roots