首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用exec将pdf转换为jpg

使用exec将pdf转换为jpg
EN

Stack Overflow用户
提问于 2013-05-02 21:47:22
回答 1查看 3.7K关注 0票数 1

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

我做了一个convert.php,我可以调用它的文件名,并将其转换为jpg格式。我这样调用这个函数:http://www.example.ch/tools/img/cache/convert.php?f=MyPdf.pdf

这看起来像这样:

代码语言:javascript
运行
复制
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输出也类似于:图像不能被打开,因为它包含错误。

EN

回答 1

Stack Overflow用户

发布于 2013-05-02 22:02:00

最好的工具是ImageMagic。

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

Convert PDF to JPEG with PHP and ImageMagick

使用ImageMagic可以很容易地完成这些事情。另请参阅此链接

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

希望这能解决你的问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16339717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档