mkdreams/mdword

OFFICE WORD 动态数据 绑定数据 生成报告;OFFICE WORD 动态数据绑定数据生成报告。

1.1.7 2024-04-02 09:10 UTC

This package is auto-updated.

Last update: 2024-09-21 09:12:33 UTC


README

中文文档

项目通用名称

模板:将被修改的单词。
块:将被替换或克隆的部分。

项目介绍

主要用途:动态生成Word文档。
优势:专注于动态数据和逻辑,而不是调整样式,可以利用Office Word调整模板。

MDword 与 PHPword 的比较

  • 相似之处

  1. PHP包。
  2. 两者都可以用来生成Office Word文档。
  • 不同之处

  1. PHPword 专注于逐个写入元素。然而,对于MDword来说,只需在模板上修改它们就更加强大和高效。
  2. 对于更新文本样式、添加封面、页眉和页脚,MDword只需通过Office Word修改模板,而PHPword需要调整每个元素,任务变得复杂。
  3. 目录(内容表)可以自动生成。

教程

  • 安装

// Method 1
composer require mkdreams/mdword
// Method 2, Autoloading Template
require_once('Autoloader.php');
  • 在模板中添加注释或使用“${value/}”。请注意,结尾有一个“/”。

image

// 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);
  • 结果

image

  • GIFs

image

更多示例

交流

注意:在MDword上交换想法。

image

项目计划