1

彼のクライアントのアップロード機能についてクライアントからリクエストがありましたが、アップロード後に画像のサムネイルを作成する必要があります。

通常の画像はすべて問題ありませんが、彼は .psd、.pdf、.eps、.ppt について話している

よく見てみると、imagemagickとghostscriptでこれらのほとんどに対応できると思いますが、PPTまたはEPSのソリューションが見つかりません。

imagemagickがpsdを実行できるようにepsを実行できることを願っています。

EPS または PPT ファイル形式に関する提案。

アドバイスいただけるとありがたいです。

4

4 に答える 4

3

知ってるパーティーに遅れちゃったけど…

これは、私が .PDF、.EPS、および .AI サムネイルに使用するものです。(必要なすべての ImageMagick ディストリビューションがインストールされていると仮定します)

$file = 'filename.pdf.eps.ai';

$cache = $_SERVER['DOCUMENT_ROOT'].'/cache/';//ensure dir is writeable

$ext = "jpg";//just the extension

$dest = $cache.$file.'.'.$ext;

if (file_exists($dest)){
    $img = new imagick();
    $img->readImage($dest);
    header( "Content-Type: image/jpg" );
    echo $img;
    exit;

 } else {

    $img = new imagick($_SERVER['DOCUMENT_ROOT'].'/'.$file.'[0]');
    $img->setImageFormat($ext);

    $width = $img->getImageheight();
    //$img->cropImage($width, $width, 0, 0);
    $img->scaleImage(105, 149, true);

    $img->writeImage($dest);

    header( "Content-Type: image/jpg" );
    echo $img;
    exit;
}

なぜそれが機能するのかはわかりませんが、機能します - 1 つのコードでそれらをうまく制御できますか?

于 2013-11-02T12:48:02.940 に答える
1

PPTはパワーポイントのプレゼンテーションです。したがって、PPTであるイメージを作成するには、これを実行できるライブラリが必要になります。

ここにあなたを助けるためのいくつかのリソースがあります。

EPSはベクター形式であるため、画像をベクターオブジェクトとして使用しない限り、これを正しく行うことはできません。

于 2009-06-16T10:53:47.390 に答える
0

いくつかの考え-これらのことはどれも自分でテストしていません.

EPS :

Ghostscriptを使用して EPS を PDF に変換できるはずです。imagemagick と ghostscript を使用すると、PDF をビットマップ形式 (GIF、PNG、または JPG) に変換できます。

PPT :

これはどういうわけかもっと複雑なようです。Windows マシンを使用している場合は、小さな手書きのコンバーター内から Powerpoint API を使用することに頼ることができます。もう 1 つの可能性は、Powerpoint ファイル形式に対する Java API であるApache POI-HSLFを使用することです。これには、変換プロセス用の Java プログラムが必要です。最後の手段は、Powerpoint のバイナリ ファイル形式を調べて、抽出できるサムネイル (おそらく Windows エクスプローラーのファイル アイコンに使用される) が埋め込まれているかどうかを確認することです。

于 2009-06-16T11:30:25.973 に答える
0

いくつかの無料のアイコン セットを見つけて、すべての .ppt ファイルにデフォルトのアイコンを使用し、すべての .eps に別のアイコンを使用できます。その後、音声ファイルなど、画像に変換できないすべてのファイル形式に対してこれをさらに拡張できます。完璧な解決策ではありませんが、ユーザーがテキストを表示するよりも快適に感じるかもしれません。

于 2009-06-16T17:44:24.680 に答える