ウェブサイトのスクリーンショット 質問する

ウェブサイトのスクリーンショット 質問する

PHP で Web サイトのスクリーンショットを撮り、それをファイルに保存する方法はありますか?

ベストアンサー1

最終編集:7年経った今でもこの回答に賛成票が集まっていますが、これですはるかに正確になりました。


もちろん可能ですが、ページをレンダリングする必要があります。本当にPHPだけを使いたいのであれば、HTMLトップスは、ページをレンダリングして ps ファイル (ghostscript) に出力し、それを .jpg、.png、.pdf などに変換します。複雑なページでは少し遅くなる可能性があります (また、すべての CSS をサポートしているわけではありません)。

それ以外の場合は、wkhtmlからpdfHTML ページを PDF、JPG などで出力します。CSS2.0 を受け入れ、Webkit (Safari のラッパー) を使用してページをレンダリングします。これで問題ないはずです。サーバーにもインストールする必要があります。

更新: 新しい HTML5 と JS の機能により、JavaScript を使用してページをキャンバス オブジェクトにレンダリングすることも可能になりました。これを行うための便利なライブラリは次のとおりです。HTML2キャンバスそしてここに実装があります同じ作者によるもので、G+ のようなフィードバックを得ることができます。DOM をキャンバスにレンダリングしたら、Ajax 経由でサーバーに送信し、jpg として保存できます。

編集: PDF を PNG に変換するには、imagemagick ツールを使用できます。私のバージョンの wkhtmltopdf は画像をサポートしていません。例convert html.pdf -append html.png:

編集この小さなシェルスクリプトphp5-cli と上記のツールを使用した Linux でのシンプルだが実用的な使用例を示します。

編集:wkhtmltopdfチームが別のプロジェクトに取り組んでいることに気付きました:wkhtmltoimage、これはjpgを直接提供します

おすすめ記事