安装插件:composer require mpdf/mpdf
在插件目录下的ttfonts目录添加中文字体,我用的是宋体,也就是simsun.ttf
use Mpdf\Mpdf;
/**
* PDF文件加水印
*/
public function add_water($file,$text){
$absolute_path = ROOT_PATH . 'public' . DS;
$file = $absolute_path.$file;
$mpdf = new Mpdf([
'mode' => 'utf-8',
'format' => 'A4',
'fontdata' => [
'simsun' => [
'R' => 'simsun.ttf',
],
],
'default_font' => 'simsun'
]);
// 加载已有的pdf文件
$mpdf->SetSourceFile($file);
$pagecount = $mpdf->SetSourceFile($file);
// 循环每一页添加水印
// 循环每一页添加水印
for ($i = 1; $i <= $pagecount; $i++) {
$mpdf->AddPage();
$tplId = $mpdf->ImportPage($i);
$mpdf->UseTemplate($tplId);
// 添加中文水印
$mpdf->SetFont('simsun', '', 80);
$mpdf->SetTextColor(200, 200, 200);
$mpdf->SetAlpha(0.3);//透明度
$mpdf->Rotate(30);//水印角度
//第一条水印
$mpdf->SetXY(0, 120);
$mpdf->Write(0, 'XX网络');
if(!empty($text)){
// //第二个水印
$mpdf->SetFont('simsun', '', 30);
$mpdf->SetXY(0, 220);
$mpdf->Write(0, $text);
}
// //第三个水印
// $mpdf->SetXY(130, 200);
// $mpdf->Write(0, 'XX网络-XX网络');
}
// 保存带有水印的pdf文件
$mpdf->Output($file, 'F');
return true;
}