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 相关文章推荐
30 个很棒的PHP开源CMS内容管理系统小结
Oct 14 PHP
php中常用字符串处理代码片段整理
Nov 07 PHP
基于simple_html_dom的使用小结
Jul 01 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
Aug 14 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
THINKPHP支持YAML配置文件的设置方法
Mar 17 PHP
php找出指定范围内回文数且平方根也是回文数的方法
Mar 23 PHP
php版交通银行网银支付接口开发入门教程
Sep 26 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
Laravel 模型关联基础教程详解
Sep 17 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
Dec 12 PHP
Laravel框架集合用法实例浅析
May 14 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
PHPCMS的使用小结
2010/09/20 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
javascript void(0)的妙用
2009/10/21 Javascript
关于Mozilla浏览器不支持innerText的解决办法
2011/01/01 Javascript
把jQuery的类、插件封装成seajs的模块的方法
2014/03/12 Javascript
Bootstrap的图片轮播示例代码
2015/08/31 Javascript
AngularJS ng-repeat数组有重复值的解决方法
2016/10/23 Javascript
Vue-Access-Control 前端用户权限控制解决方案
2017/12/01 Javascript
vue全局自定义指令-元素拖拽的实现代码
2019/04/14 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
layui自定义工具栏的方法
2019/09/19 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
2020/04/26 Javascript
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
Python3 循环语句(for、while、break、range等)
2017/11/20 Python
对python 生成拼接xml报文的示例详解
2018/12/28 Python
Python进阶之全面解读高级特性之切片
2019/02/19 Python
python+mysql实现教务管理系统
2019/02/20 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
Python操作qml对象过程详解
2019/09/26 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
python绘图模块之利用turtle画图
2021/02/12 Python
印度尼西亚综合购物网站:Lazada印尼
2016/09/07 全球购物
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
AJAX都有哪些有点和缺点
2012/11/03 面试题
优秀学生自我鉴定范例
2013/12/18 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
美术第二课堂活动总结
2014/07/08 职场文书
学生会生活部工作总结2015
2015/03/31 职场文书
刑事撤诉申请书
2015/05/18 职场文书
Python进行区间取值案例讲解
2021/08/02 Python
Mysql忘记密码解决方法
2022/02/12 MySQL
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python