我正在使用ImageMagick将PDF文件转换为图像。然而,一些PDF有多个页面,这被证明是一个真正的问题。
我的本地转换是在下面。
exec("\"C:\\Program Files (x86)\\ImageMagick-6.8.5-Q16\\convert.exe\" -density 300 -quality 75 \"{$path}{$filename}{$ext}[$page]\" \"{$targetFile}\"");
如果我从exec中删除[$page]
它可以工作,但每页创建一个图像,这不是我想要的。
我一直在寻找一段时间,但我已经没有希望和想法了。有什么方法可以将所有新图像合成一张最终图像,或者将PDF直接转换成一张图像?任何帮助都会非常感激,欢呼。
答案 0 :(得分:2)
查看-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#append