介绍、mpdf使用方式(打印pdf 网页打印)
a、下载安装composer (指定PHP文件打开--->>>>指的是安装PHP环境---(windows 环境))
b、 使用composer下载、百度搜composer 进入composer中文网下载安装 命令---->>>composer require mpdf/mpdf;(前提是已经进入指定安装目录(tp5直接进入项目目录即可)下载安装到vendor文件夹)
<?php
namespace app\admin\controller;
use app\admin\common\Common;
use think\Db;
use think\Loader;
use Mpdf\Mpdf;
//Loader::import('tcpdf.tcpdf',EXTEND_PATH,'.php');
//Loader::import('mpdf.src.Mpdf',EXTEND_PATH,'.php');
class Contract extends Common
{
//打印输出pdf
public function printContract(){
if(request()->isGet()){
$id=input('id');
$contract=new \app\admin\model\Contract();
$partyT=$contract->where('id',$id)->with('sign')->find();
$newArr=json_decode($partyT['id_card_f_info'],JSON_UNESCAPED_UNICODE);
$list=Db::name('set')->field('details,address,phone,party_a')->where('id',1)->find();
//签订时间
$partyD=date("Y-m-d",strtotime($partyT['create_time']));
//条约
$details=$list['details'];
//甲方
$partyA=$list['party_a'];
//地址
$partyAA=$list['address'];
//电话
$partyAP=$list['phone'];
//乙方
$partyB=$newArr['name'];
//身份证
$partyBC=$newArr['num'];
//电话
$partyBP=$partyT['phone'];
//签名
$partyBS=$partyT['sign']['url'];
//composer mpdf 实现下载pdf格式
$mpdf = new Mpdf();
$mpdf->WriteHTML("<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
</head>
<style type='text/css'>
.mytext {
margin-top: 60px;
width: 650px;
text-indent:30px
}
.b {
margin-top: 40px;
}
.left {
width:325px;
float:left;
}
.right {
width:325px;
float:left;
}
.clean {
clear: both;
}
.img-height {
line-height: 35px;
}
</style>
<body>
<div>
<p><span>甲方:</span><span>$partyA</span></p>
<p><span>地址:</span><span>$partyAA</span></p>
<p><span>电话:</span><span>$partyAP</span></p>
</div>
<div class='b'>
<p><span>乙方:</span><span>$partyB</span></p>
<p><span>身份证号码:</span><span>$partyBC</span></p>
<p><span>电话:</span><span>$partyBP</span></p>
</div>
<div class='mytext'>
$details
</div>
<div class='left'>
<p class='img-height'><span>甲方:$partyA</span><span></span></p>
<p><span>日期:</span><span>$partyD</span></p>
</div>
<div class='right'>
<p class='img-height'><span>乙方:</span><span><img src='".$partyBS."' style='vertical-align:middle;' height='30' width='100' /></span></p>
<p><span>日期:</span><span>$partyD</span></p>
</div>
</body>
</html>
");
$mpdf->Output($partyB.'合同.pdf',"D");
}
}
}
线上注意bug:下载pdf时候可能出现目录权限问题
进去vendor mpdf src config ConfigVariables 类文件修改配置 ,把路径改为可写路径即可!
'tempDir' => __DIR__ . '/../../tmp',