商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 硬件相关 > PHP 生成 Word 工具 MDword 1.1.9 正式发布,已知 bug 修复

PHP 生成 Word 工具 MDword 1.1.9 正式发布,已知 bug 修复

  发布于2026-08-23 阅读(0)

扫一扫,手机访问

部分新增特性 & 已修复问题

  • 图片宽度现在支持用百分比来设定了
  • 对于一些小语种的文字,系统已经能自动匹配兼容字体

项目概述

核心用途很明确:动态生成 Word 文档。
它的核心优势在于,开发者只需要关注动态数据和业务逻辑,文档样式?交给 Word 母版去统一配置就行了,完全不用手动调整。

MDword 与 PHPWord 的对比分析

相同之处

  1. 两者都是基于 PHP 开发的开源库(Composer 包)
  2. 都能用来生成标准的 Office Word 文档(.docx 格式)

差异点

  1. PHPWord 是逐元素写入方式;而 MDword 基于母版文档做内容替换和结构扩展,功能更全面,开发效率也更高
  2. 像文字格式调整、封面插入、页眉页脚修改这些操作,MDword 只需要在 Word 里编辑一次母版就能复用;PHPWord 则需要为每个元素单独编码设置,流程相当繁琐
  3. 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

内存占用测试(连续运行统计)

连续运行次数累计内存占用说明
10.050590515136719 M首次运行需加载全部类文件
20.050949096679688 M
30.050949096679688 M
40.050949096679688 M
50.050949096679688 M
60.050949096679688 M
70.050949096679688 M
80.050949096679688 M

更多实用案例

  • 基础综合应用示例
  • 带富文本样式的段落处理
  • 图片嵌入与尺寸控制
  • 区块批量克隆与差异化填充
  • 多种区块标记方式(有效规避批注无法识别问题)
  • 兼容 PHPWord 的区块内容写入方案
  • 目录(TOC)嵌入表格单元格
  • 表格合并单元格操作
本文转载于:https://www.php.cn/faq/2017566.html?uid=1246273 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

产品推荐

热门关注