使用ImageMagick将多页PDF合并为一个PDF
我正在尝试使用ImageMagick(6.8.0)将多页PDF合并成一个PDF。此命令:使用ImageMagick将多页PDF合并为一个PDF,imagemagick,ghostscript,Imagemagick,Ghostscript,我正在尝试使用ImageMagick(6.8.0)将多页PDF合并成一个PDF。此命令: $ convert multi-page-1.pdf multi-page-2.pdf merged.pdf $ convert multi-page-1.pdf[2] multi-page-2.pdf[2] merged.pdf 返回merged.pdf,其中包含multi-page-1.pdf的第一个页面和multi-page-2.pdf的第一个页面 此命令: $ convert multi-pag
$ convert multi-page-1.pdf multi-page-2.pdf merged.pdf
$ convert multi-page-1.pdf[2] multi-page-2.pdf[2] merged.pdf
返回merged.pdf,其中包含multi-page-1.pdf的第一个页面和multi-page-2.pdf的第一个页面
此命令:
$ convert multi-page-1.pdf multi-page-2.pdf merged.pdf
$ convert multi-page-1.pdf[2] multi-page-2.pdf[2] merged.pdf
返回merged.pdf,其中包含multi-page-1.pdf的第三个页面和multi-page-2.pdf的第三个页面
我想合并.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命令的结果?我在公司内部论坛上问了这个问题,得出的结论是,如果不先将文件下载到本地文件系统,就无法实现我们希望使用ImageMagick进行的文档合并类型 对于使用Heroku的用户,我们正在利用Heroku‘tmp’目录,以便在登台和生产时“本地”保存文件: 一旦我们将文件保存在“tmp”中,我们将遍历pdf的每一页并分别保存它们。我们将使用“PDF阅读器”gem查找PDF页面的数量 编辑: 这是我编写的定制曲别针处理器,用于处理此问题(所有文件都会事先下拉到tmp目录): 为什么不使用 例如:
$pdfunite 1.pdf 2.pdf 3.pdf合并.pdf
需要指出的是,当ImageMagick读取矢量PDF时,它会将其光栅化。如果随后创建一个新的PDF,它将是矢量壳中的光栅图像,并且与光栅化图像一样大。因此,使用ImageMagick并不是一个好主意。