Web 開発では、検証コードや電子メールのスクリーンショットの生成などの機能のために、HTML ページを画像に変換する必要があることがよくあります。非常に人気のあるサーバー スクリプト言語である PHP は、HTML を画像に変換することもできます。この記事では、PHP を使用して HTML ページを画像に変換する方法を説明します。
具体的な実装を紹介する前に、HTML を画像に変換する原理を簡単に理解しましょう。一般的な方法は、サードパーティのライブラリを使用して HTML ページを画像にレンダリングし、その画像をブラウザに出力するか、ファイルとして保存することです。
PHP は HTML から画像への変換をネイティブにサポートしていないため、サードパーティの拡張機能に依存する必要があります。最も人気のあるものには、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
ファイル。
Web ページ アドレスからの画像の変換に加えて、ローカル HTML ファイルを画像に変換することもできます。
<?php $command = 'wkhtmltoimage ./local.html ./local.jpg'; $result = shell_exec($command);
dompdf
extensiondompdf
は、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 コンテンツ、2 番目のパラメータは出力ファイル、3 番目のパラメータは出力画像のサイズです。
この記事では、PHP を使用して HTML ページを画像に変換する方法について説明します。 wkhtmltoimage
、dompdf
、phantomjs
などの拡張機能を使用して、この機能を実現できます。さまざまな拡張機能を使用する場合は、その依存環境のインストールと関連ライブラリの使用にも注意する必要があります。
以上がPHPを使用してHTMLページを画像に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。