1

PDF イメージを .JPG イメージに変換したい。

PDFファイルのファイル名で呼び出してjpgに変換できるconvert.phpを作成しました。この関数を次のように呼び出します: http://www.example.ch/tools/img/cache/convert.php?f=MyPdf.pdf

これは次のようになります。

if ($f = @$_REQUEST['f']) {
    $f = htmlspecialchars(urldecode($f));
    $url  = 'http://www.example.ch/img/cache/'.$f;


    $file = strtolower($f);

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 GTB5');

    $data = curl_exec($ch);

    $retcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    curl_close($ch);
    if ($retcode == 200) {
        file_put_contents($file, $data);
        $converted_filename = str_replace('.pdf', '.jpg', $file );
        $cmd = 'convert '.$file.' '.$converted_filename;
        exec('convert '.$file.' '.$converted_filename);
        $fp = fopen($converted_filename, 'rb');

        header('Content-Type: image/jpeg');
        header("Content-Length: " . filesize($converted_filename));
        fpassthru($fp);
        exit;
    } else {
        header("HTTP/1.0 404 Not Found");
    }

}

これが完了すると、フォルダーにサイズが 700KB の .jpg ファイルが作成され、破損しているため開くことができません。また、HTML出力も次のようになります。エラーが含まれているため、画像を開けません..

4

1 に答える 1

0

上記の最適なツールは ImageMagic です。

システムにイメージマジックをインストールし、このリンクを参照してください

PHP と ImageMagick を使用して PDF を JPEG に変換する

ImageMagic を使用すると、この種のことを非常に簡単に行うことができます。こちらのリンクも参照

http://php.net/manual/en/imagick.setimageformat.php

これで問題が解決することを願っています

于 2013-05-02T14:01:59.703 に答える