• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > PHP替换Word中变量并导出PDF图片的实现方法

PHP替换Word中变量并导出PDF图片的实现方法

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了PHP替换,Word导出PDF图片等相关知识,希望对您有所帮助

这篇文章主要给大家介绍了关于PHP替换Word中变量并导出PDF图片的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在线生成合同信息,一个 word 文件里面有些信息需要通过数据库读取计算出并填写到 word 文档中最终显示在线 pdf 预览功能,接下来我交大家如果实现该需求

1、接下来实现如何替换文档内容


6003c0b9d683e.png


我们新建一个 aa.docx 的文档,里面放了一个变量信息

2、接下来使用 php 来替换这个变量信息 代码如下

 ... use PhpOffice\PhpWord\TemplateProcessor; ...  $path = storage_path('aa.docx'); // 生成world 存放目录 $filePath = storage_path('contract.docx'); // 声明模板象并读取模板内容 $templateProcessor = new TemplateProcessor($path); // 替换模板内容 $templateProcessor->setValue('contract', '北京乙方'); // 乙方  // 生成新的 world $templateProcessor->saveAs($filePath);

这样我们就完成了 word 里面模板变量的替换是不是比较简单呢

3、接下来我们需要处理 word 文档转为 pdf 我也在网上了查了比较多的资料,什么先转为 html 然后通过 其它包的方式或者扩展来转 pdf 确实都能实现,但是有一点 word 转为 html 的时候格式会丢失这就和我们的需求有点偏离,后面转换了方向,使用工具来把 word 转为 pdf 这里我推荐的工具为 unoconv 安装方式如下

apt-get install unoconv#如果报错请求服务器语言设置为 LANG=”en_US.UTF-8″ #使用命令把 word 转为 pdfunoconv -f pdf aa.docx#这个时候在当前目录下就会有一个 aa.pdf 的文件出来#但是会发现如果是中文的情况下转出来的 pdf 是乱码该如何解决

4、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 # 看是不是中文乱码的问题解决了

5、使用 php 的执行 shell 的函数来调用该函数自动生成即可

shell_exec('/usr/binunoconv -f pdf aa.docx')

注:如 php 执行 shell 脚本命令不生效时,此处的问题是用户权限不正确导致不能执行该命令 解决方案如下:

# 编辑 vim /etc/sudoers文件root ALL=(ALL:ALL) ALLwww-data ALL=(ALL) ALL%www-data ALL=(ALL) NOPASSWD:ALL zhouyao ALL=(ALL) ALLzhouyao ALL=(ALL) NOPASSWD:ALL# 增加用户zhouyao 忽略执行命令需要密码# 增加用户组和用户zhouyaouseradd zhouyao -m # -m 创建家目录# 更改php-fpm的用户和用户组cd /etc/php/7.1/fpm/pool.dvim www.confuser = zhouyaogroup = zhouyao# 退出保存重启php-fpm和nginx,此时在浏览器在执行该文件可以看到pdf下载下来了# 如pdf中下载的中文是乱码,请自行安装一个中文字体到服务器字体目录即可

总结

到此这篇关于PHP替换Word中变量并导出PDF图片的实现方法的文章就介绍到这了,更多相关PHP替换Word变量并导出PDF图片内容请搜索站长图库以前的文章或继续浏览!



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • PHP替换Word中变量并导出PDF图片的实现方法
  • php如何替换img中src内容
  • PHP怎么替换图片链接

相关文章

  • 2022-04-29WordPress密码重设提示“您的密码重设链接无效,请在下方请求新链接”
  • 2022-04-29关键词meta标签Keywords优化详解
  • 2022-04-29Photoshop绘制蓝色风格的游戏手柄
  • 2022-04-29PhotoShop打造超具想象力的3D生态系统海报制作过程
  • 2022-04-29Vue 手势组件教程
  • 2022-04-29Photoshop制作简洁时尚的形象主页
  • 2022-04-29Photoshop制作玻璃图标按钮
  • 2022-04-29Python查询工信部网站备案信息
  • 2022-04-29PS将肖像照片处理为个性海报
  • 2022-04-29Node项目中用images+imageinfo库给图片批量添加水印

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Photoshop绘制立体质感的网页开关按钮
    • 针对SEO怎样聪明的使用 Flash
    • WordPress图片显示模糊的问题
    • Photoshop结合AI绘制质感超强的标签
    • 浅谈Bootstrap Tab标签页切换图表显示问题的解决方法
    • 总结分享Go中常用的strings函数
    • 详解Laravel使用多数据库的方法(附代码示例)
    • Photoshop制作破碎玻璃字体效果教程
    • PS绘制质感导航按钮
    • 介绍centos7 bond的配置和调试

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有