5

我正在使用 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]从 exec 中删除它可以工作但每页创建一个图像,这不是我想要的。

我一直在寻找一段时间,但我已经失去了希望和想法。有什么方法可以将所有新图像转换为最终图像,或将 PDF 直接转换为一张图像?任何帮助将不胜感激,干杯。

4

1 回答 1

5

查看 -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

http://www.imagemagick.org/Usage/layers/

于 2013-06-07T13:38:53.937 回答