使用ImageMagick将多页PDF合并为一个PDF

时间:2013-06-19 23:57:49

标签: imagemagick ghostscript

我正在尝试使用ImageMagick(6.8.0)将多个多页PDF组合成一个PDF。这个命令:

$ convert multi-page-1.pdf multi-page-2.pdf merged.pdf

返回merged.pdf,其中包含multi-page-1.pdf的第一个页面和multi-page-2.pdf的第一个页面。

此命令:

$ convert multi-page-1.pdf[2] multi-page-2.pdf[2] merged.pdf

返回merged.pdf,其中包含multi-page-1.pdf的第三个页面和多页面的第三个页面 - 2.pdf。< / p>

我想merged.pdf包含每个多页pdf的所有页面。到目前为止,我还没有找到一种方法来告诉convert命令使用一系列页面,尽管我已经尝试在文件名的末尾添加[0-1]和[0,1]。

有趣的是,这个ghostscript命令(我通过StackOverflow找到但无法重新找到)确实按照我的意愿工作:

$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf multi-page-1.pdf multi-page-2.pdf 

问题是,ImageMagick'convert'命令将url作为输入而ghostscript没有,我需要我的程序来获取url输入而不是文件路径。

是否可以使用ImageMagick获取上述ghostscript命令的结果?

2 个答案:

答案 0 :(得分:0)

我在一个内部公司论坛上问了这个问题,结论是没有办法在没有先将文件下载到本地文件系统的情况下使用ImageMagick进行合并的文档类型。

对于那些使用Heroku的人,我们正在利用Heroku&#39; tmp&#39;目录,以便保存文件&#34;本地&#34;关于分期和制作:https://devcenter.heroku.com/articles/read-only-filesystem

一旦我们将文件保存在&#39; tmp&#39;中,我们将遍历pdf的每个页面并将它们全部分开保存。我们将使用&lt; pdf-reader&#39;找到PDF页面的数量。宝石。

编辑:

这是我为处理这个问题而编写的自定义回形针处理器(所有文件都预先下载到tmp目录中):

https://gist.github.com/jessieay/5832466

答案 1 :(得分:0)

您为什么不使用pdfunite? (source