• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php imagick库处理pdf问题

php 搞代码 3年前 (2022-01-23) 13次浏览 已收录 0个评论
文章目录[隐藏]

PHP

Fatal error: Uncaught exception ‘ImagickException’ with message ‘unable to open image `papers/1375680721.pdf’: No such file or directory @ error/blob.c/OpenBlob/2622′ in C:\xampp\htdocs\fc\editpaper.php:38 Stack trace: #0
C:\xampp\htdocs\fc\editpaper.php(38): Imagick->readimage(‘papers/13756807…’) #1 C:\xampp\htdocs\fc\editpaper.php(108): pdf2png(‘papers/13756807…’, ‘papers/’, 0) #2 C:\xampp\htdocs\fc\editpaper.php(211): anli->insert(”) #3 {main} thrown in C:\本文@来#源gaodai$ma#com搞$$代**码网搞代gaodaima码xampp\htdocs\fc\editpaper.php on line 38

报如下错误

function pdf2png($PDF,$toPath,$page){   	if(!extension_loaded('imagick')){		echo "imagick";		return false;   	}   	if(!file_exists($PDF)){		echo "noexists";		return false;   	}	$IM = new imagick();   	$IM->setResolution(1000,2000);   	$IM->setCompressionQuality(100);   	$IM->readImage($PDF."[".$page."]");	foreach ($IM as $Key => $Var){		$Var->setImageFormat('png');       		$Filename = $toPath.time().'_'.$Key.'.png';       		if($Var->writeImage($Filename) == true){           			$Return[] = $Filename;       		}	}	return $Return;}

回复讨论(解决方案)

他说的很明确了,papers/1375680721.pdf 不存在

他说的很明确了,papers/1375680721.pdf 不存在 不是这个原因,文件是存在的

‘unable to open image `papers/1375680721.pdf’: No such file or directory
“无法打开图像papers/1375680721.pdf”:没有这样的文件或目录

‘unable to open image `papers/1375680721.pdf’: No such file or directory
“无法打开图像papers/1375680721.pdf”:没有这样的文件或目录
@ error/blob.c/OpenBlob/2622′ 这个错误是什么意思?

‘unable to open image `papers/1375680721.pdf’: No such file or directory
“无法打开图像papers/1375680721.pdf”:没有这样的文件或目录
if(!file_exists($PDF)){ echo “noexists”; return false; }
如果文件真不存在,过不了这个判断的

看看是不是文件权限问题,把papers/1375680721.pdf,权限设成777

看看是不是文件权限问题,把papers/1375680721.pdf,权限设成777 也不是权限问题,我怀疑是imagemagick有问题,我打开imagemagick把pdf文件丢进去,提示

if(!file_exists($PDF)) 只是检查了 $PDF 指向的文件是否存在
而你打开 pdf 的语句是 $IM->readImage($PDF.”[“.$page.”]”);
显然 $PDF 和 $PDF.”[“.$page.”]” 不是一回事
你的这个写法是从哪里看来的?请给出出处!
我搜索到的相关代码中都没有见到这个写法
如果说 $PDF.”[“.$page.”]” 是表示 $PDF 的第 $page 也得话,那么若 $page 所表示的页不存在的话,是否也应该报错呢?

我没有 imagick 环境,无法测试。只是按常理推导

Windows系统下运行,还需要装一个安装软件ghostscript;下载地址:http://downloads.ghostscript.com/public/gs904w32.exe ; 祝你成功。

‘unable to open image `papers/1375680721. pdf’: No such file or directory
“无法打开图像papers/1375680721.pdf”:没有这样的文件或目录
if(!file_exists($PDF)){ echo “noexists”; return false; }
如果文件真不存在,过不了这个判断的

要不,你看下这个帖子吧,好像也是类似的问题

http://stackoverflow.com/questions/4637251/unable-to-open-image-error-when-using-imagemagicks-filename-references


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php imagick库处理pdf问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址