如何在Linux上合并PDF文件

时间:2020-03-05 15:28:56  来源:igfitidea点击:

有时,我们可能有2个或者更多的PDF文件,我们需要将其合并或者合并为一个,以便我们可以在一个地方拥有一切。
这将最小化浪费的时间试图查找可能在不同文件夹和其他目录中的PDF文件。

最近,我已经测试了一些工具来合并Linux上的PDF文件,我今天会向我们介绍。
我已经在Ubuntu 18.04版本上测试了所有工具。

1)使用pdfunite

pdfunite是一个方便的工具,可用于合并到或者更多的PDF文档。
它是poppler-utils包的一部分,因此在安装poppler ilils时,最终会使用pdfunite。

要安装pdfunite,我们将安装Poppler-Utils包,如图所示

apt install poppler-utils

示例输出

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  fontconfig-config fonts-dejavu-core libcairo2 libfontconfig1 liblcms2-2 libpixman-1-0 libpoppler58
  libxcb-render0 libxcb-shm0 libxrender1
Suggested packages:
  liblcms2-utils poppler-data
The following NEW packages will be installed:
  fontconfig-config fonts-dejavu-core libcairo2 libfontconfig1 liblcms2-2 libpixman-1-0 libpoppler58
  libxcb-render0 libxcb-shm0 libxrender1 poppler-utils

下一个。
更新系统

apt update

在下载文件夹中,我有2个PDF文档

  • linux_for_beginners.pdf.
  • linux_for_beginners_2.pdf.

我们将使用pdfunite命令合并它们。

要合并PDF文档,语法将如图所示

pdfunite file1.pdf file2.pdf merged_output.pdf

使用我们的文件如前所述,命令将是

pdfunite linux_for_beginners.pdf linux_for_beginners_2.pdf merged_output.pdf

我们将在输出中获取以下警告,但不要担心。
文件已被合并。

如我们所见,已创建输出文件merging_output.pdf

注意:要合并的文件需要在执行PDFUNIFE的同一目录中使用PDFTK工具

PDFTK是另一种工具,可用于合并Ubuntu 18.04中的PDF文档。
要在Ubuntu 18.04的终端安装PDFTK,请先添加PDFTK存储库

add-apt-repository ppa:malteworld/ppa

输出

More info: https://launchpad.net/~malteworld/+archive/ubuntu/ppa
Press [ENTER] to continue or Ctrl-c to cancel adding it.
Hit:1 http://repo.mysql.com/apt/ubuntu bionic InRelease
Get:2 http://security.ubuntu.com/ubuntu bionic-security InRelease [83.2 kB]
Hit:3 http://ke.archive.ubuntu.com/ubuntu bionic InRelease
Get:4 http://ke.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Hit:5 http://ppa.launchpad.net/dawidd0811/neofetch/ubuntu bionic InRelease
Hit:6 http://linux.teamviewer.com/deb stable InRelease
Get:7 http://ppa.launchpad.net/malteworld/ppa/ubuntu bionic InRelease [15.3 kB]
Hit:8 http://linux.teamviewer.com/deb preview InRelease
Get:9 http://ke.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Hit:10 http://ppa.launchpad.net/webupd8team/java/ubuntu bionic InRelease

接下来,更新Ubuntu系统

apt update

成功更新系统后,安装PDFTK工具,如下所示

apt install pdftk

安装PDFTK后,我们现在可以调用pdftk命令以合并文件。
语法如图所示

pdftk file1.pdf file2.pdf  cat output merged_output.pdf

使用我们的早期文件,命令将如图所示

pdftk Linux_for_beginners.pdf Linux_for_beginners_2.pdf cat output merged_output.pdf

3)使用转换工具

要使用转换命令,请使用以下命令首先在终端上安装它

apt install imagemagick

输出

The following packages will be upgraded:
  imagemagick
1 upgraded, 0 newly installed, 0 to remove and 494 not upgraded.
Need to get 14.2 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://ke.archive.ubuntu.com/ubuntu bionic-updates/main amd64 imagemagick amd64 8:6.9.7.4+dfsg-16ubuntu6.3 [14.2 kB]
Fetched 14.2 kB in 2s (8,300 B/s)
(Reading database ... 142831 files and directories currently installed.)
Preparing to unpack .../imagemagick_8%3a6.9.7.4+dfsg-16ubuntu6.3_amd64.deb ...
Unpacking imagemagick (8:6.9.7.4+dfsg-16ubuntu6.3) over (8:6.9.7.4+dfsg-16ubuntu5) ...
Setting up imagemagick (8:6.9.7.4+dfsg-16ubuntu6.3) ...

安装成功后,我们现在可以合并文档。

合并2个PDF文件的语法如图所示

convert file1.pdf file2.pdf merged_output.pdf

使用我们的文件,命令将是

convert Linux_for_beginners.pdf Linux_for_beginners_2.pdf output.pdf

输出

要将特定的PDF页面合并到单个PDF文件中,我们需要将带有特定页码的文件传递给Cramper命令。
例如,将第5页与第二个文档中的第7页合并第5页,语法将是

convert file1.pdf[4] file2.pdf[6,9] merged_pages.pdf

使用我们的文件,命令将是

convert Linux_for_beginners.pdf[4] Linux_for_beginners_2.pdf[6,9] merged_pages.pdf

输出

是的,很有可能加入Page范围。

例如,我们可以使用来自其他文件的前10页的第一个文件将前5个页面连接。
这种情况的语法将是

convert file1.pdf[0-4] file2.pdf[0-9] merged_page_ranges.pdf

使用我们的文件,命令将是

convert Linux_for_beginners.pdf[0-4] Linux_for_beginners_2.pdf[0,9] merged_page_ranges.pdf

4)使用ghostscript

我们还可以使用ghostscript(gs)在Ubuntu 18.04中合并PDF文档APT安装ghostscript

使用ghostscript以合并2个pdf文件的示例

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combine.pdf -dBATCH file1.pdf file2.pdf

在上面的例子中,让我们在属性上进一步阐述

-sOUTPUTFILE denotes the output file
-dBATCH denotes the pdf documents to be merged

使用我们的文件之前,命令将是

gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combine.pdf -dBATCH Linux_for_beginners.pdf Linux_for_beginners_2.pdf

示例输出

GPL Ghostscript 9.22 (2016-10-04)
Copyright (C) 2016 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 29.
Page 1
Page 2
Loading NimbusSans-Regular font from /usr/share/ghostscript/9.22/Resource/Font/NimbusSans-Regular... 5056280 3684544 3235592 1819445 3 done.
Page 3
Page 4
Page 5
Page 6
Page 7
Page 8

5)使用PDFSAM

PDFSAM是一种简单,直观且易于使用的GUI工具,用于合并,拆分,旋转,编辑和签署PDF文档。

在此示例中,我们将使用该工具在Ubuntu 18.04中合并PDF文档。
但首先,让我们安装它

apt install openjdk-8-jre libopenjfx-jni libopenjfx-java openjfx

安装成功后,使用我们喜欢的编辑器定义/etc /环境路径中的java_home变量。

nano /etc/environment

添加以下行。

JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/"

保存并退出

重新加载文件

source /etc/environment

接下来,从PDFSAM的官方下载Debian包文件

wget https://github.com/torakiki/pdfsam/releases/download/v3.3.6/pdfsam_3.3.6-1_all.deb

下载后,使用DPKG命令安装DEB文件,如图所示。

dpkg -i pdfsam_3.3.6-1_all.deb

示例输出

(Reading database ... 146399 files and directories currently installed.)
Preparing to unpack pdfsam_3.3.6-1_all.deb ...
Unpacking pdfsam-basic (3.3.6-1) over (3.3.6-1) ...
Setting up pdfsam-basic (3.3.6-1) ...
Processing triggers for gnome-menus (3.13.3-9) ...
Processing triggers for desktop-file-utils (0.23-1) ...
Processing triggers for mime-support (3.60) ...

开始pdfsam,运行

pdfsam

要合并文档,请单击"合并"并拖放在所提供的部分中要合并的文件。

随意指定"合并设置"部分中的其他属性,并完成后单击位于底部的"运行"图标。
一旦完成,我们将听到"丁"声音通知我们合并过程已完成。