首页 > 后端开发 > PHP问题 > php 怎么将word转为图片

php 怎么将word转为图片

藏色散人
发布: 2023-03-08 11:04:02
原创
4597 人浏览过

php将word转为图片的方法:首先安装unoconv;然后通过“sudo apt-get install imagemagick”命令安装imagemagick;最后将word转为图片即可。

php 怎么将word转为图片

本文操作环境:linux5.9.8系统、PHP7.1版、Dell G3电脑。

linux下用php将doc、ppt转图片

解决方案分成两步:

  (1)调用unoconv命令将 doc、ppt 转 pdf

  (2)使用 imagemagick将 pdf 转图片

步骤

1.安装unoconv

sudo apt-get install unoconv
登录后复制

安装是否成功

unoconv --version
登录后复制

2.安装imagemagick

sudo apt-get install imagemagick
登录后复制

是否安装成功

convert -version
登录后复制

【推荐学习:《PHP视频教程》】

3.测试

  (1)将odt文件转成pdf文件

unoconv -f pdf test.docx
登录后复制

  (2)将pdf转成图片(jpg)

convert XXX.pdf %d.jpg
登录后复制

    %d是按页进行转换

4.php调用shell命令进行转换

<?php
exec("unoconv -f pdf test.docx");
exec("convert  test.pdf %d.jpg");
登录后复制

补充

1.如果出现错误:

  convert: not authorized `test.pdf' @ error/constitute.c/ReadImage/412.
  convert: no images defined `%d.jpg' @ error/convert.c/ConvertImageCommand/3210.

  解决方案:

  修改配置文件/etc/ImageMagick-6/policy.xml

  将

<policy domain="coder" rights="none" pattern="PDF" />
登录后复制

  改为

<policy domain="coder" rights="read|write" pattern="PDF" />
登录后复制

  添加

<policy domain="coder" rights="read|write" pattern="LABEL" />
登录后复制

2.如果转成的图片模糊

  转换是增加参数

convert -density 300 -quality 100 test.pdf  %d.jpg
登录后复制

  -density XXX

  图像每英寸面积内的像素点数,数值越高图片质量越高

  -quality 100

  转换jpg时的压缩率,100表示不压缩

php代码改为

<?php
exec("unoconv -f pdf test.docx");
exec("convert  -density 300 -quality 100 test.pdf %d.jpg");
登录后复制

 3.乱码问题

  如果转换的文件出现乱码

  在/usr/share/fonts/下新建文件夹 win 并设置权限,将 windows 下的 window-fonts 下字体全部拷贝到其中

以上是php 怎么将word转为图片的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板