PHP 生成 Word 工具 MDword 1.1.9 正式发布,已知 bug 修复
MDword1.1.9版本发布,新增图片宽度百分比设定及小语种字体自动匹配功能。该工具基于母版替换机制动态生成Word文档,相比逐元素写入的PHPWord,开发效率更高。性能测试显示,1页母版执行100次变量赋值仅需0.04秒,连续运行内存占用稳定在约0.05MB。
部分新增特性 & 已修复问题
- 图片宽度现在支持用百分比来设定了
- 对于一些小语种的文字,系统已经能自动匹配兼容字体
项目概述
核心用途很明确:动态生成 Word 文档。
它的核心优势在于,开发者只需要关注动态数据和业务逻辑,文档样式?交给 Word 母版去统一配置就行了,完全不用手动调整。
MDword 与 PHPWord 的对比分析
相同之处
- 两者都是基于 PHP 开发的开源库(Composer 包)
- 都能用来生成标准的 Office Word 文档(.docx 格式)
差异点
- PHPWord 是逐元素写入方式;而 MDword 基于母版文档做内容替换和结构扩展,功能更全面,开发效率也更高
- 像文字格式调整、封面插入、页眉页脚修改这些操作,MDword 只需要在 Word 里编辑一次母版就能复用;PHPWord 则需要为每个元素单独编码设置,流程相当繁琐
- MDword 支持自动生成文档目录(TOC),开箱即用
使用指南
安装方式
// 方式一:通过 Composer 安装composer require mkdreams/mdword// 方式二:手动引入自动加载类require_once('Autoloader.php');
在母版文件 “temple.docx” 中添加批注示例

基础调用示例(更多高级用法请参考测试案例,比如目录生成、序号自动编号等)
// 实例化处理器并加载母版
$TemplateProcessor = new WordProcessor();
$template = 'temple.docx';
$TemplateProcessor->load($template);
// 设置普通变量值
$TemplateProcessor->setValue('value', 'r-value');
// 克隆指定区块(如“people”)3 次
$TemplateProcessor->clones('people', 3);
// 分别为克隆后的子项赋值
$TemplateProcessor->setValue('name#0', 'colin0');
$TemplateProcessor->setValue('name#1', [
['text'=>'colin1','style'=>'style','type'=>MDWORD_TEXT],
['text'=>1,'type'=>MDWORD_BREAK],
['text'=>'86','style'=>'style','type'=>MDWORD_TEXT]
]);
$TemplateProcessor->setValue('name#2', 'colin2');
$TemplateProcessor->setValue('sex#1', 'woman');
$TemplateProcessor->setValue('age#0', '280');
$TemplateProcessor->setValue('age#1', '281');
$TemplateProcessor->setValue('age#2', '282');
// 插入图片
$TemplateProcessor->setImageValue('image', dirname(__FILE__).'/logo.jpg');
// 删除含特定样式的段落
$TemplateProcessor->deleteP('style');
// 保存结果文档
$rtemplate = __DIR__.'/r-temple.docx';
$TemplateProcessor->sa veAs($rtemplate);
输出效果预览

动态操作演示(GIF)

性能测试数据(基准脚本统计)
| 测试场景 | 耗时 (秒) |
|---|---|
| 1 页母版执行 100 次变量赋值 | 0.04 |
| 1 页母版执行 500 次变量赋值 | 0.16 |
| 1 页母版执行 1000 次变量赋值 | 0.33 |
| 1 页母版执行 10000 次变量赋值 | 7.80 |
| 1750 页母版执行 100 次变量赋值 | 4.61 |
| 1750 页母版执行 500 次变量赋值 | 4.94 |
| 1750 页母版执行 1000 次变量赋值 | 5.43 |
| 1750 页母版执行 10000 次变量赋值 | 17.39 |
内存占用测试(连续运行统计)
| 连续运行次数 | 累计内存占用 | 说明 |
|---|---|---|
| 1 | 0.050590515136719 M | 首次运行需加载全部类文件 |
| 2 | 0.050949096679688 M | |
| 3 | 0.050949096679688 M | |
| 4 | 0.050949096679688 M | |
| 5 | 0.050949096679688 M | |
| 6 | 0.050949096679688 M | |
| 7 | 0.050949096679688 M | |
| 8 | 0.050949096679688 M |
更多实用案例
- 基础综合应用示例
- 带富文本样式的段落处理
- 图片嵌入与尺寸控制
- 区块批量克隆与差异化填充
- 多种区块标记方式(有效规避批注无法识别问题)
- 兼容 PHPWord 的区块内容写入方案
- 目录(TOC)嵌入表格单元格
- 表格合并单元格操作
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Ableton Live 是面向音乐制作人与现场表演者的数字音频工作站,提供编曲视图、独具特色的现场视图、音频录制、MIDI创作、实时变速、乐器及效果器。Mac版原生支持Apple芯片,并可连接音频接口、MIDI控制器和第三方插件。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。














