PHPoffice中的phpword中addWatermark()文档说的是可以添加水印,测试之后发现只能在页眉中使用(页脚没有测试);

我的方法是使用模板替换,在word中先编辑好

PHPoffice PHPword添加水印_word

public function fxfjgkzd($info, $path = 'word/3.docx') {
        include_once "../vendor/autoload.php";
        $tmp = new \PhpOffice\PhpWord\TemplateProcessor($path); //打开模板
        $tmp->setValue('companyName', $info['companyName']); //替换变量name
        $fileName = md5(uniqid());
        @mkdir('./uploads/word/' . date('Ymd') . '/', 0777, true);
        $wordPath = '/uploads/word/' . date('Ymd') . '/' . $fileName . '.docx';
        $tmp->saveAs('./uploads/word/' . date('Ymd') . '/' . $fileName . '.docx'); //另存为

        return ['wordPath' => $wordPath];
    }

缺点就是需要预先编辑好,不能预先编辑的不能使用此方法

在上传word中添加水印暂时没有