php使用word模板生成word文档

作者: 分类: php 发布时间: 2021-04-27 21:56 浏览人数:3
 

最近要做一个这样的功能,把word文档协议,上传到服务器之后,用户就可以在线签署协议了。


使用PhpOffice/PHPWord实现。


第一步:使用composer安装PHPWord到你的项目:

 composer require phpoffice/phpword


第二步:给doc模板(template/word_1.docx文件)添加变量(简单点说,就是在word文档添加内容),写法示例:

(在线签字)
${sign}

签署日期: ${year}${month}${day}


第三步:在php代码中加载word模板:

$templateProcessor = new TemplateProcessor('template/word_1.docx');


第四步:给模板中的变量赋值:

// 这里支持单值赋值
$templateProcessor->setValue('year', date('Y'));
$templateProcessor->setValue('month', date('m'));
$templateProcessor->setValue('day', date('d'));

// 也支持通过数组来赋值
$templateProcessor->setValues(array(
    'year' => date('Y'),
    'month' => date('m'),
    'day' => date('d'),
));

// 还可以用来加载图片
$templateProcessor->setImageValue('sign', 'template/sign.jpg');


第五步:生成word文档并保存

$templateProcessor->saveAs('template/' . date('Y-m-d-H-i-s') . '.docx');



PHPWord也不止只有这些用法,更多功能可以参考链接:PHPWord 0.16.0 文档

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!