wkhtmltopdf实现html导出pdf的方法
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,这篇文章主要介绍"wkhtmltopdf实现html导出pdf的方法",在日常操作中,相信很多人在wkhtmltopdf实现html导出pdf的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的
千家信息网最后更新 2024年11月26日wkhtmltopdf实现html导出pdf的方法
这篇文章主要介绍"wkhtmltopdf实现html导出pdf的方法",在日常操作中,相信很多人在wkhtmltopdf实现html导出pdf的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"wkhtmltopdf实现html导出pdf的方法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在风控系统开发过程中,我使用到了wkhtmltopdf来完成后端生成pdf导出的功能。其中,为此功能,我也编写了一个wkhtmltopdf的工具类,可以反复采用。
一、HtmlToPdfInterceptor类
本类是为了能够开个线程实现wkhtmltopdf这个过程:
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(); } }}
二、HtmlToPdf工具类
当然,首先是要在服务器上安装好了wkhtmltopdf这个软件,并且配置好环境变量和中文字符集。
import java.io.File;public class HtmlToPdf { // wkhtmltopdf在系统中的路径 //windows环境// private static final String toPdfTool = "C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe"; //linux环境// private static final String toPdfTool = "//usr//local//bin//wkhtmltopdf"; public static boolean convert(String toPdfTool, String srcPath, String destPath) { File file = new File(destPath); File parent = file.getParentFile(); // 如果pdf保存路径不存在,则创建路径 if (!parent.exists()) { parent.mkdirs(); } StringBuilder cmd = new StringBuilder(); //引入wkhtmltopdf cmd.append(toPdfTool); cmd.append(" "); //设置页面大小 cmd.append(" --page-size A4"); //左边间距 cmd.append(" --margin-left 4"); // 页眉下面的线 cmd.append(" --header-line"); //页眉中间内容 cmd.append(" --header-center 中之保金融科技(成都)有限公司 "); // (添加一个HTML页眉,后面是网址) cmd.append(" --margin-top 2cm "); // (设置页眉和内容的距离,默认0) cmd.append(" --header-spacing 5 "); //设置在中心位置的页脚内容 cmd.append(" --footer-center 第[page]页/共[topage]页"); //页脚字体大小 cmd.append(" --footer-font-size 7"); // * 显示一条线在页脚内容上) cmd.append(" --footer-line"); // (设置页脚和内容的距离) cmd.append(" --footer-spacing 0 "); 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; }}
到此,关于"wkhtmltopdf实现html导出pdf的方法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
内容
方法
页眉
学习
环境
路径
功能
大小
工具
更多
系统
过程
帮助
实用
为此
接下来
位置
公司
变量
字体
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南宁三公棋牌软件开发公司
军人如何守住网络安全
细胞株测序数据库
网络技术题目答题
服务器 超频
我的世界街机小游戏服务器推荐
数据库属性二级分类
数据库可以随便建吗
钉钉oa用友软件开发价格
网络安全技术与应用读书心得
服装数据库数据字典
dhcp服务器配置表
权朗网络技术是什么
网络安全法征求意见稿社保数据
成都web渗透网络安全培训机构
麻城市软件开发公司
139邮箱的pop服务器地址
数据库化工
抢票软件开发用什么语言
台服天堂m最新服务器
医院的网络安全不
中国网络安全战略建议
数据库原理投影的名词解释
完美服务器打csgo很卡
我的世界服务器招管理员8月
网络技术事业单位是什么类型
珠海微商软件开发联系方式
护苗网络安全手抄报
软件开发的是什么职业
浙江ntp时间服务器设置