1

我想将 PDF 图像转换为 .JPG 图像。

我制作了一个 convert.php,我可以使用 PDF 文件的文件名调用它并将其转换为 jpg。我这样称呼这个函数: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。

在您的系统中安装 Image magic 并参考此链接

使用 PHP 和 ImageMagick 将 PDF 转换为 JPEG

使用 ImageMagic 很容易做这些事情。另请参阅此链接

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

希望这能解决你的问题

于 2013-05-02T14:01:59.703 回答