一款在Linux 中将网页转成 PDF 的智能工具
wkhtmltopdf 是一个开源、简单而有效的命令行 shell 程序,它可以将任何 HTML (网页)转换为 PDF 文档或图像(jpg、png 等)。 |
wkhtmltopdf 是用 C++ 编写的,并在 GNU/GPL (通用公共许可证)下发布。它使用 WebKit 渲染引擎将 HTML 页面转换为 PDF 文档且不会丢失页面的质量。这是一个用于实时创建和存储网页快照的非常有用且可信赖的解决方案。
- 开源并且跨平台。
- 使用 WebKit 引擎将任意 HTML 网页转换为 PDF 文件。
- 添加页眉和页脚的选项
- 目录生成 (TOC) 选项。
- 提供批量模式转换。
- 通过绑定 libwkhtmltox 来支持 PHP 或 Python。
在本文中,我们将介绍如何在 Linux 系统下使用 tar 包来安装 wkhtmltopdf。
让我们在 Linux 系统中安装 evince (一个 PDF 阅读器)来浏览 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]
使用wget 命令根据你的 Linux 架构来下载 wkhtmltopdf 源码文件,或者你也可以在wkhtmltopdf 下载页下载最新的版本(目前最新的稳定版是 0.12.4)
在 64 位 Linux 系统中:
$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
在 32 位 Linux 系统中:
$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-i386.tar.xz
使用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/
我们会看到如何将远程的 HTML 页面转换成 PDF 文件、验证信息、使用 evince 在 GNOME 桌面中浏览创建的文件。
要将任意 HTML 页面转换成 PDF,运行下面的命令。它会在当前目录下将页面转换成10-Sudo-Configurations.pdf。
# wkhtmltopdf http://www.tecmint.com/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
为了验证创建的文件,使用下面的命令。
$ file 10-Sudo-Configurations.pdf
示例输出:
10-Sudo-Configurations.pdf: PDF document, version 1.4
要浏览生成的文件信息,运行下面的命令。
$ 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
在桌面中使用 evince 查看最新生成的 PDF 文件。
$ evince 10-Sudo-Configurations.pdf
示例截图:
在我的 Linux Mint 17 中看起来很棒。
要创建一个 PDF 文件的目录,使用 toc 选项。
$ wkhtmltopdf toc http://www.tecmint.com/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
要查看已创建文件的 TOC,再次使用 evince。
$ evince 10-Sudo-Configurations.pdf
示例截图:
看一下下面的图。它上看去比上面的更好。
更多关于 wkhtmltopdf 的使用及选项,使用下面的帮助命令。它会显示出所有可用的选项。
$ wkhtmltopdf --help
via: http://www.tecmint.com/wkhtmltopdf-convert-website-html-page-to-pdf-linux/
作者:Ravi Saive 译者:geekpi 校对:wxy
原文来自:https://linux.cn/article-8362-1.html
本文地址:https://www.linuxprobe.com/wkhtmltopdf-linux-pdf.html编辑员:郭建鹏,审核员:逄增宝
本文原创地址:https://www.linuxprobe.com/wkhtmltopdf-linux-pdf.html
本文来自博客园,作者:linux_pro,转载请注明原文链接:https://www.cnblogs.com/linuxpro/p/17539893.html