orginal https://github.com/krustnic/DocxMerge
Simple library for merging multiple MS Word ".docx" files into one
- Create valid docx for MS Office 2007 and above
- For working with docx's ZIP I'm using TbsZip
composer require mrdreek/docx-merge
require "vendor/autoload.php";
use DocxMerge\DocxMerge;
$dm = new DocxMerge();
$dm->merge(["templates/TplPage1.docx", "templates/TplPage2.docx"],
"/tmp/result.docx"
);
each new file will be from a new page
require "vendor/autoload.php";
use DocxMerge\DocxMerge;
$dm = new DocxMerge();
$dm->merge(["templates/TplPage1.docx", "templates/TplPage2.docx"],
"/tmp/result.docx",
true
);
// Use "${NAME}" in docx file to create placeholders
require "vendor/autoload.php";
use DocxMerge\DocxMerge;
$dm = new DocxMerge();
$dm->setValues("templates/template.docx",
"templates/result.docx",
array("NAME" => "Sterling", "SURNAME" => "Archer"));
// Or with styles ("bold", "italic", "underline"):
$dm->setValues("templates/template.docx",
"templates/result.docx",
[
"NAME" => [
[
"value" => "Sterling",
"decoration" => ["bold", "italic"]
],
[
"value" => "Archer",
"decoration" => ["bold", "underline"]
]
]
]
);