wkhtmltopdf 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

wkhtmltopdf 命令安装:


-bash/zsh: wkhtmltopdf command not found

#Windows (WSL2)
sudo apt-get update sudo apt-get install wkhtmltopdf

#Debian
apt-get install wkhtmltopdf

#Ubuntu
apt-get install wkhtmltopdf

#Arch Linux
pacman -S wkhtmltopdf

#Kali Linux
apt-get install wkhtmltopdf

#Fedora
dnf install wkhtmltopdf

#Raspbian
apt-get install wkhtmltopdf

--------------------
Windows 及 CentOS 等其他平台安装,请移步官网:
https://wkhtmltopdf.org/downloads.html

#Dockerfile
dockerfile.run/wkhtmltopdf

wkhtmltopdf 命令补充说明:


wkhtmltopdfwkhtmltoimage 是开源代码(LGPLv3)命令行工具,可使用 Qt WebKit 渲染引擎将 HTML 渲染为 PDF 和各种图像格式。它们完全独立运行,不需要显示服务。

使用 wkhtmltopdf 命令行生成 PDF,无需做任何开发,直接命令行使用,非常方便,而且效果接近完美!如:

wkhtmltopdf https://commandnotfound.cn/ CommandNotFound.pdf

效果图如下,完美支持中文( 如果 wkhtmltopdf 生成的 PDF 中文乱码,需要页面设置为 UTF-8 编码

wkhtmltopdf 命令使用方法:


  • 下载预编译的 wkhtmltopdf 二进制文件或通过源码构建
  • 创建要转换为 PDF(或图像)的 HTML 文档
  • 通过该工具运行 HTML 文档。

wkhtmltopdf 命令语法:


wkhtmltopdf [GLOBAL OPTION]... [OBJECT]... <output file> 

wkhtmltopdf 命令选项:


    --collate             当输出多个副本时进行校验(这是默认设置)
    --no-collate          当输出多个副本时不进行校验
    --cookie-jar <path>   从提供的JAR文件中读写cookie数据
    --copies <number>     设置输出副本的数量(默认主1),其实为1就够了
-d, --dpi <dpi>           指定一个要分辨率(这在 X11 系统中并没有什么卵用)
-H, --extended-help       相对 -h 参数,显示更详细的说明文档
-g, --grayscale           指定以灰度图生成PDF文档。占用的空间更小
-h, --help                显示帮助信息  
    --htmldoc             输出程序的html帮助文档
    --image-dpi <integer> 当页面中有内嵌的图片时,
                          会下载此命令行参数指定尺寸的图片(默认值是 600)
    --image-quality <interger> 当使用 jpeg 算法压缩图片时使用这个参数指定的质量(默认为 94)
    --license             输出授权信息并退出
-l, --lowquality          生成低质量的 PDF/PS ,能够很好的节约最终生成文档所占存储空间
    --manpage             输出程序的手册页
-B, --margin-bottom <unitreal> 设置页面的 底边距
-L, --margin-left <unitreal>   设置页面的 左边距 (默认是 10mm)
-R, --margin-right <unitreal>  设置页面的 右边距 (默认是 10mm)
-T, --margin-top <unitreal>    设置页面的 上边距
-O, --orientation <orientation> 设置为“风景(Landscape)”或“肖像(Portrait)”模式,
                                默认是肖像模块(Portrait)
    --page-height <unitreal>   页面高度
-s, --page-size <Size>         设置页面的尺寸,如:A4,Letter等,默认是:A4
    --page-width <unitreal>    页面宽度
    --no-pdf-compression       不对PDF对象使用丢失少量信息的压缩算法,不建议使用些参数,
                               因为生成的PDF文件会非常大。
-q, --quiet                    静态模式,不在标准输出中打印任何信息
    --read-args-from-stdin     从标准输入中读取命令行参数,后续会有针对此指令的详细介绍,
                               请参见 **从标准输入获取参数**
    --readme                   输出程序的 readme 文档
    --title <text>             生成的PDF文档的标题,如果不指定则使用第一个文档的标题
-V, --version                  输出版本信息后退出

wkhtmltopdf 命令参数:


目标文件

wkhtmltopdf 命令实例:


wkhtmltopdf 通过在命令行中添加 TOC 对象 可以把一个目录添加到生成的 PDF 文档中,例如下面的代码段:

wkhtmltopdf toc http://qt-project.org/doc/qt-4.8/qstring.html qstring.pdf

wkhtmltopdf 生成的目录也是基于 HTML 文档的 H 标签。过程是首先生成一个 XML 文档,然后使用 XSLT 转换为 HTML

wkhtmltopdf 生成的 XML 文档可以通过 --dump-outline 参数查看。

wkhtmltopdf --dump-outline toc.xml http://qt-project.org/doc/qt-4.8/qstring.html qstring.pdf

如果想要 wkhtmltopdf 使用自定义的 XSLT 文档可以通过 --xsl-style-sheet 参数指定

wkhtmltopdf toc --xsl-style-sheet my.xsl http://qt-project.org/doc/qt-4.8/qstring.html qstring.pdf

wkhtmltopdf 也可以使用 --dump-default-toc-xsl 参数把默认的 XSLT 文档打印到标准输出,然后基于它创建你的自定义 XSLT 文档。

wkhtmltopdf --dump-default-toc-xsl

wkhtmltopdf 命令扩展阅读:




wkhtmltopdf 命令评论