不管你是<code>windows</code>还是<code>linux</code>,要实现PDF文件转换成png还是jpg首先,都安装<code>Imagick</code>扩展。这扩展网上都有详细的安装教程,灵活的运用安装。下面是实现功能的代码:
<pre>
$fileName1 = 'CZ2016-01-01/o_1ak57jr6ms741efo1ndk8b4daic.jpg';
$path1 = "http://img.qkhl.net/test";
chmod($path1.'/'.$fileName1, '-rwxrwxrwx' );//赋给文件权限(777)
$data_i = pdf2png($fileName1, $path1);
die('{"status" s: "success", "result": {"imgpath" : "' . $data_i . '"}}');//返回参数
function pdf2png($pdf,$path1,$page=-1)
{
if(!extension_loaded('imagick'))
{
return 4;
}
if(!file_exists($pdf))
{
return 5;
}
$im = new Imagick();
$im->setResolution(60,60); //设置分辨率
$im->setCompressionQuality(10);//设置图片压缩的质量
if($page==-1) {
$ss = $im->readImage($pdf);
}
else{
$im->readImage($pdf."[".$page."]");//从文件名读取图像
return 7;
}
$im->setImageFormat('jpg'); //为图片设置指定的格式
$filename1 = $path1."/". md5(time()).'.jpg';
$dd = $im->writeImage($filename1);
// return '阻住';
if($dd == true)//把图片写入指定的文件
{
// return 'yes';
$return = $filename1;
} else{
return '失败';
}
return $return;
}
</pre>
注意当我们引入函数的时候<code>pdf2png($pdf,$path1,$page=-1)</code>当直接引用。还有就是路径必须写正确,否则会转换失败。
网友评论