2014-09-23 77 views
0

我有一個問題,我的php:當我做轉換PDFJPG沒有正確顯示。Php imagick反走樣

這是PDF格式的原始照片 - >http://s16.postimg.org/ma0jizgt1/text_problem2_fw.png

這是imagick轉換後的JPG - >http://s14.postimg.org/ilhs9tt3l/text_problem_fw.png

請你能幫助我嗎?

謝謝

PHP:

if (move_uploaded_file($_FILES["files"]["tmp_name"], $uploadUrlPdf . $_FILES["files"]["name"])) 
{ 

    $_FILES['files']['name']; 
    $nr_pag = $_POST['nr_pagini']; 

    for($i = 0; $i < $nr_pag; $i++) 
    { 

     $fn = $uploadUrlSwf.sprintf("%02d", "$i").".jpg"; 

     if (!file_exists($fn)) 
     { 
      $im = new imagick(); 

      $im->setResolution($dpi,$dpi); 
      $pdf = $uploadUrlPdf.$_FILES['files']['name']."[$i]"; 
      $im->readimage($pdf); 

      $im->setImageFormat('jpg'); 
      $im->writeImage($fn); 
      file_put_contents($fn, (string)$im); 
      $im->clear(); 
      $im->destroy(); 
     } 

    } 
} 
else 
{  
    echo "error!"; 
} 
+0

這是可能的,你正在使用一個版本的ImageMagick(或相當的Ghostscript)的一個其中有http://stackoverflow.com/questions/23085550/php-imagick一個bug -pdf-conversion-text-aliasing/23144243#23144243 – Danack 2014-09-23 16:14:08

回答

0

嘗試設置你的dpi值越高。如果這不起作用,請嘗試另一種導出格式(非JPG格式)。 SVG將是你最好的選擇,因爲你可以擴展它,而文本和其他形狀仍然是完美的質量。如果分辨率(dpi)太低,JPG在高倍率下不會變得尖銳。

此論壇條目可能幫助:anti-aliased text when exporting PDF to image

+0

我只需要JPG或PNG。現在dpi是$ dpi = 200。 – 2014-09-23 14:54:16

+0

您是否嘗試過更高的DPI設置? – Smile4ever 2014-09-23 16:30:22

+0

沒有區別,只有JPG的大小。 – 2014-09-23 16:59:40