使用ImageMagick将pdf转换为jpg而无需使用Ghostscript

8
我正在使用ImageMagick PHP将pdf转换为jpg。看起来,ImageMagick需要Ghostscript才能处理pdf,但是我的共享主机提供商不允许安装Ghostscript,因为它使用了shell_exec()exec()。那么我的问题是,如果没有Ghostscript,我可以使用ImageMagick将pdf转换为jpg吗?如果不能,是否有其他替代方案?顺便说一句,我是在WordPress平台上进行操作的。

可能有一个适用于此的网络服务,但最好避免使用免费的,因为我想你会依赖它,并且希望能够确保该服务具备合理的可用性保证。 - halfer
有没有人考虑创建一个安全版本的Ghostscript?我手头没有源代码,但我可以想象这些调用与交互式shell或其他不需要批处理文件转换的东西有关。@ion如果这条路可行,你可能想把它作为一个新问题提出来。 - agentp
客户端使用PDF.js呢?将其渲染到画布上并重新发送到PHP怎么样? - rostok
你看过MuPDF了吗?http://mupdf.com - Mark Setchell
使用Imagemagick不一定需要exec()。Imagick有一个PHP模块,因此您可以在php中使用它,许多人都取得了成功。 - hessodreamy
1个回答

5

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

ImageMagick使用GhsotScript来完成此操作。因此,如果没有GhostScript,您无法使用ImageMagick进行转换。您可以使用GhostScript从命令行运行gswin32.exe(即使没有ImageMagic)或从软件中使用gsdll32.dll 将PDF呈现为JPG。

另外一种方法是从您的软件中使用Adobe ActiveX组件。通常它已经与Adobe Acrobat一起安装在Windows上。

这里有一个很好的解释和许多呈现PDF的方法


2
谢谢提供信息,但我正在寻找一个能够在页面加载或上传到WordPress时执行转换的PHP解决方案。 - ion
这是一篇关于如何做到这一点的好博客:http://bertanguven.com/faster-conversions-from-pdf-to-pngjpeg-imagemagick-vs-ghostscript/ - Reza S

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接