13

ImageMagick と Ghostscript を連携させるのに問題があります。インストールからテスト、実際のソフトウェアの使用まで、すべてが難しいようです。誰にもヒントはありますか?

4

3 に答える 3

39

PDF から JPG への変換のために、ImageMagick を PHP とうまく連携させるために、この 3 時間を費やしました。自分でローカルに文書化する代わりに、ここにすべての流行語と私が失敗したことを書いて、次の初心者が時間を節約できるようにしようと考えました。

PHP 5.2.8 および Apache 2.2.11 を使用する 2 つの OS、Windows 7 x64 および Vista x64 でテスト済み。

Ghostscript と ImageMagick が必要です。と を手に入れましgs871w64.exeImageMagick-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 delegate failed"、"missing an image filename" に関する (長い) メッセージが表示されます。つまり、IM は PDF の「翻訳者」を見つけることができません。Ghostscript が必要です。

Ghostscript をインストールします (ここでは GS と呼びます)。かかる前に、何らかの理由で2回実行する必要がありました。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;

これ2>&1 により、すべてのエラーが標準出力に移動されるため、より適切に診断できます:)。これで、PHP スクリプトが cmd プロンプトで実行される場合がありますが、ブラウザーで実行しても何も起こりません。額を叩いて Apache を再起動します。

あえぎ網羅的でおそらく初歩的なことだと思います。しかし、うまくいけば、約20ページの半有用な手がかりの要約.

于 2011-11-30T04:30:17.160 に答える