質問: 'convert xxx.pdf yyy.jpg'; exec($command,$output,$retvalue); convertは絶対パスを指定しています。 なお同一ディレクトリ内にexecを実行するphpファイルとpdfファイルを置いています。 ディレクトリのパーミッションは777。 結果、yyy.jpgは作成されません $outputの内容 execution stack: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push --nostringval-- --nostringval-- dictionary stack: --dict:1070/1123(ro)(g)-- --dict:0/20(g)-- --dict:88/200(l)-- current allocation mode is local last os error: 2 convertの書式が間違っているのでしょうか? pdfファイルが不正なのかとも思い他のpdfファイルに変更しても同じ結果です。 system関数も実行してみたのですが、jpgは出力されません。 どのようにしたらphpから、pdfファイルのフォーマット変換ができるのでしょうか?
回答: ghostscript周りが原因かと。 直接動かすとどうなりますか? exec("gs -dbatch -dnopause -sdevice=jpeg -r300 -soutputfile=yyy.jpg xxx.pdf"); または日本語なしの簡単なpdfで試してみて、うまくいくようなら日本語フォントの問題だと。 あるいはバージョンが古いかも。 echo system("gs -v");とかで確認 (8.7では動作) 場合によってはサーバへのインストールが必要になるので、きつきつの環境では対応は厳しいかもしれません。