MDword 1.0.1 正式发布,兼容 PHP 5.6 及部分 BUG 修改

来源: 投稿
作者: colin_86
2021-03-29

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

更新日志

  • 兼容PHP 5.6
  • 部分BUG修复

项目介绍

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

与PHPWord的爱恨情仇

  • 共同点

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

  1. PHPWord 需要一个元素一个元素的写入,而MDword则是在母版的基础上修改,编码效率更高
  2. 修改文字式样,增加封面,修改页眉页脚MDword只需用word编辑软件调整母版,而PHPWord需要繁琐的去调整每个元素

教程

  • 安装

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

image

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

image

  • 动图

image

更多案例

展开阅读全文
8 收藏
分享
加载中
最新评论 (2)
功能与XDOC类似,有兴趣可以看看:http://www.xdocin.com/
2021-03-30 09:01
0
回复
举报
嗯,可以用MDword来快速做出做这个类似的功能
2021-03-30 09:21
0
回复
举报
更多评论
2 评论
8 收藏
分享
返回顶部
顶部