PHP替换Word中变量并导出PDF图片的实现方法
在线天生条约信息,一个 word 文件内里有些信息必要通过数据库读取计较出并填写到 word 文档中最终表现在线 pdf 预览成果,接下来我交各人假如实现该需求 2、接下来实现怎样替代文档内容 我们新建一个 aa.docx 的文档,内里放了一个变量信息 3、接下来行使 php 来替代这个变量信息 代码如下 ... use PhpOfficePhpWordTemplateProcessor; ... $path = storage_path('aa.docx'); // 天生world 存放目次 $filePath = storage_path('contract.docx'); // 声明模板象并读取模板内容 $templateProcessor = new TemplateProcessor($path); // 替代模板内容 $templateProcessor->setValue('contract', '北京乙方'); // 乙方 // 天生新的 world $templateProcessor->saveAs($filePath); 这样我们就完成了 word 内里模板变量的替代是不是较量简朴呢 4、接下来我们必要处理赏罚 word 文档转为 pdf 我也在网上了查了较量多的资料,什么先转为 html 然后通过 其余包的方法可能扩展来转 pdf 确实都能实现,可是有一点 word 转为 html 的时辰名目会丢失这就和我们的需求有点偏离,后头转换了偏向,行使器材来把 word 转为 pdf 这里我保举的器材为 unoconv 安装方法如下 apt-get install unoconv #假如报错哀求处事器说话配置为 LANG=”en_US.UTF-8″ #行使呼吁把 word 转为 pdf unoconv -f pdf aa.docx #这个时辰在当前目次下就会有一个 aa.pdf 的文件出来 #可是会发明假如是中文的环境下转出来的 pdf 是乱码该怎样办理 5、pdf 天生出来中文乱码办理方案,安装一此中笔墨体 # 把电脑本机的宋体上传随处事器字体目次下 /usr/share/fonts 新建一个目次 win 可能其余,把中笔墨体上传到该目次下 apt-get install mkfontscale #安装这个器材 # 进入到/usr/share/fonts/win/ 执行呼吁 mkfontscale && sudo mkfontdir && sudo fc-cache -fv # 然后重启处事器让字体见效 reboot # 最后在执行 unoconv -f pdf aa.docx # 看是不是中文乱码的题目办理了 6、行使 php 的执行 shell 的函数来挪用该函数自动天生即可 shell_exec('/usr/binunoconv -f pdf aa.docx') 注:如 php 执行 shell 剧本呼吁不见效时,此处的题目是用户权限不正确导致不能执行该呼吁 办理方案如下: # 编辑 vim /etc/sudoers文件 root ALL=(ALL:ALL) ALL www-data ALL=(ALL) ALL %www-data ALL=(ALL) NOPASSWD:ALL zhouyao ALL=(ALL) ALL zhouyao ALL=(ALL) NOPASSWD:ALL # 增进用户zhouyao 忽略执行呼吁必要暗码 # 增进用户组和用户zhouyao useradd zhouyao -m # -m 建设家目次 # 变动php-fpm的用户和用户组 cd /etc/php/7.1/fpm/pool.d vim user = zhouyao group = zhouyao # 退出生涯 重启php-fpm和nginx,此时在赏识器在执行该文件可以看到pdf下载下来了 # 如pdf中下载的中文是乱码,请自行安装一此中笔墨体随处事器字体目次即可 总结 到此这篇关于PHP替代Word中变量并导出PDF图片的实现要领的文章就先容到这了,更多相干PHP替代Word变量并导出PDF图片内容请搜刮剧本之家早年的文章或继承赏识下面的相干文章但愿各人往后多多支持剧本之家! (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |