php将html转为图片的实现方法
在服务器端解析将编译好的html转换为图片。 由于html一般由客户端浏览器解析,服务器端不能直接解析html代码。所以我们需要借助php类库及扩展完成这一需求。 文件转换过程为 html —> pdf —>png。 需要借助的类库是mPDF ,imagick pdf 官方下载地址是:http://www.mpdf1.com/mpdf/index.php (推荐下在6.0 虽然大了点)这是一个类库直接下载 上传到服务器即可,里面东西不少,新建一个 html2pdf 的文件夹 引入 整一个函数 autoScriptToLang = true;
$mpdf->autoLangToFont = true;
//设置pdf的尺寸
$mpdf->WriteHTML('
//设置pdf显示方式 //删除pdf第一页(由于设置pdf尺寸导致多出了一页) $mpdf->WriteHTML($html); $pdf_name = md5(time()).'.pdf'; $mpdf->Output($PATH.$pdf_name); return $pdf_name; } 用这个函数基本就可以解决HTML到pdf的问题,需要注意的是mpdf并不能有效的识别html中所有的css样式,例如position border-radius等。位置可以用margin解决,需要显示圆角图片的话,就需要将图片裁剪为圆形了。 接下来开始将pdf转换为png图片了这一步需要在服务器安装ImageMagick组件 一次运行一下命令 到这一步注意运行 根据查询结果 根据自己服务器版本 选择安装 我的是5.6.3 重启服务器 使用 phpinfo() 或运行 php -m | grep imagick 来查看是否安装成功 然后使用函数将已经生成的pdf转换为png就可以了 实例 code($html,'img/1.pdf');
$im = new Imagick(); $im->setResolution($w,$h); //设置分辨率 $im->readImage($PDF); return $img_name; ok,基本完成简单页面的图片化了。图片大小为1M左右。小了不清楚。 以上这篇php将html转为图片的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |