解决方案分成两步:

  (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

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  -quality  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 下字体全部拷贝到其中

linux下用php将doc、ppt转图片的更多相关文章

  1. Linux下php+imagemagick支持webp格式的图片

    摘要 ImageMagick是一款功能强大的图片处理工具包,很多互联网应用中都会涉及到图片处理工作,比如切割.缩放.水印.格式转换等.ImageMagick就是一个理想的工具包. 安装基础依赖 先检查 ...

  2. linux下查看doc在线帮助文件

    常看到某个linux下的工具,有带有doc结尾的文件,但是新手不知道如何查看. 我一番查找,终于知道了... 比如:ipython这个软件,在ubuntu里面,有ipython-doc的一个包. 安装 ...

  3. 2017-7-18-每日博客-关于Linux下的history的常用命令.doc

    History history命令可以用来显示曾执行过的命令.执行过的命令默认存储在HOME目录中的.bash_history文件中,可以通过查看该文件来获取执行命令的历史记录.需要注意的是.bash ...

  4. linux下不错的小软件

    1.Shutter截图软件 可以完成基本截图功能,而且还有图片编辑功能,可以涂鸦添加水印等. 以下的截图全部归功于shutter软件. 2.VLC media player 媒体播放器 3.Termi ...

  5. linux下nginx软件的学习

    参考博客 1.nginx是什么 nginx是一个开源的,支持高性能,高并发的web服务和代理服务软件.它是开源的软件. nginx比它大哥apache性能改进许多,nginx占用的系统资源更少,支持更 ...

  6. (转载)linux下各个文件夹的作用

    linux下的文件结构,看看每个文件夹都是干吗用的/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基 ...

  7. linux下安装apache与php;Apache+PHP+MySQL配置攻略

    1.apache   在如下页面下载apache的for Linux 的源码包    http://www.apache.org/dist/httpd/;   存至/home/xx目录,xx是自建文件 ...

  8. Linux下Nginx+Tomcat负载均衡和动静分离配置要点

    本文使用的Linux发行版:CentOS6.7 下载地址:https://wiki.centos.org/Download 一.安装Nginx 下载源:wget http://nginx.org/pa ...

  9. linux下的nodejs安装

      linux下安装nodejs的方式: 1.源码安装 2.nvm安装 这里推荐使用nvm安装,避免下载nodejs源码:   安装步骤: 一.安装git        一般linux系统的git版本 ...

随机推荐

  1. JS RegExp类型

    用来定义正则表达式的类型, 1. 通常情况下,我们可以直接用字面量形式来定义正则表达式,格式如下: var expression = /pattern/flags pattern为正则表达式 flag ...

  2. HttpClient异步调用引发的程序挂起问题排查及解决

    在搭建搭建分布式系统时,基础组件与框架的重要性不言而喻.但是如果组件出现bug,真的很要命.虽然我们通过各种单元测试,拼命找bug,但是总有一些问题被盲目自信蒙蔽了双眼,很多时候我们认为这段代码100 ...

  3. Vue(十一)计算属性

    计算属性 1. 基本用法 计算属性也是用来存储数据,但具有以下几个特点: a.数据可以进行逻辑处理操作 b.对计算属性中的数据进行监视 2.计算属性 vs 方法 将计算属性的get函数定义为一个方法也 ...

  4. idea+maven+springboot+mybatis

    确认maven环境,安装maven在这里就不赘述了. 在idea新建maven项目 下图中填上你Maven安装的目录 打开pom文件,导入jar包(手动敲入/拷贝) 下面是配置之后的pom文件内容 & ...

  5. dubbo学习汇总

    1. dubbo官网 http://dubbo.io dubbo 作为一个阿里不用的框架,提供了非常多的资料.在分布式框架设计这方面. 2. 其他地方:http://shiyanjun.cn/arch ...

  6. layui常见问题记录

    1.用js选中checkbox,没有效果 解决方式:加入 form.render(); 重新渲染表单 $(this).prop('checked', true); //在新版本的jquery中,如果是 ...

  7. iterm快捷键设置

    如图所示,选择相应的动作和快捷键组合

  8. 每天一个linux命令(12):more命令

    1.命令简介 more (more) 该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比,方便逐页阅读(file perusal filter fo ...

  9. MATLAB 条形图添加多个图例

    MATLAB 条形图添加多个图例: 1)只有一个图例: 2)两个图例:

  10. spring mvc 传入中文参数乱码问题解决

    一个简单的学习springmvc的demo中,当http请求传入中文参数时,在controller中接受到的参数就已经是乱码了,经百度一番解决方案如下: 1. get请求方式乱码解决 对于get方式, ...