一、window安装步骤(转载:https://www.cnblogs.com/jinxiblog/p/8053008.html)

个人操作步骤补充:

1、先下载php_imagick扩展,拷贝待php安装目录的ext目录下,修改php.ini文件,extension=imagick

2、下载ImageMagick解压到D盘soft,然后在环境变量中PATH添加D:\soft\ImageMagick\bin

3、重启apache,此时才可以看到php_imagick扩展安装成功

4、下载Ghostscript并安装,我这边的安装目录D:\soft\gs9.53.3,在bin目录下复制gswin64.exe重命名为gs.exe,最后在环境变量中PATH添加D:\soft\gs9.53.3\bin

-----------------------------------------------------------------END----------------------------------------------------------------------------

根据环境下载合适的 imagick扩展 和 imagemagick程序

1.下载拓展
下载地址一: http://windows.php.net/downloads/pecl/releases/imagick/
下载地址二: https://pecl.php.net/package/imagick
要点: 注意对应php版本 ts还是nts x86还是x64
这里以phpinfo()为准

所以我应该下载imagick 3.4.3版本 PHP5.6 Non Thread Safe (NTS) x86 的拓展——php_imagick-3.4.3-5.6-nts-vc11-x86.zip

2 安装拓展
解压上述文件后,将php_imagick.dll复制到php/ext目录,或者其他你的存放拓展的目录
修改php.ini 加上extension=php_imagick.dll,注意php可能有多个ini,以phpinfo为准
此时复制解压上述文件目录中其他dll到php目录,重启apache,此时phpinfo显示拓展安装成功,但是 ImageMagick number of supported formats为0,到这里成功安装了一半

3.下载imagemagick程序
http://www.imagemagick.org/script/download.php
下载地址:http://windows.php.net/downloads/pecl/deps/
imagemagick还有官网下载,此处不鼓励从imagemagick官方下载,他们的网站上我并没有找到历史版本下载,安装失败的几率很大
下载与phpinfo提示一致的版本,此时需要注意 1.软件版本对应 2.vc11还是vc14 3.x86还是x64 都要以phpinfo为准,我的

4.下载Ghostscript并安装
Ghostscript下载地址:https://www.ghostscript.com/download/gsdnld.html

二、完整代码

/*** 获取PDF的页数* @param string $path pdf绝对路径* @return int 返回页数*/function getPageTotal($path){// 打开文件if (!$fp = @fopen($path,"r")) {return false;} else {$max = 0;while(!feof($fp)) {$line = fgets($fp,255);if (preg_match('/\/Count [0-9]+/', $line, $matches)){preg_match('/[0-9]+/',$matches[0], $matches2);if ($max<$matches2[0]) $max=$matches2[0];}}fclose($fp);// 返回页数return (int)$max;}}/*** 将pdf文件转化为多张图片* @param string $path 本地路径** @return array|bool* @throws ImagickException*/function pdfImgMore($path = ''){$return = [];if (!file_exists($path)) {return false;}//获取pdf文件的页数$num = $this->getPageTotal($path);if($num == 0){return false;}elseif($num >= 2){//默认只渲染两张图片$num = 2;}$im = new \Imagick();$im->setResolution(150, 150); //设置分辨率 值越大分辨率越高$im->setCompressionQuality(100);//防止pdf生成图片页数不对$filePath = "D:/UPUPW_ANK_W64/WebRoot/Vhosts/www.timu.com/public/uploads/pdfimg/";for($i=0;$i<$num;$i++){$im->setColorspace(\Imagick::COLORSPACE_SRGB); //保证pdf彩色$im->readImage($path."[".$i."]"); //设置读取pdf的第一页
//            dump($path."[".$i."]");die;$im->setImageFormat('jpg');$im->setImageBackgroundColor('white');$im->setImageCompose(\Imagick::COMPOSITE_ATOP);$name = $i . '-' . time() . '.jpg';$fileName = $filePath.$name;//处理黑色背景问题$blankPage = new \Imagick();$blankPage->newPseudoImage($im->getImageWidth(), $im->getImageHeight(), "canvas:white");$blankPage->compositeImage($im, \Imagick::COMPOSITE_ATOP, 0, 0);if ($blankPage->writeImage($fileName) == true) {$return[] = "/uploads/pdfimg/" . $name;}}$im->clear();$im->destroy();return $return;}

完成以上步骤 pdf就可以转png了

三、接下来是word ppt转pdf windows下的安装及使用

1 下载地址:https://downloadarchive.documentfoundation.org/libreoffice/old/5.4.5.1/portable/

初次下载需安装,安装后,可以将安装后的文件夹直接拷贝到U盘或者直接打个压缩包,其他windows电脑使用只需要解压就可以了,无须再次安装,相当于是绿色版。

2 通过cmd命令实现文档转换
首先打开cmd进入LibreOffice目录,然后运行以下命令:

LibreOfficeWriterPortable --headless --convert-to pdf {文档路径} --outdir {导出目录路径}

例如:

运行后打开pdf导出的目录观察是否有pdf文件产生即可。本身cmd命令运行后没有任何结果和反馈。

3.php调用命令实现文档转换

/*** word ppt 转pdf* @param string $path pdf绝对路径*/public function filePdfImg($path){$retval = 1;$output = '';// exec() might be disabled$cmd = 'D:/LibreOfficePortablePrevious/LibreOfficeWriterPortable.exe  --headless --convert-to pdf '.$path.' --outdir D:/UPUPW_ANK_W64/WebRoot/Vhosts/www.timu.com/public/uploads/filepdf/';if (function_exists('exec')){@exec($cmd,$output,$retval);}// Did it work?if ($retval > 0){return false;}return true;}

转成pdf之后 , 就可以用imagick扩展转成图片了 ,word 转pdf 还会有一个数学公式的bug ,其他到没什么问题,以上也是我参考了很多大佬资料,才总结出来的 。如果你的项目需要效率的话,还是用Java或其他语言传接口 ,通过接口处理文件转png吧 。

PHP word ppt pdf 转图片相关推荐

  1. Word/PPT/PDF怎么免费转为JPG图片?

    很多小伙伴接到要将Word/PPT/PDF转为图片的任务,但一般的软件都要收费,那有没有永久免费的软件?又该如何操作呢? 1.打开金鸣表格文字识别网站. 2.点击导航条上的"软件下载&quo ...

  2. Python从Word/PPT/PDF中抽取图片

    Python从Word/PPT/PDF中抽取图片 PS 1:也是从网上各个帖子中学习的代码,因此代码的格式以及内容有粘贴网上其他大神的代码,如有侵权请告知删除 2:本次设计意在用pyinstaller ...

  3. 在线预览Word、PDF、图片(IE、Edge、Google、FireFox等主流浏览器)

    支持IE.Edge.Google.FireFox等主流浏览器处理在线预览Word.PDF.JPG.JPEG等格式文件或图片. var id=ID; if(id!=undefined){var hasI ...

  4. Word导出PDF—保留图片高分辨率同时不丢失书签/超链接

    文章目录 一.打印高质量PDF文件(无书签.超链接) 二.设置书签.超链接 三.小结 参考资料 一.打印高质量PDF文件(无书签.超链接) ① 安装Adobe Acrobat(本人使用的是Adobe ...

  5. 【初识python 3】PPT PDF 转图片优化告一段落

    序言 不想起标题,将就看吧 ^ _ ^ 看此片文章之前请先阅读 [初识python 1]Python PPT PDF 转成图片 [初识python 2]对服务端发送PDF EXCEL文件URL转成图片 ...

  6. java将office文档,word,ppt,pdf文档转换成swf文件在线预览

    java将office文档pdf文档转换成swf文件在线预览 第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux ...

  7. excel,word,ppt,pdf,swf 文件互相转换

    转自:  http://www.cnblogs.com/wolf-sun/p/3569960.html 引言 之前项目需要,查找了office文档在线预览的解决方案,顺便记录一下,方便以后查询. 方案 ...

  8. word转pdf保持图片清晰度

    今天写论文的遇到两个问题 1.word插入的图片清晰度不够高,放大之后不清晰了 2.word里面清晰度高,但是转pdf之后放大不清晰了  问题1解决办法: word中->插入图片->右键选 ...

  9. word转pdf时图片模糊/分辨率不高解决方案

    一般我们进行文件传输时,为了保持格式的稳定性,经常会将doc格式转为pdf格式,但是有时会发现转换后图片会变得异常模糊,分辨率不高. 网上有很多解决办法,但大多比较复杂且最终效果不好. 这里介绍一种简 ...

最新文章

  1. 【转】NuGet学习笔记(2)——使用图形化界面打包自己的类库
  2. K-Means算法Demo
  3. python多线程并发写入_Python多线程并发的简单测试
  4. v-model数据绑定分析
  5. SpringBoot整合Shiro实现登录认证授权操作
  6. Centos7 Kubernetes(k8s) 开发服务器(单服务器)部署 mariadb/mysql 数据库
  7. html打印word文档,HTML文件到WORD文档双面打印三步曲
  8. (转载)一片文章带你理解再生核希尔伯特空间(RKHS)以及各种空间
  9. 计算机室火灾隐患表现,校园安全防火知识
  10. c语言编程身高体重测量,身高体重测量系统设计.doc
  11. 二元隐函数求二阶偏导_二元隐函数的二阶偏导数的计算方法
  12. Dadroit JSON Viewer 查看json文件的利器
  13. 30个Python最佳实践和技巧,你值得拥有~
  14. 单片机I/O口的结构的详解
  15. 分布式文件系统:原理、问题与方法
  16. 梯度提升树(GBDT)
  17. 冰雹猜想(2023.5.7)
  18. snakeyaml 简介、中文文档、中英对照文档 下载
  19. 扩展和嵌入Python解释器 Extending and Embedding the Python Interpreter
  20. 【Python基础 | 列表】小实验:实现显示商品,选择商品,将商品加入购物车,得到总价格

热门文章

  1. 济宁市计算机技能大赛,【嘉职动态】2019年济宁市职业院校技能大赛嘉祥职业中专赛区圆满完成任务...
  2. DELL T7600工作站重新安装WIN7系统
  3. log4j2配置详情
  4. cocos2dx 圆盘抽奖_cocos2d编写的类似幸运大转盘抽奖源码
  5. scdl matlab,5自由度移动机器人的建模与仿真-硕士论文
  6. 控制进度-监控管理过程组
  7. 量子计算机亨通光电,在量子领域新成果:在半导体“自旋量子位元”(量子计算机的一种基本组件) 利用悉尼...
  8. 我敢打赌你一定不知道的软件测试基础知识整理
  9. ⑴配置1-5_Telnet_Isolate_Vlan_Hybrid_MAC-Vlan
  10. 计算机课学生当老师,当老师打开网课摄像头,本该端坐在电脑前的学生,竟变成了一只猫...