利用php怎么将html页面转换成图片

  介绍

这篇文章将为大家详细讲解有关利用php怎么将html页面转换成图片,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

在服务器端解析将编译好的html转换为图片。

由于html一般由客户端浏览器解析,服务器端不能直接解析html代码,所以我们需要借助php类库及扩展完成这一需求。

文件转换过程为html→pdf→png。

需要借助的类库是mPDF, imagick

新建一个html2pdf的文件夹引入

包括(& # 39;。/html2pdf mpdf& # 39;);

整一个函数

/*   名称,,html转换为pdf图片   功能,,将html页面转换为pdf图片(部分css样式无法识别)   参数数量,2个   1 .必须,html代码,可以用file_get_contenth获取   2 .必须,生成pdf存放位置路径   3 .非必须,pdf宽   4 .非必须,pdf高   返回值,图片名称   实例,,代码(html、美元& # 39;img/1. pdf # 39;);   *,*/function  html2pdf (html、美元,美元的路径,w=414美元,,h=736美元){   ,//设置中文字体(很重要,它会影响到第二步中,图片生成)   mpdf美元=new  mpdf (& # 39; utf - 8 # 39;);   时间=美元mpdf→autoScriptToLang 真实;   时间=美元mpdf→autoLangToFont 真实;//设置pdf的尺寸   mpdf→美元WriteHTML (& # 39; & lt; pagebreak 图纸大?? # 39;w美元。强生# 39;mm  & # 39;。h强生# 39;美元mm",/祝辞& # 39;);//设置pdf显示方式   mpdf→美元SetDisplayMode (& # 39; fullpage& # 39;);//删除pdf第一页(由于设置pdf尺寸导致多出了一页)   mpdf→美元DeletePages (1,1);      mpdf→美元WriteHTML (html);      $ pdf_name =, md5(时间())强生# 39;. pdf # 39;;      mpdf→美元输出(路径。pdf_name美元);      return  pdf_name美元;      }

用这个函数基本就可以解决HTML到pdf的问题,需要注意的是mpdf并不能有效的识别HTML中所有的css样式,例如位置圆角边框等。位置可以用保证金解决,需要显示圆角图片的话,就需要将图片裁剪为圆形了。

接下来开始将pdf转换为png图片了这一步需要在服务器<强>安装ImageMagick组件一次运行一下命令

yum  install  -y  ImageMagick   yum  install  -y  ImageMagick-devel   yum  install  -y  gcc   yum  install  -y  php-pear   yum  install  -y 内容   yum  install  -y  ghostscript-devel。x86_64

到这一步注意运行

yum  list  | grep  imagick

根据查询结果根据自己服务器版本选择安装我的是5.6.3

yum  install  -y  php56w-pecl-imagick.x86_64   yum  install  -y  php56w-pecl-imagick-devel。x86_64

重启服务器

service  nginx 重新启动   service  php-fpm 重启

使用phpinfo()或运行php - m | grep imagick来查看是否安装成功

然后使用函数将已经生成的pdf转换为png就可以了

/*   名称,,pdf转换为png图片   功能,,将pdf图片转换为png图片   参数数量,2个   1 .必须,html代码,可以用file_get_contenth获取   2 .必须,生成pdf存放位置路径      实例,,代码(html、美元& # 39;img/1. pdf # 39;);   *,*/function  pdf2png (PDF,美元,PNG,美元,w=50美元,h=50美元){   如果(! extension_loaded (& # 39; imagick& # 39;)) {   return 假;   }   如果(! file_exists (PDF)) {   return 假;   }      $我=,new  Imagick ();      im→美元setResolution (w h美元);,//设置分辨率   im→美元setCompressionQuality(15);//设置图片压缩的质量      im→美元readImage (PDF);   美元我→,resetIterator ();   美元$ imgs =, im→appendImages(真正的);   一个美元→setImageFormat (,“png",);   $ img_name =, PNG美元;   一个美元→writeImage ($ img_name);   一个美元→clear ();   一个美元→破坏();   im→美元clear ();   美元我→破坏();      return  img_name美元;   }

关于利用php怎么将html页面转换成图片就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

利用php怎么将html页面转换成图片