php将html转为图片的实现方法
php  /  管理员 发布于 7年前   154
在服务器端解析将编译好的html转换为图片。 由于html一般由客户端浏览器解析,服务器端不能直接解析html代码。所以我们需要借助php类库及扩展完成这一需求。 文件转换过程为 html ―> pdf ―>png。 需要借助的类库是mPDF ,imagick pdf 官方下载地址是:http://www.mpdf1.com/mpdf/index.php (推荐下在6.0 虽然大了点)这是一个类库直接下载 上传到服务器即可,里面东西不少,新建一个 html2pdf 的文件夹 引入 整一个函数 用这个函数基本就可以解决HTML到pdf的问题,需要注意的是mpdf并不能有效的识别html中所有的css样式,例如position border-radius等。位置可以用margin解决,需要显示圆角图片的话,就需要将图片裁剪为圆形了。 接下来开始将pdf转换为png图片了这一步需要在服务器安装ImageMagick组件 一次运行一下命令 到这一步注意运行 根据查询结果 根据自己服务器版本 选择安装 我的是5.6.3 重启服务器 使用 phpinfo() 或运行 php -m | grep imagick 来查看是否安装成功 然后使用函数将已经生成的pdf转换为png就可以了 ok,基本完成简单页面的图片化了。图片大小为1M左右。小了不清楚。 以上这篇php将html转为图片的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。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'); * */function html2pdf($html, $PATH, $w=414 ,$h=736){ //设置中文字体(很重要 它会影响到第二步中 图片生成)$mpdf=new mPDF('utf-8');$mpdf->autoScriptToLang = true;$mpdf->autoLangToFont = true;//设置pdf的尺寸$mpdf->WriteHTML('
yum install -y ImageMagickyum install -y ImageMagick-develyum install -y gccyum install -y php-pearyum install -y ghostscriptyum install -y ghostscript-devel.x86_64
yum list |grep imagick
yum install -y php56w-pecl-imagick.x86_64yum install -y php56w-pecl-imagick-devel.x86_64
service nginx restartservice php-fpm restart
/*名称 pdf转换为png图片功能 将pdf图片转换为png图片参数数量 2个1.必须 html代码 可以用file_get_contenth获取2.必须 生成pdf存放位置路径实例 code($html,'img/1.pdf'); * */function pdf2png($PDF, $PNG, $w=50, $h=50){if(!extension_loaded('imagick')){return false;}if(!file_exists($PDF)){return false;}$im = new Imagick();$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;}
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号