mkdreams / mdword
OFFICE WORD 动态数据 绑定数据 生成报告;OFFICE WORD 动态数据绑定数据生成报告。
1.1.7
2024-04-02 09:10 UTC
Requires
- php: >=5.6.0
README
中文文档
项目通用名称
模板:将被修改的单词。
块:将被替换或克隆的部分。
项目介绍
主要用途:动态生成Word文档。
优势:专注于动态数据和逻辑,而不是调整样式,可以利用Office Word调整模板。
MDword 与 PHPword 的比较
- PHP包。
- 两者都可以用来生成Office Word文档。
- PHPword 专注于逐个写入元素。然而,对于MDword来说,只需在模板上修改它们就更加强大和高效。
- 对于更新文本样式、添加封面、页眉和页脚,MDword只需通过Office Word修改模板,而PHPword需要调整每个元素,任务变得复杂。
- 目录(内容表)可以自动生成。
教程
// Method 1
composer require mkdreams/mdword
// Method 2, Autoloading Template
require_once('Autoloader.php');
-
调用方法(更多和更丰富的方法,例如:tests\samples\simple for readme,如目录、序号等)
// New class,load template
$TemplateProcessor = new WordProcessor();
$template = 'temple.docx';
$TemplateProcessor->load($template);
// Set Value
$TemplateProcessor->setValue('value', 'r-value');
// Clone
$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');
// set value for image
$TemplateProcessor->setImageValue('image', dirname(__FILE__).'/logo.jpg');
// Delete a paragraph
$TemplateProcessor->deleteP('style');
// Save
$rtemplate = __DIR__.'/r-temple.docx';
$TemplateProcessor->saveAs($rtemplate);