wkhtmltopdf工具将网站转换成pdf或图片
发布日期:2021-06-29 18:10:31
浏览次数:2
分类:技术文章
本文共 2335 字,大约阅读时间需要 7 分钟。
0. 下载与安装
- 官网地址:
- 官网下载地址:
下载成功后双击安装,目录可以自己指定,安装成功后进入其目录中:
1. 配置环境变量
我们进入 wktmltopdf 目录下的bin 目录,将目录的路径地址复制下来:
接下来,我们在wkhtmltopdf 目录下新建一个 wk-pdfs 文件夹,用于存放保存的pdf 文件:
同样的,我们在wkhtmltopdf 目录下新建一个 wk-images 文件夹,用于存放保存的图片文件:
注意:不要wkhtmltopdf 文件夹的路径中不要有中文路径!
2. 测试使用
2.1 将指定页面生成pdf
打开CMD命令行,执行如下命令:
wkhtmltopdf https://www.baidu.com F:\wkhtmltopdf\wk-pdfs\1.pdf
如图,这样就把 的网页以 PDF 形式保存到了
打开该pdf 看一下效果:
2.2 将指定页面生成图片
打开CMD命令行,执行如下命令:
wkhtmltoimage https://www.baidu.com F:\wkhtmltopdf\wk-images\1.png
(不压缩)
生成的图片效果如图:
wkhtmltoimage --quality 75 https://www.baidu.com F:\wkhtmltopdf\wk-images\2.png
(压缩图片)
–quality 75:就表示生成图片的质量为原来的 75%!
对比二者大小:
3. Java 中使用wkhtmltopdf
代码如下:
/** * @Auther: csp1999 * @Date: 2020/12/05/19:19 * @Description: */public class WKTests { public static void main(String[] args) { // F:\\wkhtmltopdf\\wkhtmltopdf\\bin\\wkhtmltoimage :该工具可执行文件的位置 // --quality 75 :图片质量为75% // https://www.nowcoder.com : 要生成图片的网站地址 // F:\\wkhtmltopdf\\wk-images\\3.png :生成图片保存的路径 String cmd = "F:\\wkhtmltopdf\\wkhtmltopdf\\bin\\wkhtmltoimage" + "--quality 75 https://www.nowcoder.com F:\\wkhtmltopdf\\wk-images\\3.png"; try { Runtime.getRuntime().exec(cmd); System.out.println("运行成功..."); } catch (IOException e) { e.printStackTrace(); } }}
效果如图:
4. SpringBoot 整合wkhtmltopdf
4.1 application.properties
# wk 工具相关配置# wk 工具的路径(生成图片)wk.image.command=F:/wkhtmltopdf/wkhtmltopdf/bin/wkhtmltoimage# wk 工具的路径(生成pdf)wk.pdf.command=F:/wkhtmltopdf/wkhtmltopdf/bin/wkhtmltopdf# 生成的图片文件存储路径wk.image.storage=F:/wkhtmltopdf/wk-images/# 生成的pdf文件存储路径wk.pdf.storage=F:/wkhtmltopdf/wk-pdfs/
4.2 WkConfig 配置类
/** * @Auther: csp1999 * @Date: 2020/12/05/19:34 * @Description: Wk 工具相关配置类 */@Configurationpublic class WkConfig { private static final Logger logger = LoggerFactory.getLogger(WkConfig.class); // 生成的图片文件存储路径 @Value("${wk.image.storage}") private String wkImageStorage; /** * 该注解修饰的方法会自动执行, * 执行顺序:Constructor(构造方法) —> @Autowired(依赖注入) —> @PostConstruct(注释的方法) */ @PostConstruct public void init() { // 创建Wk图片保存的目录 File file = new File(wkImageStorage); if (!file.exists()) { file.mkdir(); logger.info("创建WK图片目录: " + wkImageStorage); } }}
转载地址:https://csp1999.blog.csdn.net/article/details/110716381 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月11日 00时53分20秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
centos7 基于rsync+inotify 实现定时备份
2019-04-29
指定IP进行 文件的分发
2019-04-29
基于http搭建本地yum仓库
2019-04-29
常规邮件基础
2019-04-29
邮件基础之 -- SMTP协议
2019-04-29
Java设计模式--责任链模式
2019-04-29
OpenCV的cvLoadImage函数
2019-04-29
OpenCV中与matlab中相对应的函数
2019-04-29
C/C++中二维数组作函数形参时,调用函数时,可传递的实参类型的小结
2019-04-29
cvGetSubRect与cvMul用法
2019-04-29
opencv图像处理梯度边缘和角点
2019-04-29
Caffe源码中blob文件分析
2019-04-29
OpenCV 图像采样 插值 几何变换
2019-04-29
图像处理-仿射变换 AffineTransform
2019-04-29
图像二值化----otsu(最大类间方差法、大津算法)
2019-04-29
图像二值化----otsu(最大类间方差法、大津算法)(二)
2019-04-29
OpenCV编程案例:使用轮廓函数检测连通区域
2019-04-29
opencv使用cvFindContours提取联通域
2019-04-29
C++中MessageBox的常见用法
2019-04-29
ordfilt2函数功能说明
2019-04-29