在网页端浏览一些重要教程、博客时,总想把它下载下来,方便离线查看以及打印。浏览器打印模块可以部分实现这个功能,但它的原理是抓拍,原网页的树状结构等信息不能完整保存。

wkhtmltopdf 是一个开源、简单而有效的命令行 shell 程序,它可以将任何 HTML 转换为 PDF 文档或图像(jpg、png 等)。支持多个平台,可在 Windows ,Linux ,Os x 等系统下运行。

Linux下安装

下载页面查看适合自己系统的最新版本,此处我用 wget 命令下载了ubuntu 16.04 amd64 安装包(deb格式)。

$ wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.xenial_amd64.deb

安装依赖组件:

$ sudo apt-get install libxfont1 xfonts-encodings xfonts-utils xfonts-base xfonts-75dpi

用 dpkg -i 命令安装 deb 安装包:

$ sudo dpkg -i wkhtmltox_0.12.5-1.xenial_amd64.deb

测试,例如将 bing 首页转成 pdf:

$ wkhtmltopdf  www.cn.bing.com test.pdf

查看,envince 或用鼠标打开:

$ envince test.pdf

同时,wkhtmltoimage 可以将 html 或 url 网页转成图片。

wkhtmltopdf 还有很多更复杂的功能,需要的可以点击下面参考资料或者自行搜索。

参考资料

a. wkhtmltopdf 官网.

b. 一个 Linux 中将网页转成 PDF 的智能工具.

c. HTML 转 PDF 之 wkhtmltopdf 工具精讲.