Comment convertir du HTML en images en php : 1. Créez un nouveau dossier de html2pdf ; 2. Entrez "include('./html2pdf/mpdf');" 3. Utilisez "function pdf2png(){...} "Méthode pour convertir du HTML en images.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 5.6, ordinateur DELL G3.
Comment convertir du php html en images ?
Comment utiliser php pour convertir du HTML en images
Analyser et convertir le HTML compilé en images côté serveur.
Étant donné que le HTML est généralement analysé par le navigateur client, le serveur ne peut pas analyser directement le code HTML. Nous devons donc utiliser des bibliothèques de classes et des extensions PHP pour répondre à cette exigence.
Le processus de conversion de fichier est html —> pdf —> png.
La bibliothèque de classes que vous devez utiliser est mPDF, imagick
pdf L'adresse de téléchargement officielle est : http://www.mpdf1.com/mpdf/index.php (il est recommandé d'utiliser 6.0 bien que ce soit un peu. plus grand). Il s'agit d'une bibliothèque de classes directement. Il suffit de la télécharger et de la télécharger sur le serveur. Il contient beaucoup de choses. Créez un nouveau dossier html2pdf et introduisez
include('./html2pdf/mpdf');
Une fonction entière
/* 名称 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; }
L'utilisation de cette fonction peut fondamentalement résoudre le problème. problème du HTML en pdf Il convient de noter que mpdf n'est pas efficace pour identifier tous les styles CSS en HTML, tels que la position du rayon de bordure, etc. La position peut être résolue à l'aide de la marge. Si vous devez afficher une image arrondie, vous devez recadrer l'image en cercle.
L'étape suivante consiste à convertir des 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 à l'exécution
yum list |grep imagick
Selon les résultats de la requête, choisissez d'installer le mien en fonction de la version de votre serveur. Le mien 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 phpinfo() ou exécutez php -m | grep imagick pour vérifier si l'installation a réussi
Ensuite, utilisez la fonction pour convertissez le pdf généré en 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, la page simple est essentiellement remplie d'images. La taille de l'image est d'environ 1 M. C'est trop petit pour être clair.
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!