webページを画像で生成することは可能でしょうか?

例えば、phpで動的に生成したテキスト情報やページ内のjpgを全部ひっくるめて、そのまま1枚の画像にして保存したいと思っています。
生成された画像は、webページと全く同じレイアウトでなくてもよいです。

ここで問題になってくるのが、ハードコピーとか、WebScan等のようなクライアントマシンにアプリケーションをインストールして…とかではなく、サーバ側で完結させたいということです。
イメージで言いますと、googleのような検索エンジンで任意のキーワードで検索した結果のページに「このページを画像にする」ボタンがあって、それをクリックするとページ全体の画像が生成される…といった具合です。
phpのGDでなんとかできないかと思っておりますが、とても難しそうなので、他に方法がありましたら教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2009/11/16 14:25:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:zifree No.2

回答回数175ベストアンサー獲得回数6

ポイント35pt

LinuxだとXvfbで仮想フレームバッファを生成して、

そこでfirefoxを立ち上げ、Webページのサムネイル作成やキャプチャをしている人が結構いるようです。

http://d.hatena.ne.jp/pomo123/20080430/1209532590

Xvfbとは仮想的にXを立ち上げて、Xが起動していないマシンでX上のプログラムや

ライブラリを使うためのライブラリです。

webページ全体をキャプチャするのであればfirefoxのウインドウを大きくしておかないと

ページの一部が切れそうなのが難点ですが・・・。

 

また、HTMLやXMLの文書をCSSを用いてPDFに変換するミドルウェアもあります。

ただし

「指定したURLのWebページを一括して自動変換する、といった使い方には不向き」

と明記されていますが・・・。

http://www.cssj.jp/

 

その他、Webサイトのスクリーンショットやサムネイル作成について言及されたページ

http://jamz.jp/tech/2006/03/website-screen-capture-on-server.htm...

http://jamz.jp/tech/2006/06/links-website-screen-capture.html

http://zapanet.info/blog/item/955

その他の回答1件)

id:koujirou6218 No.1

回答回数597ベストアンサー獲得回数47

ポイント35pt

イメージとしてはウェブ魚拓だと思います。

サーバのOSによって手法は異なるのですが、手法としては

  1. PHPからWebブラウザを起動する
  2. スクリーンショットを取る
  3. GDか何かで画像にする

http://www.phppro.jp/qa/2052

この方法はWebサーバ内で完結しサーバ内にサイトの画像を保存することになります。

また、JavaScriptなど取得して表示しているサイトをよくみるのでJavaScriptでも可能だと思います。

前述した方法は安価なレンタルサーバではlinxのようなテキストブラウザしかもっていない場合はGUIのブラウザをインストール必要があります。

ただ、サイトをサムネイル化するAPIも多数出回っておりますので利用頻度やセキュリティ面で都合が合えばそちらを利用するのも検討してはいかがでしょうか。

http://f32.aaa.livedoor.jp/~azusa/print.php?t=topic&p=thumbnail&...

id:zifree No.2

回答回数175ベストアンサー獲得回数6ここでベストアンサー

ポイント35pt

LinuxだとXvfbで仮想フレームバッファを生成して、

そこでfirefoxを立ち上げ、Webページのサムネイル作成やキャプチャをしている人が結構いるようです。

http://d.hatena.ne.jp/pomo123/20080430/1209532590

Xvfbとは仮想的にXを立ち上げて、Xが起動していないマシンでX上のプログラムや

ライブラリを使うためのライブラリです。

webページ全体をキャプチャするのであればfirefoxのウインドウを大きくしておかないと

ページの一部が切れそうなのが難点ですが・・・。

 

また、HTMLやXMLの文書をCSSを用いてPDFに変換するミドルウェアもあります。

ただし

「指定したURLのWebページを一括して自動変換する、といった使い方には不向き」

と明記されていますが・・・。

http://www.cssj.jp/

 

その他、Webサイトのスクリーンショットやサムネイル作成について言及されたページ

http://jamz.jp/tech/2006/03/website-screen-capture-on-server.htm...

http://jamz.jp/tech/2006/06/links-website-screen-capture.html

http://zapanet.info/blog/item/955

  • id:kn1967
    キーワードだけなので、コメント欄。

    (1)OS非依存
    html2ps  htmlをレンダリングしてps形式出力(php版、perl版などあり)
    (2)比較的OS非依存
    mozilla2ps Mozillaの印刷出力部分を使ってps形式出力
    (3)UnixライクOS
    回答1にあるような方法
    (4)windowsOS
    url2png  
    url2jpeg

    ってところかしら・・・。
  • id:pxi13773
    みなさん回答ありがとうございました!
    たすかりました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません