昨天在群里看见一位小朋友在求助,他的问题是如果将html页面中的部分html代码转换成PDF文件,我昨天尝试做了一下, 今天给大家分享一下教程和代码。
首先我们需要借助一个PHP的类库及拓展来完成这个需求,这个拓展就是 Mpdf
$ composer require mpdf/mpdf
我们先在项目根目录使用composer下载mpdf
然后在项目中新建 一个控制器方法,引入Mpdf类public function test()
{
$html = input('html');
$PATH = ROOT_PATH.'/public/pdf/';
$mpdf=new \Mpdf\Mpdf();
$mpdf->autoScriptToLang = true;
$mpdf->autoLangToFont = true;
$mpdf->showWatermarkText = true;
//设置pdf显示方式
$mpdf->SetDisplayMode('fullpage');
//删除pdf第一页(由于设置pdf尺寸导致多出了一页)
$mpdf->DeletePages(1,1);
//读取css文件
$stylesheet = file_get_contents(ROOT_PATH.'/public/static/css/test.css');
//引入css样式
$mpdf->WriteHTML($stylesheet,1);
//读取html页面
$mpdf->WriteHTML($html,2);
$pdf_name = md5(time()).'.pdf';
$mpdf->Output($PATH.$pdf_name);
return $pdf_name;
}
如果不了解Mpdf的朋友可以去查看一下它的使用文档
前台代码是$(".download").click(function() {
$html = document.getElementById("test").innerHTML;
$.post('{:url("test")}',{html:$html}, function (res) {
alert(res);
});
});
转载声明:本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
欢迎捐赠赞赏
如果觉得《php html转化为pdf PHP将html转换成PDF文件》对你有帮助,请点赞、收藏,并留下你的观点哦!