php 生成PDF的方法之一 --mpdf使用

本文介绍如何使用MPDF库生成带有页眉和页脚的PDF文件,并提供了具体代码示例,包括设置字体、页面尺寸及输出文件等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mpdf的下载地址:https://files-cdn.cnblogs.com/files/wlphp/mpdf.rar
大概写法:
/**
	 * 生成PDF文件
	 */
	public function generate_pdf($order_sn)
	{
		include('vendor/mpdf/mpdf.php');

		$path = SITE_URL.'/index/pdf/heyue?order_sn='.$order_sn;			//PDF数据路径
	
		//实例化mpdf
		$mpdf = new \mPDF('zh-CN', 'A4', '', '', 20, 20, 20, 20);//utf-8

		//设置字体,解决中文乱码
		$mpdf->useAdobeCJK = true;
		//$mpdf->SetAutoFont(AUTOFONT_ALL);//使用6.0以上版本不需要

		//获取要生成的静态文件
		$html = file_get_contents($path);

		//设置PDF页眉内容
		$header = '<table width="95%" style="margin:0 auto;border-bottom: 1px solid #4F81BD; vertical-align: middle; font-family:
			serif; font-size: 9pt; color: #000088;"><tr>
			<td width="10%"></td>
			<td width="80%" align="center" style="font-size:16px;color:#A0A0A0">页眉</td>
			<td width="10%" style="text-align: right;"></td>
			</tr></table>';

		//设置PDF页脚内容
		$footer = '<table width="100%" style=" vertical-align: bottom; font-family:
			serif; font-size: 9pt; color: #000088;"><tr style="height:30px"></tr><tr>
			<td width="10%"></td>
			<td width="80%" align="center" style="font-size:14px;color:#A0A0A0">页脚</td>
			<td width="10%" style="text-align: left;">页码:{PAGENO}/{nb}</td>
			</tr></table>';

		//添加页眉和页脚到pdf中
		$mpdf->SetHTMLHeader($header);
		$mpdf->SetHTMLFooter($footer);

		// 支持中文
		$mpdf->useAdobeCJK = true;
		$mpdf->autoScriptToLang = true;
		$mpdf->autoLangToFont = true;

		//设置pdf显示方式
		$mpdf->SetDisplayMode('fullpage');

		//设置pdf的尺寸为270mm*397mm
		//$mpdf->WriteHTML('<pagebreak sheet-size="270mm 397mm" />');

		//创建pdf文件
		$mpdf->WriteHTML($html);

		//删除pdf第一页(由于设置pdf尺寸导致多出了一页)
		//$mpdf->DeletePages(1,1);

		$file_path = APP_PATH.'/public/uploadpdf/'.Date('Ymd');//保存路径
        //如果不存在此目录,则创建此目录
        if(!is_dir($file_path)){
            mkdir($file_path,0777,true);
        }

		$Name = $order_sn.Date('His').'.pdf';	//文件名
		$fileName = $file_path.'/'.$Name;		//文件路径+名字

		//输出pdf
		$mpdf->Output($fileName); //可以写成下载此pdf   $mpdf->Output('文件名','D');

		$data_path = '/public/uploadpdf/'.Date('Ymd').'/'.$Name;
		
		return $data_path;

	}
mpdf用法小结(参考):https://blog.youkuaiyun.com/alexandsunny/article/details/81457896?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.pc_relevant_is_cache&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.pc_relevant_is_cache
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值