mrdreek/docx-merge

将多个 MS Word ".docx" 文件合并成一个的简单库的分支

v1.2.0 2021-04-23 15:01 UTC

This package is auto-updated.

Last update: 2024-09-23 22:11:05 UTC


README

原始 https://github.com/krustnic/DocxMerge

DocxMerge

将多个 MS Word ".docx" 文件合并成一个的简单库

特性

  • 创建适用于 MS Office 2007 及以上版本的有效 docx 文件

详细信息

  • 处理 docx 的 ZIP 文件时,我使用了 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"
    );

带有分页符的合并示例

每个新文件将从新的一页开始

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

setValues 示例

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