如何在Linux上合并PDF文件
有时,我们可能有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
要合并文档,请单击"合并"并拖放在所提供的部分中要合并的文件。
随意指定"合并设置"部分中的其他属性,并完成后单击位于底部的"运行"图标。
一旦完成,我们将听到"丁"声音通知我们合并过程已完成。