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

由于html一般由客户端浏览器解析,服务器端不能直接解析html代码。所以我们需要借助php类库及扩展完成这一需求。
文件转换过程为 html —> pdf —>png。
需要借助的类库是mPDF ,imagick
pdf 官方下载地址是:http://www.mpdf1.com/mpdf/index.php (推荐下在6.0 虽然大了点)这是一个类库直接下载 上传到服务器即可,里面东西不少,新建一个 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');
* */
function html2pdf($html, $PATH, $w=414 ,$h=736){
//设置中文字体(很重要 它会影响到第二步中 图片生成)
$mpdf=new mPDF('utf-8');
$mpdf->autoScriptToLang = true;
$mpdf->autoLangToFont = true;
//设置pdf的尺寸
$mpdf->WriteHTML('<pagebreak sheet-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组件 一次运行一下命令
yum install -y ImageMagick yum install -y ImageMagick-devel yum install -y gcc yum install -y php-pear yum install -y ghostscript 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 restart service php-fpm restart
使用 phpinfo() 或运行 php -m | grep imagick 来查看是否安装成功
然后使用函数将已经生成的pdf转换为png就可以了
/*
名称 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;
}
ok,基本完成简单页面的图片化了。图片大小为1M左右。小了不清楚。
以上这篇php将html转为图片的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# php将html转为图片
# PHP将HTML转换成文本的实现代码
# 转换为
# 可以用
# 的是
# 类库
# 给大家
# 就可以
# 这一
# 下载地址
# 这一步
# 这是一个
# 不清楚
# 希望能
# 很重要
# 影响到
# 这篇
# 重启
# 它会
# 多出
# 第一页
# 第二步
相关文章:
如何在景安云服务器上绑定域名并配置虚拟主机?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
,有什么在线背英语单词效率比较高的网站?
如何用PHP快速搭建CMS系统?
无锡营销型网站制作公司,无锡网选车牌流程?
如何在云主机上快速搭建网站?
宿州网站制作公司兴策,安徽省低保查询网站?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
C#如何在一个XML文件中查找并替换文本内容
制作企业网站建设方案,怎样建设一个公司网站?
建站主机选哪家性价比最高?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
如何通过商城免费建站系统源码自定义网站主题?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
如何在IIS7上新建站点并设置安全权限?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
建站VPS选购需注意哪些关键参数?
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
如何通过可视化优化提升建站效果?
TestNG的testng.xml配置文件怎么写
如何在IIS中新建站点并配置端口与物理路径?
如何用搬瓦工VPS快速搭建个人网站?
广平建站公司哪家专业可靠?如何选择?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
红河网站制作公司,红河事业单位身份证如何上传?
h5网站制作工具有哪些,h5页面制作工具有哪些?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
如何选择适配移动端的WAP自助建站平台?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
c# 在ASP.NET Core中管理和取消后台任务
网站制作话术技巧,网站推广做的好怎么话术?
如何选购建站域名与空间?自助平台全解析
如何通过主机屋免费建站教程十分钟搭建网站?
微信小程序 五星评分(包括半颗星评分)实例代码
学校建站服务器如何选型才能满足性能需求?
b2c电商网站制作流程,b2c水平综合的电商平台?
c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】
长沙企业网站制作哪家好,长沙水业集团官方网站?
太平洋网站制作公司,网络用语太平洋是什么意思?
济南企业网站制作公司,济南社保单位网上缴费步骤?
网站制作服务平台,有什么网站可以发布本地服务信息?
Android滚轮选择时间控件使用详解
制作证书网站有哪些,全国城建培训中心证书查询官网?
怀化网站制作公司,怀化新生儿上户网上办理流程?
建站主机选虚拟主机还是云服务器更好?
深圳网站制作培训,深圳哪些招聘网站比较好?
,怎么在广州志愿者网站注册?
如何通过西部建站助手安装IIS服务器?
*请认真填写需求信息,我们会在24小时内与您取得联系。