ホームページ  >  記事  >  バックエンド開発  >  php imagick ライブラリは PDF の問題を処理します

php imagick ライブラリは PDF の問題を処理します

WBOY
WBOYオリジナル
2016-06-23 14:01:561915ブラウズ

PHP

致命的なエラー: キャッチされない例外 'ImagickException' とメッセージ 'イメージ `papers/1375680721.pdf' を開けません: C:xampphtdocsfceditpaper.php にそのようなファイルまたはディレクトリ @ error/blob.c/OpenBlob/2622' がありません: 38 スタック トレース: #0
C:xampphtdocsfceditpaper.php(38): Imagick->readimage('papers/13756807...') #1 C:xampphtdocsfceditpaper.php(108): pdf2png('papers/13756807.. .', 'papers/', 0) #2 C:xampphtdocsfceditpaper.php(211): anli->insert('') #3 C:xampphtdocsfceditpaper.php の 38 行目で {main} がスローされました

次のエラーが報告されています
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 はこの理由から存在しません、ファイルは存在します

'画像 `papers/1375680721.pdf' を開けません: そのようなファイルまたはディレクトリはありません .pdf': そのようなファイルまたはディレクトリはありません
"画像 Papers/1375680721.pdf": そのようなファイルまたはディレクトリはありません

@ error/blob.c/OpenBlob/2622' このエラーは何を意味しますか?


'画像 `papers/1375680721.pdf' を開けません: そのようなファイルまたはディレクトリはありません
"画像 Papers/1375680721.pdf を開くことができません": そのようなファイルまたはディレクトリはありません

if(!file_exists($PDF)){ echo "noexists"; return false; }

ファイルが実際に存在しない場合、この判断は通過できません
ファイルのアクセス許可の問題であるかどうかを確認し、papers/1375680721.pdf を設定して、アクセス許可を 777 に設定します。ファイルのパーミッションの問題かどうかを確認するには、papers/1375680721.pdf のパーミッションを 777 に設定します。imagemagick に問題があるのではないかと思います。

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; 成功を祈ります。



'画像 `papers/1375680721.pdf' を開けません: そのようなファイルまたはディレクトリはありません
"画像 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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。