Dans le développement Web, il est souvent nécessaire de convertir des pages HTML en images pour des fonctions telles que la génération de codes de vérification et de captures d'écran d'e-mails. En tant que langage de script serveur très populaire, PHP peut également convertir du HTML en images. Cet article explique comment utiliser PHP pour convertir des pages HTML en images.
Avant de présenter l'implémentation spécifique, comprenons brièvement le principe du HTML pour les images. Une méthode courante consiste à utiliser une bibliothèque tierce pour restituer la page HTML sous forme d'image, puis à afficher l'image dans le navigateur ou à l'enregistrer sous forme de fichier.
PHP ne prend pas en charge nativement la conversion du HTML en images et doit s'appuyer sur des extensions tierces. Parmi les plus populaires figurent wkhtmltoimage
, dompdf
, phantomjs
, etc. wkhtmltoimage
、dompdf
、phantomjs
等。
以 wkhtmltoimage
为例,需要在服务器上先安装 wkhtmltox
库。
sudo apt-get update sudo apt-get install wkhtmltopdf
然后安装 PHP 扩展 php-wkhtmltox
。
sudo apt-get install php-wkhtmltox
wkhtmltoimage
扩展安装好 wkhtmltoimage
扩展后,就可以使用以下代码来将 HTML 页面转换成图片。
<?php $command = 'wkhtmltoimage http://www.baidu.com ./baidu.jpg'; $result = shell_exec($command);
上述代码中,wkhtmltoimage
命令将 http://www.baidu.com
页面渲染成图片,并保存为 ./baidu.jpg
文件。
除了从网页地址转换图片外,也可以将本地 HTML 文件转换成图片:
<?php $command = 'wkhtmltoimage ./local.html ./local.jpg'; $result = shell_exec($command);
dompdf
扩展dompdf
是一个将 HTML 转换为 PDF 的 PHP 扩展,它也能够将 HTML 转换成图片。
安装 dompdf
扩展。
composer require dompdf/dompdf
使用以下代码将 HTML 页面转换成图片。
<?php use Dompdf\Dompdf; $html = file_get_contents('http://www.baidu.com'); $dompdf = new Dompdf(); $dompdf->loadHtml($html); $dompdf->render(); $file = './baidu.png'; file_put_contents($file, $dompdf->output());
在上述代码中,使用 file_get_contents
获取页面 HTML 内容,然后使用 Dompdf
在服务器端渲染成图片,并将其保存到本地。
phantomjs
扩展与 dompdf
类似,phantomjs
也是一个能够将 HTML 页面渲染成图片的工具。安装 phantomjs
库。
sudo apt-get install phantomjs
然后使用以下代码将 HTML 页面转换成图片。
<?php $html = file_get_contents('http://www.baidu.com'); $command = 'phantomjs rasterize.js ' . escapeshellarg($html) . ' ./baidu.png 800px*600px'; $result = shell_exec($command);
在上述代码中,phantomjs
命令使用了 rasterize.js
脚本来完成页面渲染。其中,第一个参数是要渲染的 HTML 内容,第二个参数为输出文件,第三个参数为输出图片的尺寸。
本文介绍了如何使用 PHP 将 HTML 页面转换成图片。我们可以使用 wkhtmltoimage
、dompdf
或 phantomjs
wkhtmltoimage
comme exemple, vous devez d'abord installer la bibliothèque wkhtmltox
sur le serveur. 🎜rrreee🎜Ensuite, installez l'extension PHP php-wkhtmltox
. 🎜rrreeewkhtmltoimage
🎜🎜🎜Après avoir installé l'extension wkhtmltoimage
, vous pouvez utiliser le code suivant pour convertir des pages HTML en images . 🎜rrreee🎜Dans le code ci-dessus, la commande wkhtmltoimage
restitue la page http://www.baidu.com
dans une image et l'enregistre sous ./baidu Fichier .jpg. 🎜🎜En plus de convertir des images à partir d'adresses Web, vous pouvez également convertir des fichiers HTML locaux en images : 🎜rrreee<ol start="4">🎜Utilisez l'extension <code>dompdf
🎜🎜🎜dompdf
est une extension PHP qui convertit le HTML en PDF. Elle peut également convertir le HTML en images. 🎜🎜Installez l'extension dompdf
. 🎜rrreee🎜Utilisez le code suivant pour convertir des pages HTML en images. 🎜rrreee🎜Dans le code ci-dessus, utilisez file_get_contents
pour obtenir le contenu HTML de la page, puis utilisez Dompdf
pour le restituer sous forme d'image côté serveur et l'enregistrer localement. 🎜phantomjs
🎜🎜🎜Semblable à dompdf
, phantomjs
est également un outil qui peut rendre Pages HTML dans les outils Image. Installez la bibliothèque phantomjs
. 🎜rrreee🎜Utilisez ensuite le code suivant pour convertir la page HTML en image. 🎜rrreee🎜Dans le code ci-dessus, la commande phantomjs
utilise le script rasterize.js
pour terminer le rendu de la page. Parmi eux, le premier paramètre est le contenu HTML à restituer, le deuxième paramètre est le fichier de sortie et le troisième paramètre est la taille de l'image de sortie. 🎜wkhtmltoimage
, dompdf
ou phantomjs
pour réaliser cette fonctionnalité. Lorsque vous utilisez différentes extensions, vous devez également faire attention à l'installation de son environnement dépendant et à l'utilisation des bibliothèques associées. 🎜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!