我想用php 一些其他的手段在执行的时候 可以,把浏览器当前页面截取,并保存成图片,curl用过不行,有没有更好的办法

解决方案 »

  1.   

    用firefox 
    pearl插件
      

  2.   

    PHP5.2.2以上版本的GD库实现了两个截屏函数imagegrabscreen和imagegrabwindow,分别用于截取整个屏幕和截取某个窗口(同ALT+PrintScreen)的屏幕。调用方法也很简单,请看下面两个例子:1.截取整个屏幕:<?php
    $im = imagegrabscreen();
    imagepng($im, "gd_screen.png");
    ?> 2.截取IE浏览器的内容:<?php
    $ie = new COM("InternetExplorer.Application") or die("Can't start Internet Explorer");
    try {
        $handle = $ie->HWND;
        $ie->Visible = true;
        $ie->Navigate("http://www.php.net");
     
        while ($ie->Busy) {
         com_message_pump(4000);
        }
    } catch (com_exception $e) {
        echo $e;
    }
     
    $im = imagegrabwindow($handle, 0);
    imagepng($im, "gd_window.png");
    $ie->Quit();
    ?>
    网上搜的,我没测试,你试试吧
      

  3.   

    对不起,可能我说的有问题·我希望做的是在服务器端(linux)下运行,获取某一个url的截屏,
    1.这样抓屏就不可能实现了。
    2.通过curl在别人的站点上获取快照,因为要考虑网站的运行速度所以这个方法也不行,
    3.通过java运行可以,不过生成的图片的样式不能读取,分析下原因可能是因为java包的解释器可能没有对html的css做比较全面的解释造成,一些简单的样式可以转成图片,复杂样式还是不行,页面是乱的。
    4.通过pdf问题一样,还是样式有问题,相信问题还是同3,
    5.现在正在尝试通过linux组建html2image来实现正在尝试中,
    知道各位大虾还有没有好的办法......thank you