网站搜索

Wkhtmltopdf - 在 Linux 中将网站 HTML 页面转换为 PDF 的智能工具


Wkhtmltopdf 是一个开源、简单且高效的命令行 shell 实用程序,使用户能够将任何给定的 HTML网页)转换为 >PDF 文档或图像(jpgpng 等)。

Wkhtmltopdf 采用C++编程语言编写,并根据GNU/GPL通用公共许可证)分发。它使用WebKit渲染布局引擎将HTML页面转换为PDF文档,而不会降低页面的质量。它确实是非常有用且值得信赖的实时创建和存储网页快照的解决方案。

Wkhtmltopdf 功能

  1. 开源和跨平台。
  2. 使用WebKit引擎将任何HTML网页转换为PDF文件。
  3. 添加页眉和页脚的选项
  4. 目录 (TOC) 生成选项。
  5. 提供批处理模式转换。
  6. 通过绑定到 libwkhtmltox 支持 PHPPython

在本文中,我们将向您展示如何使用源 tarball 文件在 Linux 系统下安装 Wkhtmltopdf 程序。

安装 Evince(PDF 查看器)

让我们安装evince(一个PDF阅读器)程序,用于在Linux系统中查看PDF文件。

sudo yum install evince             [RHEL/CentOS and Fedora]
sudo dnf install evince             [On Fedora 22+ versions]
sudo apt-get install evince         [On Debian/Ubuntu systems]

下载 Wkhtmltopdf 源文件

使用 Wget 命令下载适用于您的 Linux 架构的 wkhtmltopdf 源文件,或者您也可以下载最新版本(当前稳定系列为 0.12.4) wkhtmltopdf 下载页面。

在 64 位 Linux 操作系统上
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
在 32 位 Linux 操作系统上
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-i386.tar.xz

在 Linux 中安装 Wkhtmltopdf

使用以下 tar 命令将文件提取到当前工作目录。

------ On 64-bit Linux OS ------
sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 

------ On 32-bit Linux OS ------
sudo tar -xvzf wkhtmltox-0.12.4_linux-generic-i386.tar.xz 

wkhtmltopdf安装在/usr/bin目录下,以便从任何路径轻松执行程序。

sudo cp wkhtmltox/bin/wkhtmltopdf /usr/bin/

如何使用Wkhtmltopdf?

在这里,我们将了解如何将远程 HTML 页面转换为 PDF 文件、验证信息、使用 GNOME 中的 evince 程序查看创建的文件桌面。

将网站 HTML 页面转换为 PDF 文件

要将任何网站 HTML 网页转换为 PDF,请运行以下示例命令。它将把给定的网页转换为当前工作目录中的 10-Sudo-Configurations.pdf。

wkhtmltopdf https://linux-console.net/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf
示例输出:
Loading pages (1/6)
Counting pages (2/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

查看生成的 PDF 文件

要验证文件是否已创建,请使用以下命令。

file 10-Sudo-Configurations.pdf
示例输出:
10-Sudo-Configurations.pdf: PDF document, version 1.4

查看生成的 PDF 文件的信息

要查看生成文件的信息,请发出以下命令。

pdfinfo 10-Sudo-Configurations.pdf
示例输出:
Title:          10 Useful Sudoers Configurations for Setting 'sudo' in Linux
Creator:        wkhtmltopdf 0.12.4
Producer:       Qt 4.8.7
CreationDate:   Sat Jan 28 13:02:58 2017
Tagged:         no
UserProperties: no
Suspects:       no
Form:           none
JavaScript:     no
Pages:          13
Encrypted:      no
Page size:      595 x 842 pts (A4)
Page rot:       0
File size:      697827 bytes
Optimized:      no
PDF version:    1.4

查看创建的 PDF 文件

使用桌面上的 evince 程序查看新创建的 PDF 文件。

evince 10-Sudo-Configurations.pdf
截图示例:

在我的 Linux Mint 17 盒子下看起来很漂亮。

将页面的 TOC(目录)创建为 PDF

要为 PDF 文件创建目录,请使用 toc 选项。

wkhtmltopdf toc https://linux-console.net/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf
示例输出:
Loading pages (1/6)
Counting pages (2/6)
Loading TOC (3/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done

要检查创建的文件的目录,请再次使用 evince 程序。

evince 10-Sudo-Configurations.pdf
截图示例:

看看下面的图片。它看起来比上面的还要好。

Wkhtmltopdf 选项和用法

有关 Wkhtmltopdf 更多用法和选项,请使用以下帮助命令。它将显示您可以使用的所有可用选项的列表。

wkhtmltopdf --help