it-swarm.cn

如何合并多个PDF文件?

Windows中有很多软件可以合并PDF文件但是我们如何才能在Ubuntu中做同样的事情呢?

329
Deependra Solanky

PDF-ShufflerInstall PDF-Shuffler

如果您想要一个具有简单GUI的工具,请尝试pdfshuffler。它允许合并PDF以及重新排列和删除页面。对于批处理和/或更复杂的任务,pdftk当然更强大。

Screenshot of PDF-Shuffler

203
Marcel Stimberg

PDFTKInstall pdftk

合并两个pdf文件file1.pdffile2.pdf

pdftk file1.pdf file2.pdf cat output mergedfile.pdf

更多信息 这里回路机器

312
Rojan

Ghostscript是一个包(默认情况下在Ubuntu中可用),使您可以查看或打印PostScript和PDF文件到其他格式,或将这些文件转换为其他格式。
要使用Ghostscript组合PDF文件,请键入如下内容:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/None -sOutputFile=finished.pdf  file1.pdf file2.pdf

以下是该命令的简要说明:

gs         starts the Ghostscript program.
-dBATCH    once Ghostscript processes the PDF files, it should exit.
           If you don't include this option, Ghostscript will just keep running.
-dNOPAUSE  forces Ghostscript to process each page without pausing for user interaction.
-q         stops Ghostscript from displaying messages while it works
-sDEVICE=pdfwrite 
           tells Ghostscript to use its built-in PDF writer to process the files.
-sOutputFile=finished.pdf
           tells Ghostscript to save the combined PDF file with the specified name.
-dAutoRotatePages=/None
           Acrobat Distiller parameter AutoRotatePages controls the automatic orientation selection algorithm: For instance: -dAutoRotatePages=/None or /All or /PageByPage.

您的输入文件甚至不需要是PDF文件。您还可以使用PostScript或EPS文件,或三者的任意混合。

你可以用Ghostscript做很多事情。您可以阅读其 文档 了解更多详情。

来源

146
ignite

您还可以使用pdfunite合并pdf文档:

pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf
72
BЈовић

PDF链Install PDF Chain

一个非常好的解决方案是PDFChain。它的GUI是PDFTK的前端,您可以在其中合并,拆分甚至添加一些背景到PDF文件。

33
Vincenzo

试试PDFMod,它来自GNOME项目:

https://wiki.gnome.org/Apps/PdfMod

11
Detnuomnu

我使用pdfseparate从大pdf文件中提取特定页面:

pdfseparate -f  156 -l 157 input.pdf  output_%d.pdf 
pdfseparate -f  1   -l 2   input.pdf  output_%d.pdf 

然后我通过命令加入他们:

pdfunite $(ls -v output_*.pdf | tr '\n' ' ') out$(date  +%Y-%m-%d_%H_%M_%S ).pdf

这加入:

output_1.pdf output_2.pdf output_156.pdf output_157.pdf  

成:

out2014-12-14_23_25_36.pdf

可能有一种更简单的方法来应对... :-)

6
xerostomus

另一种方法是使用Latex,如本文所述(没有root访问权限,假设你有pdflatex已安装): https://tex.stackexchange.com/questions/8662/merge-two-pdf-files-output-by-latex

如果您没有提到的工具也没有root权限,这很有用,但您确实拥有pdflatex。

我复制下面的tex代码来合并file1.pdffile2.pdf。创建一个名为output.tex的文件并放入:

\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{file1}
\includepdf[pages=-]{file2}
\end{document}

要编译,只需使用:pdflatex output.tex

合并的文件将命名为output.pdf

5
emre

你也可以使用 jPDFTweakpdfsampdfjam

(那就是说,我使用pdftk。)

5
frabjous

使用pdfsam http://www.pdfsam.org/ 它非常适合分割和合并pdf

5
R.Sathish Kumar

您可以使用 pdftk 来合并和修改PDF文档。或者,有一个在线服务可以做到这一点: http://www.pdfmerge.com/

3
joschi

这是我的方法:

  • 我希望它易于访问,所以我在Nautilus中创建了一个右键快捷方式(参见 https://help.ubuntu.com/community/NautilusScriptsHowto
  • 我希望它非常快,所以我使用了pdfunite
  • pdfunite只接受命令中间的文件路径,所以我不得不挠头来管理文件路径中的空格。所以我假设所有文件路径都以“/ home /”开头,以“.pdf”结尾

结果如下:

#!/bin/sh
CLEANED_FILE_PATHS=$(echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | sed 's,.pdf /home/,.pdf\\n/home/,g')
echo $CLEANED_FILE_PATHS | bash -c 'IFS=$'"'"'\n'"'"' read -d "" -ra x;pdfunite "${x[@]}" merged.pdf'

Juste粘贴此脚本

/home/your_username/.local/share/nautilus/scripts

并将其命名为“merge_pdfs.sh”(例如)。然后使其可执行(右键单击merge_pdfs.sh - >权限选项卡 - >勾选“允许将文件作为程序执行”

所以现在合并pdf文件,你只需选择它们 - >右键单击 - >脚本 - > merge_pdfs.sh它将在同一目录中创建一个“merged.pdf”文件

希望能帮助到你!

1
max