我正在使用ImageMagick将PDF文件转换为图像。然而,有些PDF文件有多个页面,这被证明是一个真正的问题。
我的本地转换如下。
exec("'"C:''Program Files (x86)''ImageMagick-6.8.5-Q16''convert.exe'" -density 300 -quality 75 '"{$path}{$filename}{$ext}[$page]'" '"{$targetFile}'"");
如果我从执行中删除[$page]
,它可以工作,但每个页面创建一个图像,这不是我想要的。
我已经寻找了一段时间,我已经没有希望和想法了。有什么方法可以把所有的新图像转换成一个最终图像,或者把PDF直接转换成一个图像吗?如有任何帮助,不胜感激,谢谢。
查看-append和+append选项
-append
垂直追加图像,+append
水平追加图像。
使用(http://linuxers.org/quick-tips/convert-pdf-file-single-image-using-imagemagick):
根据该链接,多页pdf convert
的输出将是${targetFile}-0.png、${targetFile}-1.png、${targetFile}-n.png等。将pdf转换成多个图像后,使用-append或+append选项:
convert ${targetFile}-* -append single_image.png
把它们放在一起,试着这样做(你可能需要玩一点;我没有在Windows的shell中使用Imagemagick):
// convert pages of pdf
exec("'"C:''Program Files (x86)''ImageMagick-6.8.5-Q16''convert.exe'" -density 300 -quality 75 '"{$path}{$filename}{$ext}'" '"{$targetFile}'"");
// then append them
exec("'"C:''Program Files (x86)''ImageMagick-6.8.5-Q16''convert.exe'" '"{$targetFile}-*'" -append "${someName}'"");
更多的资源:
http://www.imagemagick.org/script/command-line-options.php添加
http://www.imagemagick.org/Usage/layers/