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 相关文章推荐
FCKeditor添加自定义按钮
Mar 27 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
Apr 10 PHP
yii框架通过控制台命令创建定时任务示例
Apr 30 PHP
PHP内置过滤器FILTER使用实例
Jun 25 PHP
PHP连接MySQL数据的操作要点
Mar 20 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
Mar 07 PHP
php进程间通讯实例分析
Jul 11 PHP
ThinkPHP中create()方法自动验证实例
Apr 26 PHP
php基于session锁防止阻塞请求的方法分析
Aug 07 PHP
php实现支持中文的文件下载功能示例
Aug 30 PHP
实例讲解php将字符串输出到HTML
Jan 27 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 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
php adodb连接mssql解决乱码问题
2009/06/12 PHP
php中使用Imagick实现图像直方图的实现代码
2011/08/30 PHP
基于jQuery的左右滚动实现代码
2010/12/03 Javascript
javascript 折半查找字符在数组中的位置(有序列表)
2010/12/09 Javascript
JQuery以JSON方式提交数据到服务端示例代码
2014/05/05 Javascript
使用jsonp完美解决跨域问题
2014/11/27 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
详谈jQuery中的一些正则匹配表达式
2017/03/08 Javascript
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
2018/11/08 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
在Vue项目中,防止页面被缩放和放大示例
2019/10/28 Javascript
VueJS实现用户管理系统
2020/05/29 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
python 算法 排序实现快速排序
2012/06/05 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
2018/04/17 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
解决python读取几千万行的大表内存问题
2018/06/26 Python
对web.py设置favicon.ico的方法详解
2018/12/04 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
Python中SQLite如何使用
2020/05/27 Python
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
Java基础类库面试题
2013/09/04 面试题
小学家长会邀请函
2014/01/23 职场文书
红领巾广播站广播稿
2014/02/01 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
中国世界遗产导游词
2015/02/13 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书
详解Flutter网络请求Dio库的使用及封装
2022/04/14 Java/Android