php运行Word替换模板变量安装PHP运行Word扩展composer需要phpoffice/phpwordWord模板假设我们的Word名称为iamking.docx,如PHP代码替换空白项目所示创建一个PHP文件,index.php*日期:2021/1/6*时间:17:44*/require_once"vendor/autoload.php";//引入TemplateProcessorusePhpOffice\PhpWord\TemplateProcessor;//实例化,参数传入模板文件的地址$templateProcessor=newTemplateProcessor('word/iamking.docx');//替换(设置??)变量值,我测试时要替换的字符比较长。这里,$templateProcessor->setValue('kouhao','我是测试口号!奥利不错');$templateProcessor->setValue('date','2021-10-01');//保存文件$templateProcessor->saveAs('word/iamking2.docx');Word转PDF文档通常在linux下用的最多,需要安装一个libreoffice服务。本地环境centos7yuminstalllibreoffice假设我们上一步保存的文件iamking2.docx在/root/word。执行以下命令cd/root/word/libreoffice--convert-topdf:writer_pdf_Exportiamking2.docx会在当前目录下生成一个同名的PDF文件iamking2.pdf。错误处理第二步之后,以为大功告成了,其实并没有。生成的PDF中的中文会被识别为小方块,这显然不是我们预期的结果。错误原因:Linux服务器缺少中文字体解决方法:进入Mac/System/Library/Fonts目录,找到这两个字体文件上传到Linux/usr/share/fonts/chinese目录下cd/usr/share/fonts//如果缺少中文目录,需要生成mkdir中文//上传字体文件后,修改权限chmod755-Rchinesefc-list再次执行export命令,字体就可以了。注意libreoffice是单线程的,多文件导出时一定要加锁排队,否则PHP执行脚本会出现意外错误,需要考虑。具体实现细节自己测代码https://github.com/SmallFores...
