MDwordPHP生成word的工具
MDword首发,PHP生成word的另一高效工具。生成word用过MDword后,就也离不开它了。
项目通用名称
母版:在某个word基础上修改的,这个word命名为“母版”
区块:也就是要被替换或者克隆的部分呢
项目介绍
主要用途:动态生成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]]);
$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);
-
结果
-
动图
更多案例
评论