/** ?* PDF文件加水印 ?* composer命令安装:composer require setasign/fpdf ?* composer命令安装:composer require setasign/fpdi ?*/ public function add_water($type = 1){ ? ? $pdf = new Fpdi(); ? ? $file = 'Upload/all_to_path/report_file/FA065307C8FF0236FC2002DAA098D439.pdf'; ? ? //获取页数 ? ? $pageCount = $pdf->setSourceFile($file); ? ? //遍历所有页面 ? ? for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++){ ? ? ? ? //导入页面 ? ? ? ? $templateId = $pdf->importPage($pageNo); ? ? ? ? //获取导入页面的大小 ? ? ? ? $size = $pdf->getTemplateSize($templateId); ? ? ? ? //创建页面(横向或纵向取决于导入的页面大小) ? ? ? ? if ($size['width'] > $size['height']){ ? ? ? ? ? ? $pdf->AddPage('L', array($size['width'], $size['height'])); ? ? ? ? }else { ? ? ? ? ? ? $pdf->AddPage('P', array($size['width'], $size['height'])); ? ? ? ? } ? ? ? ? //使用导入的页面 ? ? ? ? $pdf->useTemplate($templateId); ? ? ? ? ? if($type == 1){//文字水印 ? ? ? ? ? ? //设置字体 ? ? ? ? ? ? //$pdf->SetFont('Arial','B','24'); ? ? ? ? ? ? $family = ['courier', 'helvetica', 'times', 'symbol', 'zapfdingbats']; ? ? ? ? ? ? $pdf->SetFont('helvetica','U','50'); ? ? ? ? ? ? //设置位置 - 加在中间位置 ? ? ? ? ? ? $center_x = $size['width']/2; ? ? ? ? ? ? $center_y = $size['height']/2; ? ? ? ? ? ? $pdf->SetXY($center_x, $center_y); ? ? ? ? ? ? //写入水印 - 中文会乱码 建议使用中文图片 ? ? ? ? ? ? $pdf->Write(7, 'ROOT_ICO'); ? ? ? ? }else{//图片水印 ? ? ? ? ? ? $center_x = $size['width']/2 - 40;$center_y = $size['height']/2; ? ? ? ? ? ? $pdf->image("Upload/all_to_path/report_file/water_mark.png", $center_x, $center_y, 80);//中间水印 ? ? ? ? ? ? $pdf->image("Upload/all_to_path/report_file/water_mark2.png", 0, 0,210);//全屏背景水印 ? ? ? ? } ? ? } ? ? //I输出output,D下载download,F保存file_put_contents,S返回return ? ? $pdf->Output('F','Upload/all_to_path/report_file/save.pdf',false); } ?
1.中间水印效果
2.全屏背景水印效果
———————————————— 版权声明:本文为CSDN博主「凌晨四点的_LA」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_42047371/article/details/99632700
|