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 正确解码javascript中通过escape编码后的字符
Jan 28 PHP
PHP Global变量定义当前页面的全局变量实现探讨
Jun 05 PHP
使用Linux五年积累的一些经验技巧
Jun 20 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
Jan 07 PHP
四个常见html网页乱码问题及解决办法
Sep 08 PHP
php阿拉伯数字转中文人民币大写
Dec 21 PHP
php实现scws中文分词搜索的方法
Dec 25 PHP
ThinkPHP中session函数详解
Sep 14 PHP
详解php中空字符串和0之间的关系
Oct 23 PHP
PHP 多任务秒级定时器的实现方法
May 13 PHP
php面向对象程序设计入门教程
Jun 22 PHP
laravel按天、按小时,查询数据的实例
Oct 09 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
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
laravel 去掉index.php伪静态的操作方法
2019/10/12 PHP
javascript 拖放效果实现代码
2010/01/22 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
详解JavaScript操作HTML DOM的基本方式
2015/10/21 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
详解利用Angular实现多团队模块化SPA开发框架
2017/11/27 Javascript
详解关于element el-button使用$attrs的一个注意要点
2018/11/09 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
Python中支持向量机SVM的使用方法详解
2017/12/26 Python
对python指数、幂数拟合curve_fit详解
2018/12/29 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
Python中的延迟绑定原理详解
2019/10/11 Python
使用Tkinter制作信息提示框
2020/02/18 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
BeautifulSoup获取指定class样式的div的实现
2020/12/07 Python
Python排序函数的使用方法详解
2020/12/11 Python
python中编写函数并调用的知识点总结
2021/01/13 Python
python实现控制台输出颜色
2021/03/02 Python
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
JAVA和C++的区别
2013/10/06 面试题
传统软件工程与面向对象的软件工程有什么区别
2012/05/31 面试题
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
煤矿安全生产责任书
2014/04/15 职场文书
教师党员岗位承诺书
2014/05/29 职场文书
个人专业技术总结
2015/03/05 职场文书
放假通知范文
2015/04/14 职场文书
医院消毒隔离制度
2015/08/05 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP