wkhtmltopdf:一个 Linux 中将网页转成 PDF 的智能工具

简介:

wkhtmltopdf 是一个开源、简单而有效的命令行 shell 程序,它可以将任何 HTML (网页)转换为 PDF 文档或图像(jpg、png 等)。

wkhtmltopdf 是用 C++ 编写的,并在 GNU/GPL (通用公共许可证)下发布。它使用 WebKit 渲染引擎将 HTML 页面转换为 PDF 文档且不会丢失页面的质量。这是一个用于实时创建和存储网页快照的非常有用且可信赖的解决方案。

wkhtmltopdf 的功能

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

在本文中,我们将介绍如何在 Linux 系统下使用 tar 包来安装 wkhtmltopdf。

安装 Evince (PDF 浏览器)

让我们在 Linux 系统中安装 evince (一个 PDF 阅读器)来浏览 PDF 文件。

 
 
  1. $ sudo yum install evince [RHEL/CentOS and Fedora]
  2. $ sudo dnf install evince [On Fedora 22+ versions]
  3. $ sudo apt-get install evince [On Debian/Ubuntu systems]
AI 代码解读

下载 wkhtmltopdf 源码文件

使用 wget 命令根据你的 Linux 架构来下载 wkhtmltopdf 源码文件,或者你也可以在 wkhtmltopdf 下载页下载最新的版本(目前最新的稳定版是 0.12.4)

在 64 位 Linux 系统中:

 
 
  1. $ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
AI 代码解读

在 32 位 Linux 系统中:

 
 
  1. $ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-i386.tar.xz
AI 代码解读

在 Linux 中安装 wkhtmltopdf

使用 tar 命令解压文件到当前目录中。

 
 
  1. ------ On 64-bit Linux OS ------
  2. $ sudo tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
  3. ------ On 32-bit Linux OS ------
  4. $ sudo tar -xvzf wkhtmltox-0.12.4_linux-generic-i386.tar.xz
AI 代码解读

为了能从任意路径执行程序,将 wkhtmltopdf 安装到 /usr/bin 目录下。

 
 
  1. $ sudo cp wkhtmltox/bin/wkhtmltopdf /usr/bin/
AI 代码解读

如何使用 wkhtmltopdf?

我们会看到如何将远程的 HTML 页面转换成 PDF 文件、验证信息、使用 evince 在 GNOME 桌面中浏览创建的文件。

将 HTML 网页转成 PDF 文件

要将任意 HTML 页面转换成 PDF,运行下面的命令。它会在当前目录下将页面转换成 10-Sudo-Configurations.pdf

 
 
  1. # wkhtmltopdf http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf
AI 代码解读

示例输出:

 
 
  1. Loading pages (1/6)
  2. Counting pages (2/6)
  3. Resolving links (4/6)
  4. Loading headers and footers (5/6)
  5. Printing pages (6/6)
  6. Done
AI 代码解读

浏览生成的 PDF 文件

为了验证创建的文件,使用下面的命令。

 
 
  1. $ file 10-Sudo-Configurations.pdf
AI 代码解读

示例输出:

 
 
  1. 10-Sudo-Configurations.pdf: PDF document, version 1.4
AI 代码解读

浏览生成的 PDF 文件细节

要浏览生成的文件信息,运行下面的命令。

 
 
  1. $ pdfinfo 10-Sudo-Configurations.pdf
AI 代码解读

示例输出:

 
 
  1. Title: 10 Useful Sudoers Configurations for Setting 'sudo' in Linux
  2. Creator: wkhtmltopdf 0.12.4
  3. Producer: Qt 4.8.7
  4. CreationDate: Sat Jan 28 13:02:58 2017
  5. Tagged: no
  6. UserProperties: no
  7. Suspects: no
  8. Form: none
  9. JavaScript: no
  10. Pages: 13
  11. Encrypted: no
  12. Page size: 595 x 842 pts (A4)
  13. Page rot: 0
  14. File size: 697827 bytes
  15. Optimized: no
  16. PDF version: 1.4
AI 代码解读

浏览创建的文件

在桌面中使用 evince 查看最新生成的 PDF 文件。

 
 
  1. $ evince 10-Sudo-Configurations.pdf
AI 代码解读

示例截图:

在我的 Linux Mint 17 中看起来很棒。

在 PDF 中浏览网页

在 PDF 中浏览网页

给 PDF 创建页面的 目录Table Of Content(TOC)

要创建一个 PDF 文件的目录,使用 toc 选项。

 
 
  1. $ wkhtmltopdf toc http://www.tecmint.com/sudoers-configurations-for-setting-sudo-in-linux/ 10-Sudo-Configurations.pdf
AI 代码解读

示例输出:

 
 
  1. Loading pages (1/6)
  2. Counting pages (2/6)
  3. Loading TOC (3/6)
  4. Resolving links (4/6)
  5. Loading headers and footers (5/6)
  6. Printing pages (6/6)
  7. Done
AI 代码解读

要查看已创建文件的 TOC,再次使用 evince。

 
 
  1. $ evince 10-Sudo-Configurations.pdf
AI 代码解读

示例截图:

看一下下面的图。它上看去比上面的更好。

在 PDF 中创建网页的目录

在 PDF 中创建网页的目录

wkhtmltopdf 选项及使用

更多关于 wkhtmltopdf 的使用及选项,使用下面的帮助命令。它会显示出所有可用的选项。

 
 
  1. $ wkhtmltopdf --help
AI 代码解读

原文发布时间为:2017-04-01

本文来自云栖社区合作伙伴“Linux中国”

目录
打赏
0
0
0
0
325
分享
相关文章
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
78 12
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
Stirling-PDF 是一款基于 Docker 的本地化 PDF 编辑工具,支持 50 多种 PDF 操作,包括合并、拆分、转换、压缩等,同时提供多语言支持和企业级功能,满足个人和企业用户的多样化需求。
115 6
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
Linux下如何安装配置Fail2ban防护工具
通过以上步骤,可以在Linux系统中成功安装和配置Fail2ban,从而有效保护服务器免受暴力破解等攻击。Fail2ban通过实时监控日志文件,自动更新防火墙规则,为系统安全提供了一层重要的保护。
207 36
|
3月前
|
[Linux工具] Makefile
Makefile是Linux环境下用于自动化编译和链接程序的配置文件,常用于简化大型项目的编译流程。通过定义目标文件、依赖文件及生成命令,Makefile能高效管理编译任务。它不仅适用于C语言项目,还可扩展到其他编程语言和非编程任务中。
67 20
[Linux工具] Makefile
|
2月前
|
Linux下载工具wget与curl
`wget` 是一个用于从网络下载文件的命令行工具,支持HTTP、HTTPS和FTP协议。它能自动处理下载中断,并支持递归下载网站内容。基本用法:`wget URL`,可指定文件名(`-O`)、保存目录(`-P`),还支持断点续传(`-c`)、限速(`--limit-rate`)和递归下载(`-r`)。相比之下,`curl` 更侧重于发送各种HTTP请求(如GET、POST),并支持文件上传、自定义请求头和cookie等功能。
69 10
Linux软件包管理工具概览
在Linux系统中,dpkg、apt、rpm、yum和dnf是几种常见的包管理工具,它们分别属于不同的Linux发行版或家族,并有着各自的诞生顺序和特点。下面将按照这些工具的诞生顺序,并结合Debian、Red Hat、CentOS、Ubuntu和Kali等系统,进行详细的介绍。
49 4
Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
通过以上步骤,您可以在Linux(OpenWrt)系统中使用iptables和tc工具实现网络流量限速控制(QoS)。这种方法灵活且功能强大,可以帮助管理员有效管理网络带宽,确保关键业务的网络性能。希望本文能够为您提供有价值的参考。
246 28
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
Zerox 是一款开源的本地化高精度OCR工具,基于GPT-4o-mini模型,支持PDF、DOCX、图片等多种格式文件,能够零样本识别复杂布局文档,输出Markdown格式结果。
237 4
Zerox:AI驱动的万能OCR工具,精准识别复杂布局并输出Markdown格式,支持PDF、DOCX、图片等多种文件格式
Vision Parse:开源的 PDF 转 Markdown 工具,结合视觉语言模型和 OCR,识别文本和表格并保持原格式
Vision Parse 是一款开源的 PDF 转 Markdown 工具,基于视觉语言模型,能够智能识别和提取 PDF 中的文本和表格,并保持原有格式和结构。
397 19
Vision Parse:开源的 PDF 转 Markdown 工具,结合视觉语言模型和 OCR,识别文本和表格并保持原格式
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
78 11

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等