1

次の関数を使用して、Webページのスクリーンショットを撮っています。

function my2()
{

    $Browser = new COM('InternetExplorer.Application');

    $Browserhandle = $Browser->HWND;

    $Browser->Visible = true;
    $Browser->Fullscreen = true;
    $Browser->Navigate('http://www.tatvic.com');

    while ($Browser->Busy)
    {
        com_message_pump(4000);
    }

    $img = imagegrabwindow($Browserhandle, 0);
    $Browser->Quit();
    imagepng($img, 'screenshot.png');
}

これはうまくいきます。ただし、これはスクリーン ショットであるため、ページ全体を撮影しているわけではありません。つまり、スクロールして表示できるページの一部を取得していないということです。

スクリプトが最初にページを25%または35%にズームアウトするか、a4サイズに変換してからスクリーンショットを撮り、ページ全体の画像を保存できるようにするにはどうすればよいですか??? .

ありがとうございました。

4

1 に答える 1

1

PhantomJSを見てください。これは、JavaScript をサポートするヘッドレス WebKit API です。つまり、表示するのに GUI/ブラウザは必要ありません。

ページ全体を取得し、PNG、SVG などに保存できます。

于 2012-07-09T15:21:26.673 に答える