协慌网

登录 贡献 社区

将多个 PDF 文件合并 / 转换为一个 PDF

如何将多个 PDF 文件合并 / 转换为一个大型 PDF 文件?

我尝试了以下内容,但目标文件的内容不符合预期:

convert file1.pdf file2.pdf merged.pdf

我需要一个非常简单 / 基本的命令行(CLI)解决方案。如果我能将合并 / 转换的输出直接输入pdf2ps (最初在我之前提出的问题中尝试过: Linux 管道(转换 - > pdf2ps - > lp) ),那将是最好的。

答案

考虑到pdfunite是 poppler 的一部分,它有更高的安装机会,使用也比pdftk简单:

pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf

试试好鬼影:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=merged.pdf mine1.pdf mine2.pdf

或者甚至通过这种方式获得低分辨率 PDF 的改进版本(感谢 Adriano 指出这一点):

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged.pdf mine1.pdf mine2.pdf

在这两种情况下,输出分辨率都比使用转换的这种方式更高更好:

convert -density 300x300 -quality 100 mine1.pdf mine2.pdf merged.pdf

通过这种方式,您不需要安装任何其他东西,只需使用已安装在系统中的内容(至少在我的 rhel 中都默认使用)。

希望这可以帮助,

更新:首先感谢您的所有好评!只是一个可能对你们有用的提示,在谷歌搜索之后,我找到了一个缩小 PDF 大小的绝妙技巧,我用一个 300 MB 的 PDF 缩小到只有 15 MB 且可接受的分辨率!所有这一切都带有好鬼,这里是:

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true -r150 -sOutputFile=output.pdf input.pdf

干杯!!

对不起,我设法用谷歌和运气找到了答案:)

对于有兴趣的人;

我在我们的 debian 服务器上安装了 pdftk(pdf 工具包),并使用以下命令实现了所需的输出:

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

要么

gs -q -sPAPERSIZE=letter -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=output.pdf file1.pdf file2.pdf file3.pdf ...

这反过来可以直接传送到 pdf2ps。