xml地图|网站地图|网站标签 [设为首页] [加入收藏]

php将html转为图片,php将html转为图片的实现方法

来源:http://www.ccidsi.com 作者:集成经验 人气:147 发布时间:2019-05-07
摘要:在劳务器端解析将编译好的html转换为图片。 在劳务器端解析将编写翻译好的html转变为图片。 是因为html一般由客户端浏览器解析,服务器端不能够直接解析html代码。所以大家必要依赖

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

在劳务器端解析将编写翻译好的html转变为图片。

是因为html一般由客户端浏览器解析,服务器端不能够直接解析html代码。所以大家必要依赖php类库及扩张达成那一须要。

鉴于html一般由客户端浏览器解析,服务器端不可能直接解析html代码。所以大家须求依赖php类库及扩展完结这一需求。

文件转变进程为 html —> pdf —>png。**

文本调换进度为 html —> pdf —>png。

内需注重的类库是mPDF ,imagick

亟需依靠的类库是mPDF ,imagick

pdf 官方下载地址是: (推荐下在陆.0 就算大了点)那是二个类库直接下载 上流传服务器就可以,里面东西不少,新建一个 html二pdf 的文本夹 引进

pdf 官方下载地址是: (推荐下在六.0 即使大了点)那是八个类库直接下载 上传到服务器就可以,里面东西不少,新建三个 html二pdf 的公文夹 引进

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;

}
include('./html2pdf/mpdf');

 

整1个函数

用这一个函数基本就足以缓和HTML到pdf的主题材料,须要小心的是mpdf并无法卓有成效的辨识html中兼有的css样式,比如position border-radius等。地点能够用margin化解,必要显示圆角图片的话,就须要将图纸裁剪为圆形了。

/*
名称  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;

}

接下去起始将pdf转变为png图片了这一步供给在服务器安装ImageMagick组件 二次运维一下命令

用这么些函数基本就足以消除HTML到pdf的标题,要求小心的是mpdf并无法有效的分辨html中保有的css样式,举例position border-radius等。地点能够用margin消除,须求彰显圆角图片的话,就必要将图纸裁剪为圆形了。

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

接下去开首将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
yum list |grep imagick

本文由68399皇家赌场发布于集成经验,转载请注明出处:php将html转为图片,php将html转为图片的实现方法

关键词: 68399皇家赌场

最火资讯