一个好的程序员能经得起各种各样的甲方需求的折腾,于是如题我碰到了这样的需求,我能怎么办,只能老老实实做出来然后发个博客介样子--纪念我踩坑之路的一隅。
转pdf的php插件有很多,货比三家我们选择使用mpdf,下载请问度娘。所以我们只是搬运工。(想要我的mpdf包属于补课内容,私信给)
first:基于tp5框架我们把mpdf下载好放在vendor目录下
then:开始写代码
1.topdf方法
public function topdf($data,$filename){
ob_clean();
vendor('mpdf.mpdf');//尤其注意这里的路径,要根据实际路径情况,照抄会被我坑
$mpdf = new \mPDF('zh-CN','A4','','',20,20,20,20);//pdf设置为中文、A4大小、四边边距
$content = self::getProcessHtml($parma);//获取html方法
$mpdf -> WriteHTML($content);//设置pdf的html内容
$res = $mpdf -> Output($filename,'f');//f为以下载的模式输出,其它模式问度娘
}
2.getProcessHtml方法
private function getProcessHtml($data){
$html = '<div>name:'.$data['name'].'</div>';
return $html;
}
final:注意
1、 这里很多人会想知道css样式和img图片怎么加载进去,这些是补课内容,你可以自己度娘也可以私信我。
2、其次就是pdf下载模式。很多时候我们想根据不同的数据下载多个pdf,则需要打包下载。这里提供的方案是使用mpdf的f下载模式,将文件下载缓存,再使用header函数打包成压缩文件下载,最后删除缓存文件。具体细节属于补课内容。