Ben*_*Ben 10 pdf 64-bit imagemagick ghostscript
我在使ImageMagick和Ghostscript一起工作时遇到了麻烦 - 从安装,测试到实际使用软件,一切似乎都很困难.有人有任何提示吗?
Ben*_*Ben 36
我刚刚花了最后三个小时让ImageMagick很好地使用PHP进行PDF转换为JPG转换.我没想在本地自己记录,我想我会把它写在这里,用我搞砸的所有流行语和东西,所以下一个菜鸟可以节省一些时间.
测试了两个操作系统,Windows 7 x64和Vista x64,PHP 5.2.8和Apache 2.2.11.
你需要Ghostscript和ImageMagick.我得到了gs871w64.exe和ImageMagick-6.6.3-0-Q16-windows-x64-dll.exe.
做ImageMagick的基本安装(我现在称之为IM).仔细检查系统路径变量,确保您可以从任何地方进行IM.它应该指向IM目录.使用以下行测试安装cmd:( convert test.gif test.jpg假设您有test.gif).工作正常.
测试PDF转换(convert test.pdf test.jpg).您应该收到有关"gswin32c.exe"和"Postscript委托失败"和"缺少图像文件名"的(长)消息.这意味着IM找不到PDF'翻译'.你需要Ghostscript.
安装Ghostscript(我现在称之为GS).在拍摄之前,由于某种原因,我必须做两次.将GS文件夹中的"bin"地址添加到系统变量中.使用测试安装,gswin32 test.pdf您应该会在GS查看器中看到您的文件.重要说明:gs在Windows('gs' is not recognized as an internal or external command, operable program, or batch file.)中不起作用.你需要使用gswin32.
回到IM测试:convert test.pdf test.jpg现在应该工作.
现在转到PHP - 写下这个脚本:
$out = shell_exec("convert blah.pdf blah2.jpg 2>&1");
echo $out;
Run Code Online (Sandbox Code Playgroud)
该2>&1 会将所有的错误到标准输出,因此您可以更好地诊断东西:).现在,您的PHP脚本可以在cmd提示符下运行,但在浏览器中运行它时没有任何反应.砸你的额头,重新启动Apache.
我知道,裤子穷尽,可能是小学的.但是对大约20页的半帮助线索的希望有用的总结.
Steve已经提供了从PHP 运行ImageMagick 命令行版本的指南.在安装了ImageMagick 扩展版的类似经验之后,我想详细说明不同组件如何协同工作.
首先,您需要PHP扩展.它基本上是PHP和ImageMagick函数之间的适配器.
php_imagick.dll从扩展ZIP 复制到PHP扩展目录但是,这还不够.在php_imagick.dll不包含任何ImageMagick的功能和CORE_RL_...附带的扩展捆绑的DLL是不完整的.你还需要一些来自ImageMagick版本的DLL.
从理论上讲,版本不必完全匹配,但显然在ImageMagick 6.8.1和6.8.8之间,函数MagickGetImageMatte已从DLL中删除,因此最安全的方法是找到构建Imagick扩展的完全相同的ImageMagick版本对于:
没有必要安装 ImageMagick.实际上,如果您的PATH中碰巧出现了不兼容的ImageMagick,则PHP扩展可能会失败.
这适用于ImageMagick(convert)的命令行版本和上述PHP扩展.
要读取Postscript系列的文件,需要使用Ghostscript.
ImageMagick会按照以下步骤找到Ghostscript:
GS_DLL注册表中有一个条目,指向路径gswin32.dll,它将使用该条目并完全忽略代理.delegates.xml旁边php5(n)ts.dll或convert.exe分别或~\.magick.@PS_Delegate@在委托中找到字符串,它将替换它,gswin32c.exe然后继续在PATH中查找该EXE.您可以使用完整路径替换此字符串,gswin32c.exe甚至gswin64c.exe可以调用ImageMagick.| 归档时间: |
|
| 查看次数: |
20417 次 |
| 最近记录: |