Windows安装wkhtmltox工具以及使用方法
前言
最近开发中,有接口需要将一个网页页面完整的转换为PDF文件,以下便是我所使用过的安装方法、使用方法
⚠️:对于样式比较复杂、且图片比较多的页面,该工具可能转换效果不理想,推荐使用在不需要转换很复杂的页面上
⚠️:此片文章基于Windows操作系统
相关文章(本文与下面两篇有密切关系):
一、安装方法
1、wkthmltox是什么?
wkhtmltox 是一个开源的命令行工具,可以将 HTML 转换成 PDF文件或各种格式的图片
;支持包括 Windows、Linux、MacOS
等多种操作系统;支持包括PHP、Java、Python
等多种编程语言调用
⚠️:可能会出现转换后存在难以解决的乱码问题(没有什么工具是能十全十美的)
2、下载wkhtmltox
1、官网地址:https://wkhtmltopdf.org/ 或下载网址:https://wkhtmltopdf.org/downloads.html
2、根据使用的操作系统自行选择版本(由于该工具久未更新,建议下载最新版本);本文准备的是Windows版本:wkhtmltox-0.12.6-1.msvc2015-win64.exe
3、安装wkhtmltox
- 解压下载到的安装包
- 双击安装包
- 点击同意
- 选择路径,我的是C:\wkhtmltox\
- 接着一路next即可
4、查看安装版本
1 | //在cmd黑窗口中使用以下命令 |
5、安装位置
1 | //安装成功后会有两种功能,分别是`html转pdf`以及`html转图片`;它们对应的安装位置如下 |
6、配置环境变量
说明:为了cmd黑窗口可以正常使用该工具、需要配置一下环境变量,操作步骤如下
1、右键桌面“此电脑”
,点击“属性”
2、点击“高级系统变量”
,点击“环境变量”
3、在系统变量栏中找到变量“Path”
,点击编辑
4、将wkhtmltox安装目录加入“Path”变量
中
5、我的目录位置为C:\wkhtmltox\wkhtmltopdf\bin
6、加入后点击确定
即可
二、使用方法
1、使用模版
PDF转换测试
# 模版
wkhtmltopdf 页面路径 /目录/转换文件名称
wkhtmltoimage 页面路径 /目录/转换文件名称
2、使用用例
# html转pdf
wkhtmltopdf https://wkhtmltopdf.org/downloads.html C:/Downloads/test.pdf
效果如下图:
# html转图片
wkhtmltopdf https://wkhtmltopdf.org/downloads.html C:/Downloads/test.png
效果如下图:
三、参数介绍
相关参数命令如下,具体更详细的参数命令可以自行查看官方网站中的参数文档
全局选项
–collate 打印多份时进行校验(默认)
–no-collate 打印多个文件时不要进行校验
–cookie-jar
–copies
-d, --dpi
-H, --extended-help 命令帮助符,展示全部命令
-g, --grayscale PDF将以灰度形式生成
–htmldoc 输出程序html帮助
-image-dpi
–image-quality
–license 输出许可证信息并退出
–log-level
-l, --lowquality 生成较低质量的pdf/ps。有助于缩小结果文档空间
–manpage 输出程序手册页
-B, --margin-bottom <> 设置页面底部边距
-L, --margin-left <> 设置页面左边距(默认为10mm)
-R, --margin-right <> 设置页面右边距(默认为10mm)
-T, --margin-top <> 设置页面的上边距
-O, --orientation <> 将方向设置为横向或纵向(默认纵向)
–page-height <> 页高
-s, --page-size <> 将纸张大小设置为:A4、字母等。(默认A4)
–page-width <> 页宽
–no-pdf-compression 不要对pdf对象使用无损压缩
-q, --quiet 减少冗长,保持向后兼容性;与使用–log level none相同
–read-args-from-stdin 从stdin读取命令行参数
–readme 输出程序介绍
–title
–use-xserver 使用X服务器(没有X11,一些插件和其他东西可能无法工作)
-V, --version 输出版本信息并退出
大纲选项
–dump-default-toc-xsl 将默认的TOC xsl样式表转储到stdout
–dump-outline
–outline 将大纲放入pdf(默认)
–no-outline 不将大纲放入pdf
–outline-depth
页面选项
–allow
–background 打印背景(默认)
–no-background 不打印背景
–bypass-proxy-for
–cache-dir
–checkbox-checked-svg
–checkbox-svg
–cookie
–custom-header
–custom-header-propagation 为每个资源请求添加由–custom header指定的HTTP头
–no-custom-header-propagation 不要为每个资源请求添加由–custom header指定的HTTP头
–debug-javascript 显示javascript调试输出
–no-debug-javascript 不显示javascript调试输出(默认)
–default-header 添加一个默认的页眉,左边是页面名称,右边是页码,这是–header left=‘[webpage]’–header right=‘[page]/[toPage]’–顶部2厘米–页眉行的缩写
–encoding
–disable-external-links 不要链接到远程网页
–enable-external-links 创建指向远程网页的链接(默认)
–disable-forms 不要将HTML表单字段转换为pdf表单字段(默认)
–enable-forms 将HTML表单字段转换为pdf表单字段
–images 加载或打印图像(默认)
–no-images 不加载或打印图像
–disable-internal-links 不要建立本地链接
–enable-internal-links 创建本地链接(默认)
-n, --disable-javascript 不允许网页运行javascript
–enable-javascript 允许网页运行javascript(默认)
–javascript-delay
–keep-relative-links 将相对外部链接保持为相对外部链接
–load-error-handling
–load-media-error-handling
–disable-local-file-access 不允许将本地文件转换为读取其他本地文件,除非使用–allow(默认值)明确允许
–enable-local-file-access 允许将本地文件转换为读取其他本地文件
–minimum-font-size
–exclude-from-outline 不要将该页包含在目录和大纲中
-include-in-outline 将页面包括在目录和大纲中(默认)
–page-offset
–password
–disable-plugins 禁用已安装的插件(默认)
–enable-plugins 启用已安装的插件(插件可能无法工作)
–post
–post-file
–print-media-type 使用打印媒体类型而不是屏幕
–no-print-media-type 不使用打印介质类型而不是屏幕(默认)
-p, --proxy
–proxy-hostname-lookup 使用代理解析主机名
–radiobutton-checked-svg
–radiobutton-svg
–resolve-relative-links 将相对外部链接解析为绝对链接(默认)
–run-script
–disable-smart-shrinking 禁用WebKit使用的使像素/dpi比率非恒定的智能收缩策略
–enable-smart-shrinking 启用WebKit使用的智能收缩策略,使像素/dpi比率非恒定(默认)
–ssl-crt-path
–ssl-key-password
–ssl-key-path
–stop-slow-scripts 停止缓慢运行的Java脚本(默认)
–no-stop-slow-scripts 不要停止缓慢运行的Java脚本
–disable-toc-back-links 不从节头链接到toc(默认)
–enable-toc-back-links 从节头到目录的链接
–user-style-sheet
–username
–viewport-size <> 如果有自定义滚动条或css属性溢出来模拟窗口大小,请设置视口大小
–window-status
–zoom
页眉和页脚选项
–footer-center
–footer-font-name
–footer-font-size
–footer-html
–footer-left
–footer-line 在页脚上方显示行
–no-footer-line 不在页脚上方显示行(默认)
–footer-right
–footer-spacing
–header-center
–header-font-name
–header-font-size
–header-html
–header-left
–header-line 标题下方的显示行
–no-header-line 无标题行不显示标题下方的行(默认)
–header-right
–header-spacing
–replace
TOC选项
–disable-dotted-lines 不要在toc中使用虚线
–toc-header-text
–toc-level-indentation
–disable-toc-links 不要从toc链接到章节
–toc-text-size-shrink
–xsl-style-sheet
借鉴链接
wkhtmltopdf 安装使用 笔记
更多关于wkhtmltox扩展工具的知识持续更新中!!!
声明
借鉴部分均注明了原文出处,可在文章的`借鉴链接`处获取原文出处文中若内容有涉及原版权,请邮件联系elvin-chen@qq.com,涉及的相关文章或内容将会及时更改或取消发布