内容简介: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的爱恨情仇
-
共同点
- PHP编写的库(资源包)
- 用于生成office word
-
不同点
- PHPWord 专注于一个元素一个元素的写入,而MDword则是专注于在母版的基础上修改,功能更强大,编码效率更高
- 修改文字式样,增加封面,修改页眉页脚MDword只需用word编辑软件调整母版,而PHPWord需要繁琐的去调整每个元素
- 可以自动生成目录
教程
-
安装
//方法一 composer require mkdreams/mdword //方法二,手动引入自动加载类 require_once('Autoloader.php');
-
给母版“temple.docx”添加批注
-
调用方法(更多更丰富的调用方式,参考案例: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);
-
结果
-
动图
性能情况(统计脚本)
测试项 | 用时(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 |
更多案例
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Agile Web Development with Rails, Third Edition
Sam Ruby、Dave Thomas、David Heinemeier Hansson / Pragmatic Bookshelf / 2009-03-17 / USD 43.95
Rails just keeps on changing. Rails 2, released in 2008, brings hundreds of improvements, including new support for RESTful applications, new generator options, and so on. And, as importantly, we’ve a......一起来看看 《Agile Web Development with Rails, Third Edition》 这本书的介绍吧!