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 相关文章推荐
最小化数据传输――在客户端存储数据
Oct 09 PHP
php 获取完整url地址
Dec 20 PHP
PHP乱码问题,UTF-8乱码常见问题小结
Apr 09 PHP
全新的PDO数据库操作类php版(仅适用Mysql)
Jul 22 PHP
深入密码加salt原理的分析
Jun 06 PHP
php格式化时间戳显示友好的时间实现思路及代码
Oct 23 PHP
PHP生成json和xml类型接口数据格式
May 17 PHP
php生成PDF格式文件并且加密
Jun 22 PHP
Zend Framework+smarty用法实例详解
Mar 19 PHP
php制作简单模版引擎
Apr 07 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
PHP读取Excel类文件
May 15 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
百度实时推送api接口应用示例
2014/10/21 PHP
ajax+php控制所有后台函数调用
2015/07/15 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
Jquery 表格合并的问题分享
2011/09/17 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
分享33个jQuery与CSS3实现的绚丽鼠标悬停效果
2014/12/15 Javascript
JavaScript中的console.profile()函数详细介绍
2014/12/29 Javascript
Node.js 制作实时多人游戏框架
2015/01/08 Javascript
jQuery实现的多级下拉菜单效果代码
2015/08/24 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
树莓派中python获取GY-85九轴模块信息示例
2013/12/05 Python
Python 数据结构之堆栈实例代码
2017/01/22 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
使用python爬取B站千万级数据
2018/06/08 Python
浅谈python3.x pool.map()方法的实质
2019/01/16 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
Python递归函数特点及原理解析
2020/03/04 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
2020/11/01 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
接口的多继承会带来哪些问题
2015/08/17 面试题
补充协议书范本
2014/04/23 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
工作保证书
2015/01/17 职场文书
中国梦宣传标语口号
2015/12/26 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
Django 如何实现文件上传下载
2021/04/08 Python
Python中递归以及递归遍历目录详解
2021/10/24 Python
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS