Skip to content

MrDreek/DocxMerge

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fork DocxMerge library

orginal https://github.com/krustnic/DocxMerge

DocxMerge

Simple library for merging multiple MS Word ".docx" files into one

Features

  • Create valid docx for MS Office 2007 and above

Details

  • For working with docx's ZIP I'm using TbsZip

Install

composer require mrdreek/docx-merge

Merge Example

    require "vendor/autoload.php";
    use DocxMerge\DocxMerge;
    
	$dm = new DocxMerge();
	$dm->merge(["templates/TplPage1.docx", "templates/TplPage2.docx"],
        "/tmp/result.docx"
    );

Merge Example with page breaks

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

setValues Example

	// 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"]
                ]
            ]
        ]
    );

About

Simple library for merging multiple MS Word ".docx" files into one

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%