In der Webentwicklung ist es häufig erforderlich, HTML-Seiten in Bilder umzuwandeln, um Funktionen wie die Generierung von Bestätigungscodes und E-Mail-Screenshots zu ermöglichen. Als sehr beliebte Server-Skriptsprache kann PHP auch HTML in Bilder konvertieren. In diesem Artikel wird erläutert, wie Sie mit PHP HTML-Seiten in Bilder konvertieren.
Bevor wir die spezifische Implementierung vorstellen, wollen wir kurz das Prinzip von HTML zu Bildern verstehen. Eine übliche Methode besteht darin, die HTML-Seite mithilfe einer Bibliothek eines Drittanbieters in ein Bild zu rendern und das Bild dann an den Browser auszugeben oder als Datei zu speichern.
PHP unterstützt die Konvertierung von HTML in Bilder nicht nativ und muss auf Erweiterungen von Drittanbietern zurückgreifen. Zu den bekannteren gehören wkhtmltoimage
, dompdf
, phantomjs
usw. 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
: Sie müssen zuerst die wkhtmltox
-Bibliothek auf dem Server installieren. 🎜rrreee🎜Dann installieren Sie die PHP-Erweiterung php-wkhtmltox
. 🎜rrreeewkhtmltoimage
🎜🎜🎜Nach der Installation der Erweiterung wkhtmltoimage
können Sie den folgenden Code verwenden, um HTML-Seiten in Bilder umzuwandeln . 🎜rrreee🎜Im obigen Code rendert der Befehl wkhtmltoimage
die Seite http://www.baidu.com
in ein Bild und speichert es als ./baidu .jpg-Datei. 🎜🎜Neben der Konvertierung von Bildern aus Webadressen können Sie auch lokale HTML-Dateien in Bilder konvertieren: 🎜rrreee<ol start="4">🎜Verwenden Sie die <code>dompdf
-Erweiterung 🎜🎜🎜dompdf code> ist eine PHP-Erweiterung, die HTML in PDF konvertiert. Sie kann auch HTML in Bilder konvertieren. 🎜🎜Installieren Sie die Erweiterung <code>dompdf
. 🎜rrreee🎜Verwenden Sie den folgenden Code, um HTML-Seiten in Bilder umzuwandeln. 🎜rrreee🎜Verwenden Sie im obigen Code file_get_contents
, um den HTML-Inhalt der Seite abzurufen, und verwenden Sie dann Dompdf
, um ihn serverseitig in ein Bild zu rendern und lokal zu speichern. 🎜phantomjs
-Erweiterung🎜🎜🎜Ähnlich wie dompdf
ist auch phantomjs
ein Tool, das rendern kann HTML-Seiten in Bildtools umwandeln. Installieren Sie die phantomjs
-Bibliothek. 🎜rrreee🎜Dann verwenden Sie den folgenden Code, um die HTML-Seite in ein Bild umzuwandeln. 🎜rrreee🎜Im obigen Code verwendet der Befehl phantomjs
das Skript rasterize.js
, um das Rendern der Seite abzuschließen. Dabei ist der erste Parameter der darzustellende HTML-Inhalt, der zweite Parameter die Ausgabedatei und der dritte Parameter die Größe des Ausgabebildes. 🎜wkhtmltoimage
, dompdf
oder phantomjs
verwenden, um diese Funktionalität zu erreichen. Wenn Sie verschiedene Erweiterungen verwenden, müssen Sie auch auf die Installation der abhängigen Umgebung und die Verwendung zugehöriger Bibliotheken achten. 🎜Das obige ist der detaillierte Inhalt vonSo konvertieren Sie HTML-Seiten mit PHP in Bilder. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!