如何将多个PDF文件合并/转换为一个大型PDF文件?
我尝试了以下操作,但目标文件的内容与预期不符:
convert file1.pdf file2.pdf merged.pdf
我需要一个非常简单/基本的命令行(CLI)解决方案。最好是我可以将合并/转换的输出直接管道化为pdf2ps(正如我之前在这里提出的问题:Linux管道化(convert->pdf2ps->lp)中所尝试的那样)。
如何将多个PDF文件合并/转换为一个大型PDF文件?
我尝试了以下操作,但目标文件的内容与预期不符:
convert file1.pdf file2.pdf merged.pdf
我需要一个非常简单/基本的命令行(CLI)解决方案。最好是我可以将合并/转换的输出直接管道化为pdf2ps(正如我之前在这里提出的问题:Linux管道化(convert->pdf2ps->lp)中所尝试的那样)。
当前回答
如果您有多个文件并且不想逐一键入名称,这是最简单的解决方案:
qpdf --empty --pages *.pdf -- out.pdf
其他回答
我喜欢Chasmo的想法,但我更倾向于利用诸如
convert $(ls *.pdf) ../merged.pdf
提供多个源文件进行转换,从而将它们合并为一个通用的pdf。此命令将实际目录中所有具有.pdfextension的文件合并到父目录中的merged.pdf中。
您可以直接使用convert命令,
e.g.
convert sub1.pdf sub2.pdf sub3.pdf merged.pdf
作为PyMuPDF(MuPDF的Python绑定)的开发人员之一,我有偏见。
你可以很容易地用它做你想做的事情(还有更多)。骨架代码的工作原理如下:
#-------------------------------------------------
import fitz # the binding PyMuPDF
fout = fitz.open() # new PDF for joined output
flist = ["1.pdf", "2.pdf", ...] # list of filenames to be joined
for f in flist:
fin = fitz.open(f) # open an input file
fout.insertPDF(fin) # append f
fin.close()
fout.save("joined.pdf")
#-------------------------------------------------
仅此而已。有几个选项可用于仅选择页面范围、维护联合目录、反转页面顺序或更改页面旋转等。
我们在PyPi上。
此外,pdfjoin a.pdf.pdf将创建一个新的b-joined.pdf,其中包含a.pdf和b.pdf的内容
虽然它不是命令行解决方案,但它可能会帮助macos用户:
选择您的PDF文件右键单击突出显示的文件选择快速操作>创建PDF