- 締切済み
iImageMagick convertコマンド
iImageMagick convertコマンド方法について質問です。 ・やりたいこと WEBサーバ内にあるPDFファイルをPHPでPJG化したい ・ImageMagickはPHPの拡張モジュールになっていない ・convertコマンドは利用可能 ・WEBサーバは環境上SSH接続は許可されていない convertの絶対パスはわかっています。 phpでexecで以下の書式で実行してみました $command = '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ファイルのフォーマット変換ができるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- JaneDue
- ベストアンサー率75% (263/350)
Ghostscript周りが原因かと。 直接動かすとどうなりますか? exec("gs -dBATCH -dNOPAUSE -sDEVICE=jpeg -r300 -sOutputFile=yyy.jpg xxx.pdf"); または日本語なしの簡単なpdfで試してみて、うまくいくようなら日本語フォントの問題だと。 あるいはバージョンが古いかも。 echo system("gs -v");とかで確認 (8.7では動作) 場合によってはサーバへのインストールが必要になるので、きつきつの環境では対応は厳しいかもしれません。
お礼
ありがとうございます。 まずはすぐにできそうなフォントなしのPDF変換から試してみたいと思います。