27 Star 261 Fork 35

colin_86 / MDword

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 3.78 KB
一键复制 编辑 原始数据 按行查看 历史
colin_86 提交于 2022-09-30 17:26 . readme update

MDword

中文文档

Project General Name

Template: a word which will be revised.
Block: the part which will be replaced or cloned.

Project Introduction

Main Use: to generate word dynamically.
Advantage: focus only on dynamic data and logic, rather than adjusting the style, which can modulate the template with the help of office word.

Comparison between MDword & PHPword

  • Similarities

  1. PHP Package.
  2. Both can be used to generate office word.
  • Differences

  1. PHPword concentrates on writing elements one by one. However, it is more powerful and efficient for Mdword just to revise them on the template.
  2. For updating text styles, adding covers, headers and footers, MDword just modifies the template by office word, while PHPword complicate the task-adjusting every element.
  3. Directories(Table of content) can be automatically generated.

Tutotials

  • Installation

// Method 1
composer require mkdreams/mdword
// Method 2, Autoloading Template
require_once('Autoloader.php');
  • Add annotations or use “${value/}” to the template. Please note that there is a “/” at the end.

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);
  • Result

image

  • GIFs

image

More samples

Communication

Note: Exchange idea on MDword.

image

Project Plans

PHP
1
https://gitee.com/colin_86/MDword.git
git@gitee.com:colin_86/MDword.git
colin_86
MDword
MDword
main

搜索帮助