linux,centos,php,word转图片方法
刚开始的时候是客户的活儿,真的是没有想到,被这样一个方法给卡住了,真是醉了,经过漫长的一周,终于搞定了这个问题,以下就来给大家介绍以下这个方法把。能方便大家。
【注】本方法也可以将 ppt 转为图片(execl 没试过,有时间你们可以试一下)
(直接转换没办法,所以找了个折中的办法,先转成pdf文件,然后再将pdf转图片)
先说一下环境的安装(我也是经历了好几次失败才总结出环境的安装的,*表示必须的操作,如果是大神,那么请绕道)
- 服务器环境:centos7
- *集成环境:宝塔
- 安装完宝塔后,选择安装LNMP的集成环境(php的版本最好安装5.6及以上)
- 这里需要注意的就是必须使用 nginx 的环境(别用apache,坑太多),还有就是使用宝塔的集成环境,别问我为什么,因为坑太多,只要时间充足,工作不限时长,你也可以自己尝试的安装各种环境试试(为了快速,就按照我的环境安装步骤走)
- 等待。。。
- 环境安装完成之后,我们进入宝塔的软件商店,点击php后面的设置,然后给php安装imagemagick扩展

等待这个php扩展的安装完成
安装完成之后,我们开始给服务器安装libreoffice
- 直接执行下面的代码就可以(第一个安装好就ok了,后面两个安装的时候可能会报错,但是只要第一个安装好了,其实没什么大的影响)
yum install libreoffice
yum install libreoffice-headless
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 转图片的方法就整个说完了,加油吧
linux,centos,php,word转图片方法的更多相关文章
- linux centos apache开启gzip的方法
开启gzip压缩的方法很简单,连接服务器并打开配置文件“httpd.conf”,找到下面这两句,去掉前面的“#” 代码如下 1 LoadModule deflate_module modules/m ...
- Linux - CentOS 登陆密码找回解决方法
- [Linux] - CentOS IP设置方法
CentOS 7的IP设置方法: 1.手动设置IP方法 a) 运行命令,cd到目录: cd /etc/sysconfig/network-scripts/ b) 运行命令:ls -l 找到类似这个文件 ...
- linux centos安装编译phantomjs 2.0的方法
phantomjs 2.0最新版的官方不提供编译好的文件下载,只能自己编译,有教程但是过于简单,特别是服务器上要安装N多的支持.折腾到现在终于装好了并且能正常运行了,截图mark一下: linux c ...
- Linux/Centos下清理内存和Cache方法
Linux/Centos下释放内存和缓存方法 $ free -m 运行sync将dirty的内容写回硬盘$ sync 通过修改proc系统的drop_caches清理free的cache$ echo ...
- 解决Linux CentOS中cp -f 复制强制覆盖的命令无效的方法
Linux下默认cp命令是有别名的(alias cp='cp -i'),无法在复制时强制覆盖,即使你用 -f 参数也无法强制覆盖文件,下面提供几个从网上找的Linux下cp命令覆盖的方法. 1)取消c ...
- 001. 使用ssh连接不上centos 6.5的解决方法及其解决中文乱码
1. 使用ssh连接不上centos 6.5的解决方法: 错误显示: Connecting to 192.168.1.106:22... Could not connect to '192.168.1 ...
- CentOS系统版本的查看方法
CentOS系统版本的查看方法 查看操作系统版本 1 [root@aliyun ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noa ...
- Linux(Centos )的网络内核参数优化来提高服务器并发处理能力【转】
简介 提高服务器性能有很多方法,比如划分图片服务器,主从数据库服务器,和网站服务器在服务器.但是硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题 ...
随机推荐
- ZeroC ICE的远程调用框架 ServantLocator与Locator
ServantLocator定位的目标是Servant,而Locator定位的目标是“Ice Object”,即一个可定位的“Ice Object”代理.Servant是::Ice::Object的继 ...
- [ubuntu篇] 使用Hexo建立个人博客,自定义域名https加密,搜索引擎google,baidu,360收录
为了更好的阅读体验,欢迎阅读原文.原文链接在此. Part 1: Using Github Pages and Hexo to manage personal blogs. Series Part 1 ...
- 2019-11-7:练习上传getshell,通过菜刀连接
一.使用phtstudy搭建环境 1,将emlog源码解压到phpstudy的www目录,复制emlog源码中的src所有文件到需要搭建emlog的目录中,修改emlog配置文件,输入好本机mysql ...
- 2019-9-28:渗透测试,基础学习,DNS投毒
该文章仅供学习,利用方法来自网络文章,仅供参考 DNS劫持 目标机:虚拟机下的win7系统 目标ip:192.168.20.131 目标:使用ettercap进行apr投毒,对win7系统就行,DNS ...
- 📈📈📈📈📈iOS 图表框架 AAChartKit ---强大的高颜值数据可视化图表框架,支持柱状图、条形图、折线图、曲线图、折线填充图、曲线填充图、气泡图、扇形图、环形图、散点图、雷达图、混合图
English Document
- MySql分库分表与分区的区别和思考
一.分分合合 说过很多次,不要拘泥于某一个技术的一点,技术是相通的.重要的是编程思想,思想是最重要的.当数据量大的时候,需要具有分的思想去细化粒度.当数据量太碎片的时候,需要具有合的思想来粗化粒度. ...
- fastjson自定义序列化竟然有这么多姿势?
本文介绍下fastjson自定义序列化的各种操作. 一.什么是fastjson? fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSO ...
- 小白学 Python 爬虫(10):Session 和 Cookies
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 如何切换本地的GIT账号
如何切换本地的GIT账号 1.为什么登陆第一次Git之后,就不用登陆了呢? 因为电脑已经将你的登陆凭据给保存起来了. 这也正是你不知道如何切换账号的原因. 2.在哪里能看已经保存的登陆凭证呢?并能够切 ...
- CSS+HTML实现移动端div左右滑动展示
由于手机屏幕的宽度有限,内容太多移动设备一行装不下的,所以很多移动端网站的导航栏都有左右滑动效果,下面我就用CSS+HTML实现移动端div左右滑动展示. CSS:box设置文本不换行,子元素box1 ...