12

PDFファイルをPNGに変換しようとしています。それはコマンドラインからうまく機能します(私はGhostScript 8.64をインストールしています)。しかし、PHPから私は問題を抱えています:

コード:

$im = new Imagick($pdf_file); // this is where it throws the exception below

出力:

Fatal error: Uncaught exception ‘ImagickException’ with message ‘Postscript delegate failed `23_1235606503.pdf’: No such file or directory @ pdf.c/ReadPDFImage/612′ in get_thumbnail.php:93
Stack trace:
\#0 get_thumbnail.php(93): Imagick->__construct(’…’)

などなど。

ここで何が間違っているのかわかりませんが、どこかのサーバー構成に関係しているのではないかと思います。私が実行しているもの:Apache 2.2.11 PHP 5.2.8 ImageMagick 6.4.8-9 GhostScript 8.64

4

3 に答える 3

5

上記のコメントをインラインで追加するための Stackoverflow の「評判」はありませんが、最新の Sierra アップデートを使用して Mac でこれを機能させるには、追加の手順を実行する必要がありました。

コマンドを入力すると、次のようになります。

sudo ln -s /usr/local/bin/gs /usr/bin/gs

Mac では、「操作が許可されていません」というエラーが表示される場合があります。

Apple は、SIP (System Integrity Protection) を無効にしない限り、「bin」ディレクトリを編集できないように変更したようです。

そのための手順は次のとおりです。

  1. コンピュータを再起動し、画面に Apple ロゴが表示されるまで「Command + R」を押したままにして、Mac をリカバリ モードで再起動します。
  2. [ユーティリティ] > [ターミナル] をクリックします
  3. ターミナルウィンドウで、入力しcrutil disableて「Enter」を押します
  4. Mac を再起動します。

これらの手順を実行したところ、Ghostscript が正常に動作し、PDF を JPG に正常に変換できました。

于 2016-12-21T22:46:32.323 に答える
-4

私はこれをうまくやっています。これが私が変換を行うために使用しているコードです。このソリューションを商業的に使用しています。私はこの質問がしばらくの間そこにあったことを知っています、しかしそれはまだあなたを助けるかもしれません。

//Convert PDF contract to image using ImageMagik and Ghostscript
// NOTE: This will need to be change if running on Linux
$source = $appDir."\\".$clientID."\\".$clientID.".pdf";
$dest = $appDir."\\".$clientID."\\".$clientID.".jpg";
//print("c:\\IM\\convert.exe $source $dest ");
exec("c:\\IM\\convert.exe $source $dest ");
于 2009-03-25T19:04:52.540 に答える