php使用mpdf实现导出pdf文件功能

mpdf的开发文档地址:

Supported CSS – CSS & Stylesheets – mPDF Manual

1.加载依赖库

composer require mpdf/mpdf

2.页面

$html = <<<EOD


<body style="background:url($img1);"  lang="zh-CN">
    <div style="background:rgba(255,255,255,0.3);">
        <div style="width: 12rem;height: 15rem;float: right;">
            $avatar
        </div>
        <div style="padding-top: 5rem;padding-left: 2rem;">
            <span style="font-size: 20pt;font-weight: bold;">$strTitle</span>
<table  style="color: #666666;padding-top: 1rem;font-size: 14pt;line-height: 16pt;" >
                <tr>
                    <td style="">
                    姓名:$studentName
                    </td>
                    <td style="padding-left: 2rem;">
                    性别:$sex
                    </td>
                    <td style="">
                    出生年月:$birthday
                    </td>
                </tr>
                <tr>
                    <td>
                    民族:$nationality
                    </td>
                    <td style="">
                    政治面貌:$political
                    </td>
                    <td style="padding-left: 2rem;">
                    电话:$phone
                    </td>
                </tr>
            </table>
        </div>
    </div>
    <div style="background-color: white;padding-bottom: initial;">
 
    <table   style="text-align:center;font-size:20pt;"  >
    </table>
    


<h2></h2><h2></h2>
<h2 style="padding-left: 2rem">技能特长</h2>
<table  style="text-align:left;line-height:200%;font-size:14pt;color: #666666;" >
$strSkills
</table>


<h2></h2>
<h2 style="padding-left: 2rem">成绩单</h2>
<table  style="text-align:left;line-height:200%;font-size:12pt;border-collapse: collapse;margin-left: 2rem;width: 95%;" >
<tr >
<th style="border: 1px solid black;border-right: 0px;">总分:$scoreTotal</th>
<th style="border: 1px solid black;border-right: 0px;border-left: 0px;"></th>
<th style="border: 1px solid black;border-right: 0px;border-left: 0px;"></th>
<th style="border: 1px solid black;border-right: 0px;border-left: 0px;"></th>
<th style="border: 1px solid black;border-left: 0px;"></th>
</tr>
$strActivity
</table>



<h2></h2>
<h2 style="padding-left: 2rem;">获奖证书</h2>
<table  style="text-align:left;line-height:200%;font-size:12pt;border-collapse: collapse;margin-left: 2rem;width: 95%;" >
<tr>
<th style="border: 1px solid black;color: #333333;">项目名称</th>
<th style="border: 1px solid black;color: #333333;">等级</th>
<th style="border: 1px solid black;color: #333333;">获得时间</th>
<th style="border: 1px solid black;color: #333333;">经历描述</th>
</tr>
$strCertificate

</table>




<h2></h2>
<h2 style="padding-left: 2rem;">实践经历</h2>
$strTraining

<h2></h2>
<h2 style="padding-left: 2rem;">个人风采</h2>
$strPersona
 

    </div>
</body>
    		
EOD;

3.导出

require_once 'vendor/autoload.php';
        $mpdf=new Mpdf([
            'mode' => '',
            'format' => 'A4',
            'default_font_size' => 0,
            'default_font' => 'sans',
            'margin_left' => 10,
            'margin_right' => 10,
            'margin_top' => 10,
            'margin_bottom' => 10,
            'margin_header' => 9,
            'margin_footer' => 9,
            'orientation' => 'P',
        ]);
        $mpdf->useAdobeCJK = true;
        $mpdf->autoScriptToLang = true;//支持中文设置
        $mpdf->autoLangToFont = true;//支持中文设置
        $mpdf->setAutoTopMargin = 'stretch';//设置自动顶部边距
        $mpdf->setAutoBottomMargin = 'stretch';//设置自动低部边距
        $mpdf->AddPage();

        //获取配置文字或者logo
        $conf=M("confScoreList")->find();
        //设置页眉
        $SetHeader = '<table class="header" style="text-align: right;width: 100%;"> 
<tr>
   <td width="33%" style="text-align: left;font-size: 10pt;color: #999999;"> <img src="'.K_PATH_IMAGES.$conf['logo'].'" alt=""> </td>
   <td width="33%" style="text-align: right;color: #999999;">'.$conf['headerRight'].'</td>
   </tr>
</table>';

        $mpdf->SetHeader($SetHeader);
        //这是一个页脚的范例{PAGENO}是当前的页数,{nb}是总共的页数
        //<td width="33%" style="text-align: center;font-size: 10pt;">第 {PAGENO} 页&nbsp;&nbsp;&nbsp;&nbsp;共 {nb} 页</td>
        $setFooter = '<table class="footer" style="text-align: right;width: 100%;"> 
<tr>
   <td width="33%" style="text-align: left;font-size: 10pt;color: #999999;">'.$conf['footerLeft'].'</td>
   <td width="33%" style="text-align: right;color: #999999;">'.$conf['footerRight'].'</td>
   </tr>
</table>';

        $mpdf->setFooter($setFooter);
        //设置中文编码
        $mpdf->WriteHTML($html);
        //导出pdf文件重命名
//        $mpdf->Output($dataResume['resumeName'] . '.pdf', true);
        $mpdf->Output();
        exit;

  • 18
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cq林志炫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值