zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    css常用格式
    css选择器
    D1-mini esp8266的资料备份
    总结esp8266刷Python的完整的步骤(终极总结)
    用Python利用pyFirmata控制Arduino实现Blink
    microPython 的逗比报错的问题
    python+opencv+Face++实现人脸识别比对
    TypeError: slice indices must be integers or None or have an __index__ method
    opencv识别验证码的教程和资料
    校园网一键登录后台
  • 原文地址:https://www.cnblogs.com/baby123/p/10737625.html
Copyright © 2011-2022 走看看