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 相关文章推荐
swfupload 多文件上传实现代码
Aug 27 PHP
PHP用GD库生成高质量的缩略图片
Mar 09 PHP
php递归调用删除数组空值元素的方法
Apr 28 PHP
php比较两个字符串长度的方法
Jul 13 PHP
PHP中addcslashes与stripcslashes函数用法分析
Jan 07 PHP
PHP截取IE浏览器并缩小原图的方法
Mar 04 PHP
Python中使用django form表单验证的方法
Jan 16 PHP
php实现微信扫码支付
Mar 26 PHP
Laravel学习教程之request validation的编写
Oct 25 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
May 11 PHP
Laravel 前端资源配置教程
Oct 18 PHP
Laravel等框架模型关联的可用性浅析
Dec 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
PHP mail()函数使用及配置方法
2014/01/14 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
Javascript引用指针使用介绍
2012/11/07 Javascript
js实现广告漂浮效果的小例子
2013/07/02 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
js的alert样式如何更改如背景颜色
2014/01/22 Javascript
JS正则表达式验证数字代码
2014/01/28 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
2014/08/22 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
jQuery实现可拖拽3D万花筒旋转特效
2017/01/03 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
Vue2.0父子组件传递函数的教程详解
2017/10/16 Javascript
微信小程序转化为uni-app项目的方法示例
2020/05/22 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
Python中二维列表如何获取子区域元素的组成
2017/01/19 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
详解Python高阶函数
2020/08/15 Python
美国值得信赖的婚恋交友网站:eHarmony
2018/10/04 全球购物
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
Kate Spade澳大利亚官方网站:美国设计师手袋品牌
2019/09/10 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
《骆驼和羊》教学反思
2014/02/27 职场文书
《登鹳雀楼》教学反思
2014/04/09 职场文书
音乐教师个人总结
2015/02/06 职场文书
经营场所证明范本
2015/06/19 职场文书
详解Django的MVT设计模式
2021/04/29 Python
mysql 8.0.24版本安装配置方法图文教程
2021/05/12 MySQL
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL