Maison > développement back-end > Problème PHP > Comment convertir des pages HTML en images en utilisant PHP

Comment convertir des pages HTML en images en utilisant PHP

PHPz
Libérer: 2023-04-03 15:40:02
original
1547 Les gens l'ont consulté

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.

  1. Comprendre le principe du HTML pour les 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.

  1. Installez les extensions nécessaires

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. wkhtmltoimagedompdfphantomjs 等。

wkhtmltoimage 为例,需要在服务器上先安装 wkhtmltox 库。

sudo apt-get update
sudo apt-get install wkhtmltopdf
Copier après la connexion

然后安装 PHP 扩展 php-wkhtmltox

sudo apt-get install php-wkhtmltox
Copier après la connexion
  1. 使用 wkhtmltoimage 扩展

安装好 wkhtmltoimage 扩展后,就可以使用以下代码来将 HTML 页面转换成图片。

<?php
$command = &#39;wkhtmltoimage http://www.baidu.com ./baidu.jpg&#39;;
$result = shell_exec($command);
Copier après la connexion

上述代码中,wkhtmltoimage 命令将 http://www.baidu.com 页面渲染成图片,并保存为 ./baidu.jpg 文件。

除了从网页地址转换图片外,也可以将本地 HTML 文件转换成图片:

<?php
$command = &#39;wkhtmltoimage ./local.html ./local.jpg&#39;;
$result = shell_exec($command);
Copier après la connexion
  1. 使用 dompdf 扩展

dompdf 是一个将 HTML 转换为 PDF 的 PHP 扩展,它也能够将 HTML 转换成图片。

安装 dompdf 扩展。

composer require dompdf/dompdf
Copier après la connexion

使用以下代码将 HTML 页面转换成图片。

<?php
use Dompdf\Dompdf;

$html = file_get_contents(&#39;http://www.baidu.com&#39;);
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->render();
$file = './baidu.png';
file_put_contents($file, $dompdf->output());
Copier après la connexion

在上述代码中,使用 file_get_contents 获取页面 HTML 内容,然后使用 Dompdf 在服务器端渲染成图片,并将其保存到本地。

  1. 使用 phantomjs 扩展

dompdf 类似,phantomjs 也是一个能够将 HTML 页面渲染成图片的工具。安装 phantomjs 库。

sudo apt-get install phantomjs
Copier après la connexion

然后使用以下代码将 HTML 页面转换成图片。

<?php
$html = file_get_contents('http://www.baidu.com');
$command = 'phantomjs rasterize.js ' . escapeshellarg($html) . ' ./baidu.png 800px*600px';
$result = shell_exec($command);
Copier après la connexion

在上述代码中,phantomjs 命令使用了 rasterize.js 脚本来完成页面渲染。其中,第一个参数是要渲染的 HTML 内容,第二个参数为输出文件,第三个参数为输出图片的尺寸。

  1. 总结

本文介绍了如何使用 PHP 将 HTML 页面转换成图片。我们可以使用 wkhtmltoimagedompdfphantomjs

En prenant wkhtmltoimage comme exemple, vous devez d'abord installer la bibliothèque wkhtmltox sur le serveur. 🎜rrreee🎜Ensuite, installez l'extension PHP php-wkhtmltox. 🎜rrreee
    🎜Utilisez l'extension wkhtmltoimage🎜🎜🎜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. 🎜
      🎜Utilisez l'extension 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. 🎜
        🎜Résumé🎜🎜🎜Cet article explique comment utiliser PHP pour convertir des pages HTML en images. Nous pouvons utiliser des extensions telles que 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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal