PHP 生成 Word 工具 MDword 1.1.0 正式发布,解决内存泄漏和优化生成速度

栏目: 软件资讯 · 发布时间: 4年前

内容简介:MDword 是PHP生成word的另一工具。 更新日志 优化大母版生成速度 解决内存泄漏问题 性能情况(统计脚本) 测试项 用时(S) 1页母版赋值100次 0.04 1页母版赋值500次 0.16 1页母版赋值1000次 0.33 1页母版赋值10000...

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

更新日志

  • 优化大母版生成速度
  • 解决内存泄漏问题

性能情况(统计脚本

测试项 用时(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  

项目介绍

主要用途:动态生成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”添加批注

PHP 生成 Word 工具 MDword 1.1.0 正式发布,解决内存泄漏和优化生成速度

//新建类 加载 母版
$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);
  • 结果

PHP 生成 Word 工具 MDword 1.1.0 正式发布,解决内存泄漏和优化生成速度

  • 动图

PHP 生成 Word 工具 MDword 1.1.0 正式发布,解决内存泄漏和优化生成速度

性能情况(统计脚本

测试项 用时(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  

更多案例


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

引爆社群:移动互联网时代的新4C法则(第2版)

引爆社群:移动互联网时代的新4C法则(第2版)

唐兴通 / 机械工业出版社 / 69.00元

社群已经被公认为是这个时代的商业新形态,原有的商业逻辑和方法被颠覆,新的基于社群的商业体系和规则亟待构建,今天几乎所有的企业都在为此而努力,都在摸索中前行。 本书提出的“新4C法则”为社群时代的商业践行提供了一套科学的、有效的、闭环的方法论,第1版上市后获得了大量企业和读者的追捧,“新4C法则”在各行各业被大量解读和应用,积累了越来越多的成功案例,被公认为是社群时代通用的方法论。也因此,第1......一起来看看 《引爆社群:移动互联网时代的新4C法则(第2版)》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试