如何在Bash中合并PDF文件?


简介

在各种情况下,我们都希望合并PDF文件以组织它们,减少混乱,或与他人共享。Linux 提供了多种用于合并PDF文件的实用程序。下面列出了一些最常用的工具:

  • pdfunite

  • pdftk

  • gs

  • convert

  • qpdf

这些应用程序工具有很多功能,在本文中,我们将重点介绍它们的 PDF 文件合并功能。让我们分别研究其中一些工具。

pdfunite

“pdfunite”是 Poppler Utils 包中用于合并 PDF 文件的工具名称。pdfunite 的使用方法非常简单。

如果尚未安装 poppler-utils 包,请使用以下 DNF 命令安装:

dnf install poppler-utils

在参数中提供所有要合并的PDF文件名,并将输出文件名作为最后一个参数。假设我们需要合并两个PDF文件。在我的系统中,我有两个名为 Linux.pdf 和 ShellIntro.pdf 的 PDF 文件。

我想合并这些 PDF 文件,并将输出保存到名为 Merge.pdf 的单独文件中。

[root@localhost ~]# ls -lh
total 4.4M
-rw-------. 1 root root 1.3K Sep 22 10:15 anaconda-ks.cfg
-rw-r--r-- 1 root root 4.3M Oct 8 06:29 Linux.pdf
rw-r--r-- 1 root root 125K Oct 8 06:29 ShellIntro.pdf
[root@localhost ~]#

要合并这些文件,我们可以使用以下命令:

pdfunite Linux.pdf ShellIntro.pdf Merge.pdf
[root@localhost ~]# ls -lh
total 9.0M
-rw-------. 1 root root 1.3K Sep 22 10:15 anaconda-ks.cfg
-rw-r--r-- 1 root root 4.3M Oct 8 06:29 Linux.pdf
-rw-r--r-- 1 root root 4.6M Oct 8 07:29 Merge.pdf
-rw-r--r-- 1 root root 125K Oct 8 06:29 ShellIntro.pdf
[root@localhost ~]#

正如我们所看到的,使用方法非常简单。为了创建合并的PDF文件,我们提供了输入PDF文件名和将合并的PDF写入到的输出文件名。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

pdftk

这是另一个在Linux中合并PDF文件的工具。让我们以之前的例子为例,我们有两个与pdfunite工具一起使用的PDF文件。

[root@localhost ~]# ls -lh
total 4.4M
-rw-------. 1 root root 1.3K Sep 22 10:15 anaconda-ks.cfg
-rw-r--r-- 1 root root 4.3M Oct 8 06:29 Linux.pdf
-rw-r--r-- 1 root root 125K Oct 8 06:29 ShellIntro.pdf
[root@localhost ~]#

让我们看看如何合并这两个pdf。

[root@localhost ~]# pdftk Linux.pdf ShellIntro.pdf cat output mergedfile.pdf
[root@localhost ~]# ls -lh
total 8.9M
-rw-------. 1 root root 1.3K Sep 22 10:15 anaconda-ks.cfg
-rw-r--r-- 1 root root 4.3M Oct 8 06:29 Linux.pdf
-rw-r--r-- 1 root root 4.5M Oct 8 07:52 mergedfile.pdf
-rw-r--r-- 1 root root 125K Oct 8 06:29 ShellIntro.pdf
[root@localhost ~]#

qpdf

qpdf 实用程序的主要目的是重新组织 PDF 文件。如果我们需要从多个 PDF 文件中提取几页,按照特定顺序排列它们并将它们合并到单个 PDF 文件中,则可以使用 qpdf 工具。

但目前,让我们看看如何使用 qpdf 合并 PDF 文件:

[root@localhost ~]# qpdf --empty --pages Linux.pdf ShellIntro.pdf -- new.pdf
[root@localhost ~]# ls -lh
total 14M
-rw-------. 1 root root 1.3K Sep 22 10:15 anaconda-ks.cfg
-rw-r--r-- 1 root root 4.3M Oct 8 06:29 Linux.pdf
-rw-r--r-- 1 root root 4.5M Oct 8 07:52 mergedfile.pdf
-rw-r--r-- 1 root root 4.5M Oct 8 08:11 new.pdf
-rw-r--r-- 1 root root 125K Oct 8 06:29 ShellIntro.pdf
[root@localhost ~]#

可以看到,该命令生成了一个 new.pdf 文件。所有来自 Linux.pdf 和 ShellIntro.pdf 的内容都将按命令行中指示的顺序显示。

让我们检查一下给出的各种参数:

-empty: 创建一个空的文档

–pages: 指定文档名。

结论

在本文中,我们研究了各种PDF文件合并工具。我们讨论了三个主要用于在Linux中合并PDF文件的工具。我们可以使用这些工具将任意数量的PDF文件合并到一个文件中。

更新于:2022年11月21日

547 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告