当前位置: 首页 > news >正文

wkhtmltopdf 工具安装与使用

前情提要:

        最近一个同事请叫我一个问题,他发现一片不错的博文,是在博客园的,但是不能下载这篇文章,我看了一下才发现,原来csdn也是不行的。合理。毕竟是人家辛苦写的文章,不能就这么被别人随便copy吧。各个博文网站这么做也是合理,但是对一个前端来讲,我觉得这是个好问题,今天分享一个可以把文章搞下来的方案,还原率在95%以上。

        其实就是用wkhtmltopdf 这个软件,顾名思义,这个就是html 向 pdf转变的一个工具。一般来讲我们就是纯复制粘贴是肯定可以的。但是对于真的好文章来说,一般是字数篇幅非常大的。不过哪怕很大,也是可以CV的,这么看来确实不需要下载的功能。

工具下载地址:wkhtmltopdf

(注意:以下方式只是给大家举例一下,相当于最简单的一种操作,其实还有很多参数和指令,大家可以参考官网或者别的博文)

步骤:

方式一:

下载完成之后进入bin文件夹下,找到有wkhtmltopdf.exe。

打开cmd命令行。(当前文件夹的cmd)

wkhtmltopdf.exe  +被修改文件的全路径   + 需要生成的pdf文件(名字最好和HTML文件保持一致,仅后缀名不同)// 举例
wkhtmltopdf.exe  D:\A_my_study\HBuilderProjects\test1\14-text.html  14-text.pdf

这样,这个pdf就会在当前文件夹中生成。

用这个最大的好处是,生成的pdf文件和网页上的原文的格式可以说是基本完成一致。甚至包括图片也是可以copy下来。

方式二:

跟刚才一样,这里的方式是直接换成某网站的URL,可以直接将网站的文章下载成pdf文件。

但是有时候会失败,我的成功率在50%左右,不排除网络原因和某些网站设置了防止这种操作的一些举措。有的时候会卡住,需要等待一会,也可以下载下来,难以置信。

小结:

        个人觉得第二种方式才是使用这个工具的最大好处,但是有时候不能成功。第一种方式保险一些是肯定能保存下载成功的。懂前端的伙伴可以在网站的HTML中截取文章那部分内容,cv到本地的vscode或者HBuilder中,自己生成一个,然后在使用工具转成PDF即可。试过会感觉很爽。

选择标签后,右键弹出选项,选择“以HTML格式修改”,

把这块CV下来到我们的html文件中

然后执行“方式一”。生成的pdf完美还原网站。这一点是通过CV完全比不了的,通过wkhtmltopdf 可以保证格式基本还原原网站。

再补充一下哈,其实用这个工具的场景还比较少,一般人CV就可以,如果真有这个需要的话,wkhtmltopdf 是个不错的选择。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • excel系列(三) - 利用 easyexcel 快速实现 excel 文件导入导出
  • https和http有哪些区别?
  • 邮件安全篇:如何防止邮件泄密?
  • SystemUI默认去掉底部导航栏
  • 第八讲:Sysmac Studio控制器设置
  • 初识Maven
  • 深入浅出WebRTC—DelayBasedBwe
  • Python学习总结
  • 无人机侦察:一维相扫雷达技术详解
  • 某4G区域终端有时驻留弱信号小区分析
  • Nginx 怎样处理请求的重试机制?
  • Ubuntu22.04系统安装nodejs 14 保姆级教程
  • arm、AArch64、x86、amd64、x86_64 的区别
  • 【OSS对象存储】Springboot集成阿里云OSS + 私有化部署Minio
  • Redis 哨兵搭建
  • 【译】理解JavaScript:new 关键字
  • Angular数据绑定机制
  • canvas 五子棋游戏
  • jquery cookie
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • webpack+react项目初体验——记录我的webpack环境配置
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 笨办法学C 练习34:动态数组
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 阿里云重庆大学大数据训练营落地分享
  • ​520就是要宠粉,你的心头书我买单
  • ​必胜客礼品卡回收多少钱,回收平台哪家好
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #14vue3生成表单并跳转到外部地址的方式
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #微信小程序:微信小程序常见的配置传旨
  • $(selector).each()和$.each()的区别
  • (12)Linux 常见的三种进程状态
  • (39)STM32——FLASH闪存
  • (SpringBoot)第七章:SpringBoot日志文件
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二)linux使用docker容器运行mysql
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (算法)硬币问题
  • .NET BackgroundWorker
  • .net core 使用js,.net core 使用javascript,在.net core项目中怎么使用javascript
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET 通过系统影子账户实现权限维持
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NET6 命令行启动及发布单个Exe文件
  • .NET程序集编辑器/调试器 dnSpy 使用介绍
  • .NET程序员迈向卓越的必由之路
  • .NET单元测试
  • .NET使用存储过程实现对数据库的增删改查
  • .NET中两种OCR方式对比
  • // an array of int