如何在 Linux 中将网页转换为 PDF 文件或图像

想知道如何使用终端捕获网页并将其保存为 PDF 文档或图像? 幸运的是,Linux 有大量实用程序,您可以使用它们来自动完成将 HTML 文档转换为 PDF 文件和图像的任务。

本文将向您介绍 wkhtmltopdf 和 wkhtmltoimage,这些实用程序可以让您的工作更轻松。

如何将 HTML 转换为 PDF

如果您希望捕获网页并将其转换为 PDF 文件,wkhtmltopdf 实用程序将为您提供帮助。 wkhtmltopdf 是一个开源命令行工具,用于将网页呈现为 PDF 文档。

由于该工具在 Linux 终端内无头运行,因此您不需要任何 Web 驱动程序或像 Selenium 这样的浏览器自动化框架。

在 Linux 上安装 wkhtmltopdf

Wkhtmltopdf 不是 Linux 上预装的标准软件包之一。 您必须使用系统的包管理器手动安装它。

在 Ubuntu 和基于 Debian 的发行版上安装 wkhtmltopdf:

sudo apt install wkhtmltopdf

在 Manjaro Linux 等基于 Arch 的发行版上:

sudo pacman -S wkhtmltopdf

在基于 RHEL 的发行版上安装 wkhtmltopdf,例如 Fedora CentOS 也很简单。

sudo dnf install wkhtmltopdf

基本语法

该命令的基本语法是:

wkhtmltopdf webpage filename

…在哪里 网页 是您要转换的网页的 URL,并且 文件名 是输出 PDF 文件的名称。

要将 Google 主页转换为 PDF 文档:

wkhtmltopdf https://google.com google.pdf

输出:

打开 PDF 文件时,您会注意到 wkhtmltopdf 已将网页精确地呈现为文档。

–副本 如果您希望输出文件具有网页的多个副本,则标志是救命稻草。 请注意,当打印多份副本时,wkhtmltopdf 不会生成多个 PDF 文件,而是会在单个文档中添加额外的页面。

要创建 Google 主页的三个副本:

wkhtmltopdf --copies 3 https://google.com google.pdf

输出 PDF 文件将包含上述命令中指定的三个页面。

在输出中添加灰度滤镜

要向 PDF 文件添加灰度过滤器,请使用 -G 或者 –灰度 使用以下命令标记:

wkhtmltopdf -g https://google.com google.pdf
wkhtmltopdf --grayscale https://google.com google.pdf

输出文件:

更改 PDF 的方向

默认情况下,wkhtmltopdf 以垂直布局(即纵向)生成 PDF 文件。 要更改此默认行为并改为以横向方式捕获网页,请使用 – 方向 使用以下命令标记:

wkhtmltopdf --orientation landscape https://google.com google.pdf

输出:

请注意,与纵向版本相比,文档的横向版本具有更大的空白区域。

转换时不要包含图像

在生成输出时,如果您不希望 wkhtmltopdf 呈现网页中的图像,请使用 –无图像 旗帜:

wkhtmltopdf --no-images https://google.com google.pdf

输出:

如何将网页转换为图像

wkhtmltoimage 实用程序是 wkhtmltopdf 包的一部分。 如果您正在编写报告并希望包含网站的图像,那么此工具将对您有利。 Linux 终端不仅可以让您更轻松地捕获图像,还可以为您提供一系列选项,让您可以自定义输出。

基本语法

wkhtmltoimage 的语法类似于 wkhtmltopdf:

wkhtmltoimage webpage filename

…在哪里 网页 是网站的 URL,并且 文件名 是输出图像的名称。

将网页转换为图像

继续前面的 example,让我们把谷歌主页转换成图片。

wkhtmltoimage https://google.com google.png

输出:

您还可以指定您希望输出图像具有的自定义文件格式。 wkhtmltoimage 支持以下文件扩展名:

  • JPEG/JPG
  • PNG
  • SVG

为了 example,如果要生成JPG图像,只需在命令中将文件扩展名替换为JPG即可:

wkhtmltoimage https://google.com google.jpg

使用 Linux 终端捕获网页

如果要查看 wkhtmltopdf 生成的 PDF 文件,您必须在 Linux 系统上安装 PDF 查看器。 虽然大多数 Linux 发行版都预装了 PDF 编辑器,但您可以手动选择并安装适合您需要的 PDF 编辑器。