2011-06-07 57 views
3

我在图像magick php模块中有一个奇怪的错误。imagick模块问题 - PHP

ImagickException [ 1 ]: Postscript delegate failed '/tmp/magick-XXxIARsr': wd7C.cache @ error/pdf.c/ReadPDFImage/638

从什么,似乎这是有权限的问题。

我在Apache中有suphp和suexec。我认为缓存路径存在问题。但我在configure.xml文件中更改了它,路径仍然相同。

你有什么想法吗?

+0

看起来像PDF文件可能被破坏。阅读其他文件时是否出现同样的错误? – binaryLV 2011-06-07 12:28:05

+0

你究竟想通过PHP来实现什么?然后尝试为PostScript委托(可能是Ghostscript)构建适当的命令行,并直接针对相同的输入文件运行它。只是为了检查真实是不是有一个错误的输入文件,或与您的PostScript代理版本中的错误... – 2011-06-07 14:03:45

+0

我想提取PDF页面,使PNG图像,这里是代码: '$ images = new Imagick($ _ SERVER ['DOCUMENT_ROOT']。$ pdf_file); ($ image = $ i => $ image){ $ image-> setImageFormat('png'); $ image-> contrastImage(1); $ image-> sharpenImage(2,1); $ image-> scaleImage(0,800); $ image-> writeImage($ save_path。$ i。'。png'); $ picture_path [] = $ filename .'-'。$ i。'。png'; }' – 2011-06-08 09:06:35

回答

2

Imagick发言中的“代表”只是imagick开始处理一些它自己无法处理的文件格式的程序。正如你的情况 - imagick没有内置的PDF阅读器,它依靠GhostScript(我相信)来渲染这些。最有可能的是你没有安装GhostScript/GhostView,或者PDF中存在一些令GhostScript头疼的问题 - 比如使用非嵌入式窗口字体。