【问题标题】:Convert pdf to jpg using ImageMagick without Ghostscript使用没有 Ghostscript 的 ImageMagick 将 pdf 转换为 jpg
【发布时间】:2013-01-20 06:33:36
【问题描述】:

我正在尝试使用 ImageMagick php 将 pdf 转换为 jpg。 ImageMagick 似乎需要 Ghostscript 来处理 pdf,但是我的共享主机提供商不允许安装 Ghostscript,因为它使用了 shell_exec()exec()

所以我的问题是。我可以在没有 Ghostscript 的情况下使用 ImageMagick 将 pdf 转换为 jpg。如果没有,是否有替代方案。我正在使用 wordpress 平台进行此操作,仅供参考。

【问题讨论】:

  • 这可能有一个网络服务,但最好避免使用免费的,因为我想你会依赖它,并且你希望能够确定该服务会提供合理的可用性保证。
  • 有人研究过创建一个安全版本的 ghostscript 吗?我手边没有源代码,但我可以想象这些调用与交互式 shell 或批处理文件转换不需要的其他东西有关。 @ion 如果该路线可行,您可能想提出一个新问题。
  • 在客户端使用 PDF.js 怎么样 - 将其渲染到画布并重新发送到 php?
  • 你看过 MuPDF 吗? mupdf.com
  • 使用 Imagemagick 不一定需要 exec()。 Imagick 有一个 PHP 模块,所以你可以在 php 中使用它,很多人都成功了。

标签: php imagemagick ghostscript imagemagick-convert


【解决方案1】:

PDF 不是光栅图像格式,它是一种描述图像的特殊语言。因此,要将其转换为光栅格式,您需要RIP (Raster image processor)

ImageMagick 为此使用 GhsotScript。所以你不能在没有 GhostScript 的情况下使用 ImageMagick 来做到这一点。您可以使用 GhostScript 从运行 gswin32.exe (even without ImageMagic) 的命令行或使用 gsdll32.dll 的软件将 PDF 渲染为 JPG。

另外一种方法是使用软件中的 Adob​​e ActiveX 组件。通常它已经用 Adob​​e Acrobat 安装在 Windows 上。

Here is a good explanation and many ways to render PDF

【讨论】:

  • 感谢您的信息,但我正在寻找一种 php 解决方案,可以在页面加载或图像上传到 wordpress 时执行转换
  • 这是一个关于如何做到这一点的好博客bertanguven.com/…
最近更新 更多