【问题标题】:ImageMagick - convert multipage PDF into one imageImageMagick - 将多页 PDF 转换为一张图像
【发布时间】:2013-06-03 19:40:48
【问题描述】:

我正在使用 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 直接转换为一张图像?任何帮助将不胜感激,干杯。

【问题讨论】:

  • 作为一种选择 - 像你一样制作单独的图像,然后通过 imagemagic 将它们合并到一个图像文件中。
  • 是的,我只是使用蒙太奇将所有页面作为图像整合到一个图像中。谢谢你:)

标签: php imagemagick imagemagick-convert


【解决方案1】:

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

【讨论】:

  • 我自己解决了这个问题。我计算了所有页面,将它们全部转换为图像,并使用蒙太奇将所有新图像合二为一。然而,这看起来像是我要尝试的下一件事。我会接受这个,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-31
  • 2022-10-20
  • 1970-01-01
  • 2016-10-26
  • 2011-09-29
  • 1970-01-01
相关资源
最近更新 更多