Php想象抗锯齿

时间:2014-09-23 14:20:11

标签: php imagick

我的php有问题:当我将PDF转换为JPG时未正确显示。

这是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!";
}

1 个答案:

答案 0 :(得分:0)

尝试将dpi值设置得更高。如果这不起作用,请尝试其他导出格式(jpg除外)。 SVG将是您最好的选择,因为您可以扩展它,而文本和其他形状仍然是完美的质量。如果分辨率(dpi)太低,JPG在高变焦级别时不会很锐利。

此论坛条目可能有所帮助:anti-aliased text when exporting PDF to image