游乐游手机版
首页/科技数码/文章详情

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

时间:2026-06-26 12:51
MDword1 1 9版本发布,新增图片宽度百分比设定及小语种字体自动匹配功能。该工具基于母版替换机制动态生成Word文档,相比逐元素写入的PHPWord,开发效率更高。性能测试显示,1页母版执行100次变量赋值仅需0 04秒,连续运行内存占用稳定在约0 05MB。

新增功能特性与已修复问题

  • 图片宽度现已支持使用百分比进行设置
  • 针对部分小语种文字,系统已能自动匹配兼容字体

项目概述

MDword 的核心用途十分清晰:高效动态生成 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)

性能测试数据(基准脚本统计)

测试场景耗时 (秒)
单页母版执行 100 次变量赋值0.04
单页母版执行 500 次变量赋值0.16
单页母版执行 1000 次变量赋值0.33
单页母版执行 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
上一篇款宝马i4 Coupe渲染图曝光 有望2029年前亮相 下一篇百川智能M3 Plus首创证据锚定技术
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
年国家能源局充换电服务业用电量增速48.8%
科技数码 · 2026-06-29

年国家能源局充换电服务业用电量增速48.8%

2025年全社会用电量达103682亿千瓦时,同比增长5 0%。充换电服务业用电增速高达48 8%,信息传输与软件服务业增速17 0%。第三产业和居民用电对增长贡献率合计占一半。中国成为全球首个年度用电量超10 4万亿千瓦时的国家。

追风者 GLACIER ONE 360 S25 液冷散热器新品上市 联体风扇售价429元
科技数码 · 2026-06-29

追风者 GLACIER ONE 360 S25 液冷散热器新品上市 联体风扇售价429元

追风者冰川360S25液冷散热器售价429元,三联一体风扇便捷安装,冷头小体积纯铜底座噪音18dB,风扇转速300-2000RPM、风量75CFM、静压2 96mmAq,五年质保漏液包赔。

三星Galaxy Watch8用户反馈谷歌后台组件异常
科技数码 · 2026-06-29

三星Galaxy Watch8用户反馈谷歌后台组件异常

三星GalaxyWatch8、Watch5Pro、Watch6及Watch7用户反映,GooglePlayServices后台耗电异常,电量占比最高达99 97%,远超正常水平,严重影响续航。目前故障原因不明,谷歌尚未发布官方声明。

罗永浩批苹果iOS 27创新不足 盼新CEO改进
科技数码 · 2026-06-29

罗永浩批苹果iOS 27创新不足 盼新CEO改进

罗永浩批评苹果iOS27创新不足,称仅有双iPhone同号、音量分离等数十项细节改进,认为库克时代缺乏突破性创新,股市虽好但消费者只能被迫接受挤牙膏式升级。

年国产车出口710万辆,两家车企销量破百万
科技数码 · 2026-06-29

年国产车出口710万辆,两家车企销量破百万

2025年国产汽车出口总量达710万辆,同比增长21%。奇瑞以134万辆居首,比亚迪105万辆次之,上汽乘用车出口占比60%最高,长城出口51万辆。吉利、长安等主流品牌同步增长,小鹏、零跑等新兴品牌海外拓展加速。