PHP 生成 Word 工具 MDword 1.1.5 正式发布,部分新功能&已知 bug 修复


MDword 是 PHP 生成 word 的另一工具。

新特性 / Bug 修复:

  • 根据md5值替换图片维持比例不变。
  • MDWORD_LINK支持style参数。
  • 获取media列表。(母版word中的图片或者文件)

项目介绍

主要用途:动态生成 word
优势:生成 word 只需关注动态数据及逻辑,无需关注式样的调整(式样可以借助 office word 调整母版即可)

与 PHPWord 的爱恨情仇

  • 共同点

  1. PHP 编写的库(资源包)
  2. 用于生成 office word
  • 不同点

  1. PHPWord 专注于一个元素一个元素的写入,而 MDword 则是专注于在母版的基础上修改,功能更强大,编码效率更高
  2. 修改文字式样,增加封面,修改页眉页脚 MDword 只需用 word 编辑软件调整母版,而 PHPWord 需要繁琐的去调整每个元素
  3. 可以自动生成目录

教程

  • 安装

//方法一
composer require mkdreams/mdword
//方法二,手动引入自动加载类
require_once('Autoloader.php');
  • 给母版 “temple.docx” 添加批注

image

  • 调用方法(更多更丰富的调用方式,参考案例:tests\samples\simple for readme,例如:目录、序号等)

//新建类 加载 母版
$TemplateProcessor = new WordProcessor();
$template = 'temple.docx';
$TemplateProcessor->load($template);

//赋值
$TemplateProcessor->setValue('value', 'r-value');

//克隆并复制
$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->saveAs($rtemplate);
  • 结果

image

  • 动图

image

性能情况(统计脚本)

测试项 用时 (S)
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 首次需要加载 PHP 类
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 写入到区块
  • 目录嵌入到表格
  • 合并表格单元格

相關推薦

2022-10-05

MDword 是 PHP 生成 word 的另一工具。 更新日志 合并表格单元格 已知 bug 修复 项目介绍 主要用途:动态生成 word 优势:生成 word 只需关注动态数据及逻辑,无需关注式样的调整(式样可以借助 office word 调整母版即可) 与

2023-08-02

Java通用代码生成器光电音之王尝鲜版四公布,光速生成SpringBoot与经典Spring应用程序 Java通用代码生成器光2.4.0 电音之王尝鲜版四发布,在尝鲜版三基础上有众多缺陷修正,虽然不是稳定版本,但已修复所有已知缺陷。 光是开

2023-12-06

cx)、Markdown文档(md) 版本介绍 UEditorPlus v3.7.0 已经发布。 新增:支持文档一键导入,支持Word文档(docx)、Markdown文档(md)文档的导入 新增:gitee issue 提交模板配置文件 修复:多样式文件 iframeCssUrlsAddition 引入

2023-06-07

布 Yao 具备低代码构建能力, 但并非低代码平台或代码生成器。低代码构建能力仅为 Yao 的众多特性的一小部分。 Yao 内建 v8 引擎,具备完整的逻辑表达和常规编程扩展能力,可以在 AI 编程、低代码编程和专业编程中无缝切换

2023-06-15

用户则不太可能遇到这个问题。 目前微软已经通过最新发布的 KB5027231 Windows 11 累积更新解决了这个 bug,该修补已通过已知问题回滚 (KIR) 同时修复了 Windows 10 的相同 BUG。

2023-04-28

基于Vue3开发的Word加载项,它允许你基于文档中写的内容生成文本。你可以使用它来翻译、总结、润色或者从零开始写一篇文章。 开源地址和软件官网 Github Kuingsmile/word-GPT-Plus 本次更新内容 优化了回复语言设置 修复

2023-08-08

版下载 https://gitee.com/jerryshensjf/LightSBMEU/attach_files 截图 新功能截图: 前端复杂版面:树表 图形报表: 柱状图: 折线图: 、 PPT数据导出功能   登录   错误   登录后   新功能Excel模板页签   新

2022-09-03

图片转存,方便快捷。 版本介绍 UEditorPlus v2.4.0 已经发布,这个版本主要解决了Word富文本粘贴后图片上传问题,对原有的粘贴逻辑进行了重构,方便实用。 新增:Word粘贴内容图片转存wordimage功能重构 新增:引入第三

2023-05-07

基于Vue3开发的Word加载项,它允许你基于文档中写的内容生成文本。你可以使用它来翻译、总结、润色或者从零开始写一篇文章。 开源地址和软件官网 Github Kuingsmile/word-GPT-Plus 本次更新内容 修复了官方接口切换模型导

2023-06-14

: New features DOCX Output:添加对 SVG 图像的支持 现在生成的 DOCX 将同时包含 SVG 图像的光栅化版本和原始 SVG 图像作为首选源,现代版本的 Word 都支持这一点。 E-book viewer:允许配置触摸手势触发的操作 DOCX Input:添加对 SVG

2023-08-04

即可进入Beta阶段。 尝鲜版6的Excel模板向导界面全面支持新功能。等前端界面完全支持新功能后即可进入Beta阶段。 光2.3.0文明尝鲜版5添加了PPT数据导出功能。 文明版本新增ShiroAuth弹性登录模块,使用Apache Shiro权限框架。新增

2022-09-15

理的核心流程。 禅道官网:https://www.zentao.net 禅道17.6.1发布了!本次更新优化了多人任务的流程,并同步优化禅道中填写任务工时的页面设计。多人串行任务根据任务中设置的团队成员的顺序依次进行指派完成,多人并行任务

2023-12-21

档构建,提高文档构建效率。 支持JMeter性能测试脚本生成,大幅降低性能测试脚本的开发成本。 支持将接口文档生成到word文件中,方便用户查阅和分享。 支持多路由场景下的openapi生成,满足不同场景的需求。

2023-04-18

,本次 Restful Fast Request 更新主要内容如下: 新功能、优化项、修复项 重量级更新:团队协作支 OpenAI API接口优化字段支持 API与存储文件跳转 项目配置刷新 rfr.currentModuleName支持 工具栏优化 LocalDateTime、Lo