2013-05-02 194 views
1

我想將PDF圖像轉換爲.JPG圖像。使用exec將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輸出也是這樣的:圖像不能被操作,因爲它包含錯誤。

回答

0

上面的最佳工具是ImageMagic。

在系統中安裝映像魔術和參照此鏈接

Convert PDF to JPEG with PHP and ImageMagick

這是很容易做到的這幾樣東西使用ImageMagic。也可參考此鏈接

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

希望這將解決您的問題

+0

據我所知,轉化爲任一部分,或用途,ImageMagick的。其中使用Ghostscript來完成PDF文件的渲染......我無法真正看到這是一個Ghostscript問題,它確實應該是一個ImageMagick問題。 – KenS 2013-05-03 08:07:47