如何将多个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)中所尝试的那样)。
当前回答
如果您想使用Ghostscript将所有PDF文件连接到一个目录中,可以使用find来实现这一点。这里有一个例子
find . -name '*.pdf' -exec gs -o -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=../out.pdf {} +
将在当前目录中找到所有pdf,并在父目录中创建out.pdf。如果他们正在寻找一种快速的方法来使用ghostscript创建整个目录,可能会很有用。
其他回答
如果您有多个文件并且不想逐一键入名称,这是最简单的解决方案:
qpdf --empty --pages *.pdf -- out.pdf
另一个有用的选项是,您还需要选择要合并的文档中的页面:
pdfjoin image.jpg '-' doc_only_first_pages.pdf '1,2' doc_with_all_pages.pdf '-'
它附带包texlive额外实用程序
Apache PDFBoxhttp://pdfbox.apache.org/
PDF发电机此应用程序将获取pdf文档列表并将其合并,将结果保存到新文档中。
用法:java-jar pdfbox-app-x.y.z.jar PDFMerger“源PDF文件(2..n)”“目标PDF文件”
很抱歉,我自己用谷歌找到了答案,运气不错:)
对于感兴趣的人;
我在debian服务器上安装了pdftk(pdf工具包),并使用以下命令实现了所需的输出:
pdftk file1.pdf file2.pdf cat output output.pdf
OR
gs -q -sPAPERSIZE=letter -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=output.pdf file1.pdf file2.pdf file3.pdf ...
这反过来又可以直接输送到pdf2ps中。
如果您想使用Ghostscript将所有PDF文件连接到一个目录中,可以使用find来实现这一点。这里有一个例子
find . -name '*.pdf' -exec gs -o -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=../out.pdf {} +
将在当前目录中找到所有pdf,并在父目录中创建out.pdf。如果他们正在寻找一种快速的方法来使用ghostscript创建整个目录,可能会很有用。