tp5 使用phpword 替换word模板
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了tp5 使用phpword 替换word模板,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2818字,纯文字阅读大概需要5分钟。
内容图文
![tp5 使用phpword 替换word模板](/upload/InfoBanner/zyjiaocheng/689/fb3fbabb8c5543cfa279a09f64df7aa2.jpg)
一、首先composer安装PHPword,就不多说了
二、然后是把模板中要替换的部分用变量代替
三、把原始的模板文件放入项目目录,tp框就放在了public/upload/目录下
四、
查看php.ini中是否已经开启了com.allow_dcom = true 从php/ext/里面查找一下有没有这个php_com_dotnet.dll这个文件 如果没有网上下载个,一般都会有的吧应该大概可能。。 然后查找这个php.ini里面查找下#extension=php_com_dotnet.dll把前面的#号去掉 如果找不到就复制,手动添加一下 然后输出下phpinfo() 看看有没有com_dotnet COM support enabled DCOM support enabled .Net support enabled 表示COM组件开启成功
五、
然后新建一个php文件在里面写上: $com = new COM('word.application'); (#注意word.application 是电脑中必须有word文档才可以的) echo $com; 如果没错的话应该会显示 Microsoft Word 说明COM扩展已经安装完成了!
四、代码
1 public function word2pdf() 2 { 3 4 5 $server=$_SERVER['DOCUMENT_ROOT']; 6 // $filenamedoc =$server.'/upload/basedoc/one.docx'; 7 $filenamedoc =$server.'/'.$templet['url'];//模板路径 8 $filenamepdf = $server.'/upload/basedoc/one'.$templet['id'].'_new.docx';//替换变量,新的word路径 9 $fiel='/upload/basedoc/one'.$templet['id'].'_new'.time().'.pdf';//word转换pdf路径 10 $pdf = $server.$fiel; 11 $tmp=new \PhpOffice\PhpWord\TemplateProcessor($filenamedoc);//打开模板 12 $tmp->setValue('name',$sq); 13 $tmp->setValue('hcwz',$hcwz); 14 15 $tmp->setValue('ayear',$apply_date_y); 16 $tmp->setValue('amonth',$apply_date_m); 17 $tmp->setValue('aday',$apply_date_d); 18 19 $tmp->setValue('year',date("Y",time())); 20 $tmp->setValue('month',date("m",time())); 21 $tmp->setValue('day',date("d",time())); 22 $tmp->setValue('mishu',$mishu);//${year}年${month}月${day} 23 $tmp->saveAs($filenamepdf);//另存为 24 $url=word2pdf($filenamepdf,$pdf); 25 return config("PdfUrl").$fiel; 26 27 }
function word2pdf($srcfilename,$destfilename) { try { if(!file_exists($srcfilename)){ unlink($srcfilename); } $word = new \COM("word.application") or die("Can't start Word!"); $word->Visible=0; $word->Documents->Open($srcfilename, false, false, false, "1", "1", true); $word->ActiveDocument->final = false; $word->ActiveDocument->Saved = true; $word->ActiveDocument->ExportAsFixedFormat( $destfilename, 17, // wdExportFormatPDF false, // open file after export 0, // wdExportOptimizeForPrint 3, // wdExportFromTo 1, // begin page 5000, // end page 7, // wdExportDocumentWithMarkup true, // IncludeDocProps true, // KeepIRM 1 // WdExportCreateBookmarks ); $word->ActiveDocument->Close(); $word->Quit(); } catch (\Exception $e) { if (method_exists($word, "Quit")){ $word->Quit(); } return; } }
内容总结
以上是互联网集市为您收集整理的tp5 使用phpword 替换word模板全部内容,希望文章能够帮你解决tp5 使用phpword 替换word模板所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。