视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
php如何把word转图片
2020-11-02 18:02:07 责编:小采
文档


php把word转图片的方法:首先给服务器安装libreoffice;然后使用exec函数来调用命令行操作;最后通过“xec("soffice --headless --invisible..."”方法把word转图片即可。

推荐:《PHP视频教程》

linux,centos,php,word转图片方法(无格式错乱,乱码等问题)

刚开始的时候是客户的活儿,真的是没有想到,被这样一个方法给卡住了,真是醉了,经过漫长的一周,终于搞定了这个问题,以下就来给大家介绍以下这个方法把。能方便大家。

【注】本方法也可以将 ppt 转为图片(execl 没试过,有时间你们可以试一下)

(直接转换没办法,所以找了个折中的办法,先转成pdf文件,然后再将pdf转图片)

先说一下环境的安装(我也是经历了好几次失败才总结出环境的安装的,*表示必须的操作,如果是大神,那么请绕道)

服务器环境:centos7

*集成环境:宝塔

安装完宝塔后,选择安装LNMP的集成环境(php的版本最好安装5.6及以上)

这里需要注意的就是必须使用 nginx 的环境(别用apache,坑太多),还有就是使用宝塔的集成环境,别问我为什么,因为坑太多,只要时间充足,工作不限时长,你也可以自己尝试的安装各种环境试试(为了快速,就按照我的环境安装步骤走)

等待。。

环境安装完成之后,我们进入宝塔的软件商店,点击php后面的设置,然后给php安装imagemagick扩展

等待这个php扩展的安装完成

安装完成之后,我们开始给服务器安装libreoffice

直接执行下面的代码就可以(第一个安装好就ok了,后面两个安装的时候可能会报错,但是只要第一个安装好了,其实没什么大的影响)

1 yum install libreoffice
2 yum install libreoffice-headless
3 yum -y install libreoffice-langpack-zh-Han*

安装完成libreoffice后,我们使用下面的代码来测试一下是否安装成功:

soffice --headless --invisible --convert-to pdf 1.docx

(如果是 ppt 转图片的话只要把后面的 docx 文件 换成 pptx 文件即可)

如果在执行命令的目录下,生成了一个与word同名的pdf文件,即说明libreioffice安装成功了

对于libreoffice的linux使用可以自行百度

在php中,我们可以使用 exec() 函数来调用命令行操作,还有 shell_exec() 等函数(函数用法自行百度)

如果在php方法中不能执行 exec() 方法,说明php将这些方法禁用了,这个时候我们可以修改 php.ini 文件中的配置

在php.ini 文件中找到 disable_functions = 开头的一行,然后在后面把自己要使用的函数删掉,然后重新启动一下php,然后我们写的php就可以调用 exec() 等函数了

至此,我们就把word转图片的所要用到的所有环境都安装成功了

php中word转pdf的方法:

$result = exec("soffice --headless --invisible --convert-to pdf 1.docx");
echo json_encode($result);

可以在同目录生成word同名pdf文件

php中pdf转图片的方法:

$result = pdf2png("/www/wwwroot/wwj.wangwenjie.club/1.pdf","/www/wwwroot/wwj.wangwenjie.club/");
function pdf2png($pdf, $path)
 {
 if (!extension_loaded('imagick')) {
 return false;
 }
 if (!file_exists($pdf)) {
 return false;
 }
 $im = new Imagick();
 $im->setResolution(120, 120); //设置分辨率 值越大分辨率越高
 $im->setCompressionQuality(100);
 $im->readImage($pdf);
 foreach ($im as $k => $v) {
 $v->setImageFormat('png');
 $fileName = $path . md5($k . time()) . '.png';
 if ($v->writeImage($fileName) == true) {
 $return[] = $fileName;
 }
 }
 return $return;
 }

可以在同目录下生成png图片(pdf几页就有几张图片生成)

关于pdf转图片的方法大家可以参考:

https://blog.csdn.net/jeff_love_marina/article/details/80838055(环境等上面的步骤已经都安装好了,所以直接看该链接的方法就行)

至此,在 linux 下 php 将 word 转图片的方法就整个说完了,加油吧

下载本文
显示全文
专题