技术文档 2021年11月19日
当您存档某些资源或将它们用于教育目的时,将网页另存为 PDF 会派上用场。
但是,如何在 Linux 中将网页转换为 PDF?
您可以选择使用每个 Linux 发行版上的 Web 浏览器 (GUI) 来轻松解决问题,也可以使用终端将网页转换为 PDF 文件。
在这里,我将提到两种帮助您完成工作的方法。
即使我在本教程中使用 Mozilla Firefox,您也可以使用任何适用于 Linux的最佳浏览器执行相同的操作。
1. 加载您要转换的网页。
2. 前往浏览器菜单找到“打印”选项或使用键盘快捷键“ Ctrl+P”。
3. 默认情况下,它应该让您将其另存为 PDF。您需要点击“保存”,然后选择目的地并保存网页。
这种简单方法的一个主要问题是它包含页面上的所有元素。这可能包括注释、页脚等。您可以使用 PDF 编辑器删除部分内容,但这是一项额外任务。
更好的选择是使用浏览器扩展程序,例如Print Friendly。它允许您在下载 PDF 之前编辑和删除部分网页。
您可能已经知道可以在 Linux 终端中浏览互联网,甚至可以使用命令行下载文件。考虑到您可以在终端中执行更多操作,包括将网页下载为 PDF,这并不奇怪。
一个漂亮的开源命令行工具wkhtmltopdf和wkhtmltoimage可以帮助您将任何 HTML 网页转换为 PDF 或图像文件。
它利用 Qt WebKit 渲染引擎来完成任务。您可以浏览其GitHub 页面以获取更多信息。
您应该能够从 Linux 发行版的默认存储库安装它。对于基于 Ubuntu 的发行版,您可以输入以下命令:
sudo apt install wkhtmltopdf
无论您要将其转换为 PDF 还是图像文件,使用起来都非常简单:
要将网页转换为 PDF,请输入:
wkhtmltopdf URL/domain filename.pdf
例如,它的外观如下:
wkhtmltopdf linuxmint.com mint.pdf
您可以选择使用完整的 URL 作为“ https://linuxmint.com ”或使用如上例所示的域名。
生成的文件默认保存在主目录中。
转换网页时,您还会获得一些令人兴奋的选项。
举例来说,你可以申请一个灰度过滤PDF文件,使页面的多个副本在同一个文件,并排除图像转换过程中。
灰度过滤器可能不适用于每个网页,但您可以使用以下命令尝试:
wkhtmltopdf -g google.com googlepage.pdf
要在同一个 PDF 文件中制作多个页面副本,命令是:
wkhtmltopdf --copies 2 linuxmint.com mint.pdf
而且,如果您想从网页中排除图像,只需键入:
wkhtmltopdf --no-images linuxmint.com mint.pdf
此外,如果要将网页转换为图像,则命令如下所示:
wkhtmltoimage linuxmint.com mint.png
请注意,与使用浏览器的 GUI 方法不同,通过终端使用这些工具有其局限性。它似乎没有成功转换使用任何 <iframe> 代码片段的网页。
关键词: