【发布时间】:2012-11-19 08:20:26
【问题描述】:
我成功地将一个完整的pdf文件根据pdf中的页面转换为不同的png文件。但是现在的问题是图像的分辨率不如pdf文件中的那么好,有点模糊。谁能帮我解决这个问题?
我正在使用以下代码:-
if ($_FILES["file"]["error"] > 0)
{
echo $msg = $_FILES["file"]["error"] . "<br />";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],"images/" . $_FILES["file"]["name"]);
}
ini_set('max_execution_time', 100);
$file1=$_FILES["file"]["name"];
$file='images/' . $_FILES["file"]["name"];
$pages=exec("identify -format %n $file");
$explode=explode('.',$file);
$explode=$explode[0];
for($i=0;$i<$pages;$i++)
{
$im = new imagick( 'C:\wamp\www\test\upload\images\\'.$file1.'['.$i.']' );
//$im->setImageColorspace(0);
#for thumbnail
//$im->cropThumbnailImage(90,90);
$im->setResolution(200,200);
$im->setImageCompression(Imagick::COMPRESSION_LZW);
$im->setImageCompressionQuality(0);
$im->setImageFormat('png');
$im->adaptiveResizeImage(768,1024);
$im->writeImage($explode.$i.'.png');
//echo $explode.$i.'.png';
$im->clear();
$im->destroy();
}
unlink($file);
【问题讨论】:
-
您对传递给
$im->setResolution和$im->adaptiveResizeImage的值做了什么尝试?这对图像有何改变? -
我不知道 $im->setResolution 但 $im->adaptiveResizeImage 将新创建的 png 文件的宽度和高度保持在 768 和 1024 像素
-
我对 PHP 中的 imagick 不是特别熟悉,但我愿意打赌一个名为
setResolution的函数会设置图像的分辨率
标签: php pdf imagemagick png