第一步服务器安装libreoffice扩展
yum install libreoffice
yum install libreoffice-headless
yum -y install libreoffice-langpack-zh-Han*
第二步:安装imagemagick扩展 (这里我前面的文章有教程)
第三步:PHP将docx文件转为PDF文件,这里会在同目录下生成PDF文件(注意exec函数一定要接触禁用)
//php代码
exec("soffice --headless --invisible --convert-to pdf 111.docx")
第四步:使用我之前的PDF转为图片 直接调用这个静态方法
/**
* 将pdf文件转化为多张png图片
* @param string $pdf pdf所在路径 (/www/pdf/abc.pdf pdf所在的绝对路径)
* @param string $path 新生成图片所在路径 (/www/pngs/)
*
* @return array|bool
*/
public static function pdf2png($pdf)
{
$path = ROOT_PATH . 'public/uploads/wrodpng/';
$im = new \Imagick();
$im->setResolution(120, 120); //设置分辨率 值越大分辨率越高
$im->setCompressionQuality(100);
$im->readImage($pdf);
// $count = count($im); //word文档数量
foreach ($im as $k => $v) {
$v->setImageFormat('png');
// //如果所有word的图片就用下面注释的代码
// $fileName = $path . md5($k . time()) . '.png';
// if ($v->writeImage($fileName) == true) {
// $return[] = $fileName;
// }
$name = md5($k . time()) . '.png';
$fileName = $path . $name;
if ($v->writeImage($fileName) == true) {
$data['image'][$k] = '/uploads/wrodpng/'.$name;
}
}
// $data['count'] = $count;
return $data;
}
小伙伴们!这样就完成了哦! QQ学习交流群:842167453,欢迎小伙伴加入一起学习。