php转换上传word文件为PDF的方法【基于COM组件】


Posted in PHP onJune 10, 2019

本文实例讲述了php转换上传word文件为PDF的方法。分享给大家供大家参考,具体如下:

以前用过office组件转换上传文件word同时转换为html文件,这次要将word文件转换为pdf格式,网上的方法很多,也很麻烦,也不想在服务器上再安装第三方软件,花了好几天的时间,终于在一个网站上,发现在了原来用COM组件,在转换为html文件的同时,也能转换为pdf格式,而自己服务器上已经安装了office2010,这样只需要改写一下以前的几行代码就可以,代码如下:

$word = new COM("Word.Application") or die ("Could not initialise Object.");
// set it to 1 to see the MS Word window (the actual opening of the document)
$word->Visible = 0;
// recommend to set to 0, disables alerts like "Do you want MS Word to be the default .. etc"
$word->DisplayAlerts = 0;
// open the word 2007-2013 document 
$word->Documents->Open('yourdocument.docx');//这个是绝对文件地址,如c:\www\1.txt这样的地址才通过
// save it as word 2003
$word->ActiveDocument->SaveAs('newdocument.doc');//转换成doc格式
// convert word 2007-2013 to PDF
$word->ActiveDocument->ExportAsFixedFormat('yourdocument.pdf', 17, false, 0, 0, 0, 0, 7, true, true, 2, true, true, false);//转换为pdf模式
// quit the Word process
$word->Quit(false);
// clean up
unset($word);

以上代码的原始地址:http://stackoverflow.com/questions/5538584/convert-word-doc-docx-and-excel-xls-xlsx-to-pdf-with-php

我把以上的代码做成了一个函数,代码如下:

function word2pdf($lastfnamedoc,$lastfnamepdf)
{
  $word = new COM("Word.Application") or die ("Could not initialise Object.");
 // set it to 1 to see the MS Word window (the actual opening of the document)
 $word->Visible = 0;
 // recommend to set to 0, disables alerts like "Do you want MS Word to be the default .. etc"
 $word->DisplayAlerts = 0;
 // open the word 2007-2013 document 
 // $word->Documents->Open('3.docx');
// $wordname='D:/www/fa/3.doc';
  $word->Documents->Open($lastfnamedoc);
 // save it as word 2003
// $word->ActiveDocument->SaveAs('4.doc');
 // convert word 2007-2013 to PDF
 // $pdfname='D:/www/fa/3.pdf';
 $word->ActiveDocument->ExportAsFixedFormat($lastfnamepdf, 17, false, 0, 0, 0, 0, 7, true, true, 2, true, true, false);
 // quit the Word process
 $word->Quit(false);
 // clean up
 unset($word);
}

我的是doc文件直接换pdf文件,代码是文件的地址我服务器的全是绝对地址,否则文件通不过!

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP+jQuery实现自动补全功能源码
May 15 PHP
解析CI的AJAX分页 另类实现方法
Jun 27 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 PHP
php实现parent调用父类的构造方法与被覆写的方法
Feb 11 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
Mar 15 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 PHP
Yii视图操作之自定义分页实现方法
Jul 14 PHP
php7 安装yar 生成docker镜像
May 09 PHP
用php+ajax新建流程(请假、进货、出货等)
Jun 11 PHP
通过源码解析Laravel的依赖注入
Jan 22 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 PHP
laradock环境docker-compose操作详解
Jul 29 PHP
php简单计算权重的方法示例【适合抽奖类应用】
Jun 10 #PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
Jun 08 #PHP
php使用scandir()函数扫描指定目录下所有文件示例
Jun 08 #PHP
php中目录操作opendir()、readdir()及scandir()用法示例
Jun 08 #PHP
php中字符串和整数比较的操作方法
Jun 06 #PHP
使用PHPWord生成word文档的方法详解
Jun 06 #PHP
php/JS实现的生成随机密码(验证码)功能示例
Jun 06 #PHP
You might like
Yii rules常用规则示例
2016/03/15 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
js调试系列 断点与动态调试[基础篇]
2014/06/18 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
原生javascript实现隔行换色
2015/01/04 Javascript
JavaScript对HTML DOM使用EventListener进行操作
2015/10/21 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
2016/07/01 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
微信小程序-滚动消息通知的实例代码
2017/08/03 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
OpenLayers3实现图层控件功能
2020/09/25 Javascript
python实现的文件夹清理程序分享
2014/11/22 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
numpy 声明空数组详解
2019/12/05 Python
500行python代码实现飞机大战
2020/04/24 Python
解决margin 外边距合并问题
2019/07/03 HTML / CSS
Halston Heritage官网:简洁的日装,稍显奢华的晚装
2018/11/20 全球购物
如何用Python来进行查询和替换一个文本字符串
2014/01/02 面试题
优秀高中生事迹材料
2014/02/11 职场文书
产品售后服务承诺书
2014/05/21 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
创先争优活动个人总结
2015/03/04 职场文书
浅谈如何提高PHP代码的质量
2021/05/28 PHP
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android
Pygame如何使用精灵和碰撞检测
2021/11/17 Python
SQL基础查询和LINQ集成化查询
2022/01/18 MySQL