php将html转为图片的方法:首先借助类库mPDF将html转换成pdf,代码为【$pdf_name= md5(time()).'.pdf'】;然后将pdf转换为png,代码为【$imgs->setImageFormat( "png"】。
php将html转为图片的方法:
文件转换过程为 html —> pdf —>png
需要借助的类库是mPDF ,imagick
这是一个类库直接下载 上传到服务器即可,里面东西不少,新建一个 html2pdf 的文件夹 引入
include('./html2pdf/mpdf');
整一个函数
/*名称html转换为pdf图片功能将html页面转换为pdf图片(部分css样式无法识别)参数数量2个1.必须html代码可以用file_get_contenth获取2.必须生成pdf存放位置路径3.非必须pdf宽4.非必须pdf高返回值图片名称实例code($html,'img/1.pdf');*/functionhtml2pdf($html,$PATH,$w=414,$h=736){//设置中文字体(很重要它会影响到第二步中图片生成)$mpdf=newmPDF('utf-8');$mpdf->autoScriptToLang=true;$mpdf->autoLangToFont=true;//设置pdf的尺寸$mpdf->WriteHTML('<pagebreaksheet-size="'.$w.'mm'.$h.'mm"/>');//设置pdf显示方式$mpdf->SetDisplayMode('fullpage');//删除pdf第一页(由于设置pdf尺寸导致多出了一页)$mpdf->DeletePages(1,1);$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组件 一次运行一下命令
yuminstall-yImageMagickyuminstall-yImageMagick-develyuminstall-ygccyuminstall-yphp-pearyuminstall-yghostscriptyuminstall-yghostscript-devel.x86_64
到这一步注意运行
yumlist|grepimagick
根据查询结果 根据自己服务器版本 选择安装 我的是5.6.3
yuminstall-yphp56w-pecl-imagick.x86_64yuminstall-yphp56w-pecl-imagick-devel.x86_64
重启服务器
servicenginxrestartservicephp-fpmrestart
使用 phpinfo() 或运行 php -m | grep imagick 来查看是否安装成功
然后使用函数将已经生成的pdf转换为png就可以了。
/*名称pdf转换为png图片功能将pdf图片转换为png图片参数数量2个1.必须html代码可以用file_get_contenth获取2.必须生成pdf存放位置路径实例code($html,'img/1.pdf');*/functionpdf2png($PDF,$PNG,$w=50,$h=50){if(!extension_loaded('imagick')){returnfalse;}if(!file_exists($PDF)){returnfalse;}$im=newImagick();$im->setResolution($w,$h);//设置分辨率$im->setCompressionQuality(15);//设置图片压缩的质量$im->readImage($PDF);$im->resetIterator();$imgs=$im->appendImages(true);$imgs->setImageFormat("png");$img_name=$PNG;$imgs->writeImage($img_name);$imgs->clear();$imgs->destroy();$im->clear();$im->destroy();return$img_name;}
ok,基本完成简单页面的图片化了。图片大小为1M左右。小了不清楚。
产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;
日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉;
本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;
部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入;
如若转载,请注明出处:https://www.chanpinyuan.cn/42627.html;