将 PDF 转换为图像 Linux 领域 Line

将 PDF 文件转换为图像可以轻松地在 Linux 命令行使用单个命令。 了解如何安装该实用程序、如何使用它以及如何自动进行设置。

什么是 poppler-utils?

正如本文介绍中提到的,我们需要安装一小组名为 poppler-utils 的实用程序来帮助我们将 PDF 文件转换为图像。

poppler-utils 实用程序套件允许我们将图像转换为 PDF 以及将 PDF 转换为图像。

安装 poppler-utils

安装 poppler-utils en su Debian/公寓式 Linux 分布(如 Ubuntu 和薄荷),做:

sudo apt install poppler-utils

在基于 RedHat/Yum 的系统上安装 poppler-utils Linux 发行版(例如 RedHat 和 Fedora), 做:

sudo yum install poppler-utils

将 PDF 转换为图像

所需的命令简单明了:

pdftoppm -png test.pdf test

随着 pdftoppm 命令我们可以将PDF转换为图像。 我们指定我们想要一个 PNG 文件作为输出格式(使用 -png) 并且我们的输入文件是 test.pdf.

我们指定的输出文件 test. pdftoppm 会自动添加页码后缀(比如-1)和扩展名(基于上面的 -png 最后一个选项)。

因此,输出文件名将是 test-1.png我们如何检查延续性:

ls test-1.png
eog test-1.png 

任何后续页面都将是 test-2.png 等。 eog 该命令(如果安装了 eog)将打开文件,以便您查看输出,但您可以使用您喜欢的任何其他图像管理程序。

将PDF文件批量处理成图片

我们可以创建一个单行命令来批处理所有具有给定图像名称的 PDF 文件。 然后我们可以将这一行添加到一个小的 .sh 脚本文件中并进一步自动化,或者当我们需要将大量 PDF 转换为图像时,我们可以只在命令行上使用它。

ls --color=never test*.pdf | sed 's|.pdf||' | xargs -I{} pdftoppm {}.pdf -png {}

在此命令中,我们首先获取名称以 test 开头并以 .pdf 结尾的所有 PDF 文件的目录列表,使用 ls --color=never test*.pdf.

--color=never 很重要,因为 shell 的颜色编码符号(如果启用,默认情况下)有时会混淆 xargs。

接下来我们使用一个简单的 sed substitute 命令将 pdf 后面的文字句点替换为空。 换句话说,我们删除了 .pdf 文件扩展名。

这为我们提供了仅在必要时才将其添加回来的优势,即在指定输入文件时 pdftoppm但不是在指定相同的输出文件时 pdftoppm 命令,很像我们之前的 example 多于。

最后,我们使用 xargs 将每个 pdf 文件名(减去 .pdf)发送到 pdftoppm 逐个。 我们使用 -I 选择权 xargs 这允许我们简单地通过使用指定接收到的任何输入(即缩写的 pdf 文件名) {} 在随后的命令中。

如您所见,我们的 pdftoppm 该命令现在看起来很像第一个示例,每个单独的 pdf 文件名作为输入(带有 .pdf 后缀),而没有 .pdf 的 pdf 文件名作为输出。

让我们运行它:

这工作正常:三个 PDF 文件,每页一页,被转换为三个单独的 .png 文件(每页一个图像,在这种情况下每个 PDF,因为每个 PDF 只有一页),所有文件都正确命名并带有正确的后缀。

作为替代 -png 选项也可以使用 -jpeg 而是生成 JPEG 文件。 穿 pdftoppm --help o man pdftoppm 查看选项的完整列表。

结尾

在这篇文章中,我们看到了将 PDF 文件转换为图像文件是多么容易和简单,而且直接从 Linux 命令行! 我们也在寻找一种简单的方法来自动化这个过程。 享受!