tp5 用com组件在window下将word转PDF,并改变部分变量

注:只在本地测试可行
1、开启COM组件
在这里插入图片描述
在php.ini里面开启(没有就添加)如图所示,直接在com里面找
extension=php_com_dotnet.dll
com.allow_dcom = true

2、电脑配置权限
win+r打开dcomcnfg,这是对应64位操作系统,32不同,用comexp.msc -32,界面类似
在这里插入图片描述
在这里插入图片描述

电脑有office的找到节点 Microsoft Word 97 - 200,安装WPS的找到WPS节点
右键属性
在这里插入图片描述
根据编号依次点击添加everyone权限,最后依次点击确定即可

3、代码
使用phpinfo()可以查看com是否安装成功
安装成功后会有图示内容,com_dotnet
在这里插入图片描述
代码如下

 $srcfilename="http://....";
 $word = new \COM("word.application") or die("Unable to instantiate Word");
 //打开路径为URL的word,doc或docx都可以
 $word->Documents->Open($srcfilename);
 //读取内容
 $test= $word->ActiveDocument->content->Text;
 //统计字数
 $num = strlen($test);
 //查看版本
 $word_wersion = $word->Version;
 //是否要打开文件,0代表否,1代表是
 $word->Visible = 0;
 //解决读取过程中乱码问题--用于展示
 $content= iconv('GB2312', 'UTF-8', $test);
 //替换模板文字
  $content=str_replace("原有文字","替换成文字",$content);
  //打开空白文档
  $word->Documents->Add();
  //再次转码打印确认变量已被替换
  $test1= iconv('UTF-8', 'GB2312', $content);
	//在新文档中添加文字
  $word->Selection->TypeText($test1);
  //关闭word句柄
  $word->Quit();
  //释放对象
  $word = null;

以上位主要代码,可以直接放入方法中使用,url不能为www下的文件地址会找不到文件。运行时会弹出保存提示,根据需求保存为doc/docx/pdf即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值