Skip to content

lciolecki/webshot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webshot screen server

Webshot Screen Server it's an web application for generate website screenshots. System is based on CutyCapt application (http://cutycapt.sourceforge.net). It's allows you to take screenshots of any web pages and save them as images in png formats. Application was created in PHP technology and uses Zend Framework whith Doctrine 2.

Required: xvfb-run and cutycapt applications.

Avaiable options: url,min-width,min-height,max-wait,delay,user-style-path,user-style-string,header,method,body-string,body-base64,app-name,app-version,user-agent,app,javascript,java,plugins,private-browsing,auto-load-images,js-can-open-windows,js-can-access-clipboard,print-backgrounds,zoom-factor,zoom-text-only,http-proxy.

##Installation using Composer

{
    "minimum-stability": "dev",
    "require": {
        "lciolecki/webshot": "dev-master"
    }
}

Important: For property install, please use: composer install -o

#Sample use in Zend Framework

public function webshotAction()
{
        $params = array(
          'url' => 'http://google.pl',
          'hash' => '2131sada', //unique identifcator of service
          'sign' => 'adad13123' //sign key for http://google.pl + 2131sada
        );
        
        $url = 'yourdomain/api/create';            
        $client = new Zend_Http_Client($url);
        $client->setMethod(Zend_Http_Client::POST)
               ->setHeaders('X-Requested-With', 'XMLHttpRequest') 
               ->setParameterPost($params)
               ->setConfig(array('timeout' => 180));
        
        $response = $client->request();
        
        $return = Zend_Json::decode($response->getBody());
        $code = isset($return['code']) ? $return['code'] : 200;
    
      if ($code === 200) {
          $this->_helper->viewRenderer->setNoRender(true);
          $this->_helper->layout->disableLayout();
          
          $content = file_get_contents($return['image']);
          $this->getResponse()->setHeader('Content-type', 'image/png');
          $this->getResponse()->setBody($content);
          $this->getResponse()->sendResponse();  
        } else {
          throw new Exception('An error on generate screenshot');
        }
    }

About

PHP application for generate screenshots web pages

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published