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安全错误
数据库的锁怎样保障安全
韶关启明星网络技术微博
exsi服务器意外断电
网络安全意识培训测试
冒险岛哪个服务器
服务器容易中的病毒
信息化网络安全专题培训考试
安全狗服务器远程权限怎么给
网络安全管理岗位职责
阿里网络安全主管是谁
广东省网络安全局
网络安全预防人防联防
adonet怎么连接数据库
苏州泽众软件开发公司电话
网络安全 小学信息教案
网络安全专家有待遇吗
b站linux服务器开发
北京校园服务器虚拟化软件
SQL 读取 数据库
网络安全的影响个人层面
服务器数据安全性管理
全国中学生网络安全知识
wbs 软件开发活动图
澄城租房软件开发
网络技术结尾
监控服务器状态
软件开发领域最新技术总结
数据库相关联的英语术语
软件开发员工转正自我鉴定
老笔记本改成服务器
信息网络安全侦查是公安专业吗