Maison  >  Article  >  développement back-end  >  Comment convertir du HTML en image en php

Comment convertir du HTML en image en php

coldplay.xixi
coldplay.xixioriginal
2020-09-07 11:21:136808parcourir

Comment convertir du HTML en images en PHP : utilisez d'abord la bibliothèque de classes mPDF pour convertir du HTML en PDF, le code est [$pdf_name= md5(time()).'.pdf'] puis convertissez le PDF ; en png, le code est [$imgs->setImageFormat( "png"].

Comment convertir du HTML en image en php

[Recommandations d'apprentissage associées : Programmation php(vidéo)]

Comment convertir du HTML en images en php :

Le processus de conversion de fichier est html —> pdf —> png

La bibliothèque de classes qui doit être utilisée est mPDF, imagick

Il s'agit d'une bibliothèque de classes qui peut être directement téléchargé et téléchargé sur le serveur. C'est tout. Il y a beaucoup de choses dedans. Créez un nouveau dossier html2pdf et introduisez

include('./html2pdf/mpdf');

toute une fonction

/*
名称  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(&#39;<pagebreak sheet-size="&#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(time()).&#39;.pdf&#39;;
 
$mpdf->Output($PATH.$pdf_name);
 
return $pdf_name;
 
}

. vous pouvez essentiellement résoudre le problème du HTML en pdf. Ce à quoi vous devez faire attention est mpdf. Il ne peut pas identifier efficacement tous les styles CSS en HTML. Par exemple, la position, le rayon de la bordure, etc. peuvent être résolus avec une marge si vous en avez besoin. pour afficher une image arrondie, vous devez recadrer l'image en cercle. >

L'étape suivante consiste à convertir les images pdf en images png. Cette étape nécessite d'installer le composant ImageMagick sur le serveur et d'exécuter la commande à la fois
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

À cette étape, faites attention à exécuter

yum list |grep imagick

Selon les résultats de la requête, selon le vôtre La version du serveur que j'ai choisi d'installer est 5.6.3

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

Redémarrez le serveur

service nginx restart
service php-fpm restart

Utilisez

ou exécutez

pour vérifier si l'installation a réussi

Utilisez ensuite la fonction pour Le pdf généré peut être converti en png phpinfo()

*/
名称  pdf转换为png图片
功能  将pdf图片转换为png图片
参数数量 2个
1.必须 html代码 可以用file_get_contenth获取
2.必须 生成pdf存放位置路径
 
实例  code($html,&#39;img/1.pdf&#39;);
 * */
function pdf2png($PDF, $PNG, $w=50, $h=50){
if(!extension_loaded(&#39;imagick&#39;)){
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;
}
php -m | grep imagick ok, l'image de la page simple est pratiquement terminée. La taille de l'image est d'environ 1M

Je veux en savoir plus Pour plus d'apprentissage en programmation, veuillez faire attention au

php. rubrique formation

!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn