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即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zax_96/article/details/115485466
今日推荐