PHPを使用してHTMLページを画像に変換する方法

PHPz
リリース: 2023-04-03 15:40:02
オリジナル
1534 人が閲覧しました

Web 開発では、検証コードや電子メールのスクリーンショットの生成などの機能のために、HTML ページを画像に変換する必要があることがよくあります。非常に人気のあるサーバー スクリプト言語である PHP は、HTML を画像に変換することもできます。この記事では、PHP を使用して HTML ページを画像に変換する方法を説明します。

  1. HTML を画像に変換する原理を理解する

具体的な実装を紹介する前に、HTML を画像に変換する原理を簡単に理解しましょう。一般的な方法は、サードパーティのライブラリを使用して HTML ページを画像にレンダリングし、その画像をブラウザに出力するか、ファイルとして保存することです。

  1. 必要な拡張機能をインストールします

PHP は HTML から画像への変換をネイティブにサポートしていないため、サードパーティの拡張機能に依存する必要があります。最も人気のあるものには、wkhtmltoimagedompdfphantomjs などがあります。

wkhtmltoimage を例に挙げると、最初に wkhtmltox ライブラリをサーバーにインストールする必要があります。

sudo apt-get update
sudo apt-get install wkhtmltopdf
ログイン後にコピー

次に、PHP 拡張機能 php-wkhtmltox をインストールします。

sudo apt-get install php-wkhtmltox
ログイン後にコピー
  1. wkhtmltoimage 拡張機能を使用する

wkhtmltoimage 拡張機能をインストールした後、次のコードを使用して HTML を変換できます。ページを写真にします。

<?php
$command = &#39;wkhtmltoimage http://www.baidu.com ./baidu.jpg&#39;;
$result = shell_exec($command);
ログイン後にコピー

上記のコードでは、wkhtmltoimage コマンドにより、http://www.baidu.com ページが画像にレンダリングされ、 として保存されます。 /baidu.jpg ファイル。

Web ページ アドレスからの画像の変換に加えて、ローカル HTML ファイルを画像に変換することもできます。

<?php
$command = &#39;wkhtmltoimage ./local.html ./local.jpg&#39;;
$result = shell_exec($command);
ログイン後にコピー
  1. Use dompdf extension

dompdf は、HTML を PDF に変換する PHP 拡張機能であり、HTML を画像に変換することもできます。

dompdf 拡張機能をインストールします。

composer require dompdf/dompdf
ログイン後にコピー

次のコードを使用して、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());
ログイン後にコピー

上記のコードでは、file_get_contents を使用してページの HTML コンテンツを取得し、Dompdf を使用してそれをサーバー側の画像にレンダリングして保存します。地元で。

  1. 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 番目のパラメータは出力画像のサイズです。

  1. 概要

この記事では、PHP を使用して HTML ページを画像に変換する方法について説明します。 wkhtmltoimagedompdfphantomjs などの拡張機能を使用して、この機能を実現できます。さまざまな拡張機能を使用する場合は、その依存環境のインストールと関連ライブラリの使用にも注意する必要があります。

以上がPHPを使用してHTMLページを画像に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート