ホームページ >バックエンド開発 >PHPチュートリアル >LINUX で PHP Web ページのスナップショット (スクリーンショット) を生成する (xvfb および wkhtmltoimage)_PHP チュートリアル

LINUX で PHP Web ページのスナップショット (スクリーンショット) を生成する (xvfb および wkhtmltoimage)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:46:281413ブラウズ

PHP を使用してスクリーンショットを撮ったり、Web ページのスナップショットを実現するには、xvfb と wkhtmltoimagek というツールを使用する必要があります。このツールは現在 Linux システムでのみ利用可能です。興味のある方は以下を参照してください。

旅行ガイドを作成する場合、ガイドページから PDF と Jpg 画像を生成する必要があります。PDF 生成では「MPDF を使用して Html を PDF に生成」しますが、Jpg の HTML 生成が再びスタックします。初期段階では純粋なプログラムを使用してJpgを生成することを計画していましたが、他のWebサイトが提供するリモートAPIを呼び出してJpgを生成することを除いて、純粋なプログラム(GDライブラリと組み込み関数)を使用した完全な解決策は見つかりませんでした、またはカプセル化されたクラス)。

最後の手段として、拡張機能 wkhtmltoimage generated をインストールします。

インストール手順は次のとおりです:

1. サーバー側に wkhtmltoimage をダウンロードしてインストールします。Mood Sky では centos 5.8 32 ビットがインストールされます。しかし、wkhtmltoimage バージョン 0.11 をダウンロードしましたが、次のエラーが発生しました。

Pixmap: GUI が使用されていない場合は QPixmap を作成できません
QPixmap: GUI が使用されていない場合は QPixmap を作成できません
QPixmap: GUI が使用されていない場合は QPixmap を作成できません
QPixmap: GUI が使用されていない場合は QPixmap を作成できません
QPixmap: GUI が使用されていない場合は QPixmap を作成できません
QPixmap: GUI が使用されていない場合、QPixmap を作成できません。 最後に、Mood Sky は、正常に生成される前に、wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2 の下位バージョンをインストールしました。


32ビット
wget http://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2
tar jxf wkhtmltoimage-0.10.0_rc2-static-i386.tar.bz2
cp wkhtmltoimage-i386 /usr/local/bin/wkhtmltoimage

64 ビット
wget http://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.10.0_rc2-static-amd64.tar.bz2
mv wkhtmltoimage-0.10.0_rc2-static-amd64.tar.bz2 wkhtmltoimage-0.10.0_rc2-static-amd64.tar
tar -xvf wkhtmltoimage-0.10.0_rc2-static-amd64.tar
mv wkhtmltoimage-amd64 /usr/bin/wkhtmltoimage
以上です。インストールは成功しました。wkhtmltoimage http://www.bKjia.c0m/screenshot.png をテストできます

2. PHP は wkhtmltoimage を実行して画像を生成します

コードは次のとおりです コードをコピー

set_time_limit(0);
shell_exec('/usr/local/bin/wkhtmltoimage http://www.bKjia.c0m/ /usr/local/wwwroot/bKjia.c0m/5eyi.jpg');

foreach を使用してバッチを生成する場合は、各生成後に sleep(10) し、数秒間一時停止することをお勧めします。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632948.html技術記事 PHP を使用してスクリーンショットを撮ったり、Web ページのスナップショットを実現するには、xvfb と wkhtmltoimagek というツールを使用する必要があります。このツールは現在 Linux システムでのみ利用可能です。興味のある方は以下を参照してください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。