如何在 Bash 中合并 PDF 文件?

linuxopen sourceoperating system

简介

我们有时会需要合并 PDF 文件,以便整理、减少杂乱或与他人共享。Linux 提供了多种 PDF 文件合并工具。以下列出了一些最常用的工具:

  • pdfunite

  • pdftk

  • gs

  • convert

  • qpdf

这些应用程序工具功能丰富,本文将重点介绍它们的文件合并功能。让我们逐一了解其中的一些工具。

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 文件。

pdftk

这是另一个用于在 Linux 系统中合并 PDF 文件的工具。让我们以之前的例子为例,我们有两个 PDF 文件,就像我们之前使用 pdfunite 工具时一样。

[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 ~]#

该命令生成了一个新的 .pdf 文件,如图所示。Linux.pdf 和 ShellIntro.pdf 中的所有内容将按照命令行中指定的顺序出现在该文件中。

让我们来看一下这些参数:

-empty:创建一个空文档

--pages:为文档命名。

结论

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


相关文章


有用资源