2010-11-18 75 views
3

我想将PDF转换为image.But当了把图像生成是从original.Here得到模糊的代码PDF到图像使用PHP-imagick API

$uploadfile = ".pdf[53]"; 
$img = new Imagick($uploadfile); 
$img->setResolution(300,300); 
$img->resampleImage(150,150,imagick::FILTER_UNDEFINED,1); 
$img->resizeImage(512,700,Imagick::FILTER_LANCZOS,0); 
$img->setImageFormat('jpeg'); 
$img->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH); 
$img->writeImage ("p-53.jpeg"); 

你能帮帮我。 谢谢。

+0

Z:能否请您分享您的完整的代码我需要的是在一个笨PDF转换为图像的,因为我是新来的笨我stuckoff – user1894647 2016-01-19 07:13:51

回答

6

删除resample和resize调用,看看你得到了什么。看起来你正在缩小,然后升高它。

编辑:setResolution(300,300)为时已晚 - 图像已经被渲染。像这样做:

$im = new Imagick(); 
$im->setResolution(300, 300); 
$im->readImage($uploadfile); 
+0

感谢重播,但它没有为我工作。有任何其他的想法吗?我可以用命令行做得最好,但速度慢,所以我已经切换回php api.Here是命令“urs/bin/convert -density 300x300 uploadfile。 pdf [2] -resample 150 -resize 512x700!page.jpeg 2> &1"; – 2010-11-18 05:36:57

+0

增加了另外一个建议。PDF在阅读之前需要知道分辨率,因为文件可以以任何分辨率呈现,它需要知道你想要什么然后把它变成图像 – 2010-11-18 13:44:09

+1

你能否提供一个例子如何正确地做到这一点,因为我也在寻找这个解? – user398341 2011-04-21 08:45:31