Linux 服务器实现 Word 转图片方案
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
鲁飞
扫码关注公众号
扫码阅读
手机扫码阅读
文章主旨:本文介绍了在CentOS/PHP环境中,利用phpword、LibreOffice和ImageMagick将Word文档(.docx)转换为图片(PNG)的完整技术方案,重点解决了字体缺失导致的排版问题。
关键要点:
- 转换链路为DOCX→PDF→PNG,其中PDF作为中间格式可保持排版稳定。
- 使用LibreOffice的soffice命令进行DOCX转PDF,支持单文件或批量转换。
- Linux服务器缺少Windows字体时,需从Windows复制常用字体(如宋体、黑体等)到/usr/share/fonts/chinese并刷新字体缓存。
- 使用ImageMagick的convert命令将PDF渲染为PNG,可通过-density参数控制DPI,-append实现多页拼接为长图。
- 提供完整示例命令:soffice --headless --convert-to pdf letter.docx 后接 convert -density 300 ... -append letter.png。
内容结构:
应用场景:在线预览、审批附件展示、OCR预处理、消息系统截图等,需要将Word文档转换为图片。
转换链路选择:DOCX→PDF→PNG,原因在于PDF排版稳定且渲染简单。
环境组成:CentOS/PHP + phpword(变量替换)+ LibreOffice(转PDF)+ ImageMagick(转PNG)。
LibreOffice安装与使用:
- 安装命令:sudo yum install libreoffice。
- 测试版本:soffice --version。
- 单文件转换:soffice --headless --convert-to pdf /tmp/upload_data/letter.docx --outdir /tmp/upload_data。
- 批量转换:soffice --headless --convert-to pdf /tmp/upload_data/1/*.docx --outdir /tmp/upload_data/1。
字体问题解决:
- 问题:服务器缺少Windows字体导致字体替换、排版错位、中文显示异常。
- 方法:从Windows复制字体文件(simsun.ttc, simhei.ttf, msyh.ttc, simfang.ttf, simkai.ttf)打包为fonts.zip,上传后解压至/usr/share/fonts/chinese,执行fc-cache -fv刷新缓存,使用fc-list验证。
ImageMagick安装与使用:
- 安装:yum install -y ImageMagick ImageMagick-devel。
- 检查版本:convert -version。
- 基本转换:convert -density 300 letter.pdf letter.png。
- 多页拼接:convert -density 300 letter.pdf -append letter.png(纵向拼接),-background white -alpha remove防透明背景。
完整流程示例:一条命令完成DOCX→PNG。
文章总结:本文为开发者提供了一个稳定、可操作的Word文档转图片方案,通过补齐字体和工具链解决了服务器端文档转换的常见问题。
鲁飞
鲁飞
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
鲁飞的其他文章
解决 macOS 下 PostgreSQL 服务启动失败
使用 brew 安装的 PostgreSQL 服务,不知道什么时候升级了版本...
怎么使用默认的 PHP 执行 phar 包?
最近在开发一个安装程序的时候,打包为了 phar 包,遇到了一个问题就是打包后的 phar 包不能省略 php 去运行。
Docsify v5.0.0-rc.3:支持 GitHub 风格的提示框
无论是 GitHub 风格的提示框、跨文档片段提取,还是更稳定的 Slug 规则,都让文档编写更加直观、可靠。
MacOS 等机器配置 Docker 启用 Remote API
Docker 不仅可以通过本地命令行docker命令进行调用,还可以通过开启远程控制 API,使用 HTTP
PHPMQTT v1.4.1 版本发布,新增协议调试工具
PHPMQTT v1.4.1 版本发布,在此版本中主要是新增了一个协议调试工具。
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线