2017 © Pedro Peláez
 

yii2-extension yii2-wbsite-screenshot

wbsite-screenshot for yii2 web application

image

aki/yii2-wbsite-screenshot

wbsite-screenshot for yii2 web application

  • Wednesday, April 4, 2018
  • by akbarjoody
  • Repository
  • 1 Watchers
  • 0 Stars
  • 3 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Screen

Web site screenshot tool based on PHP and PhantomJS You can use it to take screenshots for testing or monitoring service, (*1)

Install

Via Composer, (*2)

php composer.phar require --prefer-dist aki/yii2-wbsite-screenshot:dev-master

or add, (*3)

"aki/yii2-wbsite-screenshot": "dev-master"

If on any unix system, you need to make the bin executable chmod +x /path/to/screen/bin/phantomjs, (*4)

The directory /path/to/screen/jobs must be writeble as well., (*5)

Linux requirements

  • FontConfig - apt-get/yum install fontconfig
  • FreeType - apt-get/yum install freetype*

Usage

With this library you can make use of PhantomJs to screenshot a website., (*6)

Check our demo or read the following instructions., (*7)

Creating the object, you can either pass the url on the constructer or set it later on ``` php use aki\screenshot\ScreenShot;, (*8)

$url = 'https://github.com';, (*9)

$screenCapture = new ScreenShot($url); // or $screenCapture = new ScreenShot(); $screenCapture->setUrl($url);, (*10)


You can also set the browser dimensions ``` php $screenCapture->setWidth(1200); $screenCapture->setHeight(800);

you can set also DOM Element Position (top, left) ``` php $screenCapture->setTop(100); $screenCapture->setLeft(100);, (*11)


This will output all the page including the content rendered beyond the setted dimensions (e.g.: all the scrollable content), if you want just the content inside those boudaries you need to clip the result ``` php // You also need to set the width and height. $screenCapture->setClipWidth(1200); $screenCapture->setClipHeight(800);

Some webpages don't have a background color setted to the body, if you want you can set the color using this method ``` php $screenCapture->setBackgroundColor('#ffffff');, (*12)


You can also set the User Agent ``` php $screenCapture->setUserAgentString('Some User Agent String');

And the resulted image type ``` php // allowed types are 'jpg' and 'png', default is 'jpg'. $screenCapture->setImageType(Screen\Image\Types\Png::FORMAT); // or $screenCapture->setImageType('png');, (*13)

* If the format is ```jpg``` and the background color is not set, the default value will be ```#FFFFFF```, if ```png``` the default background color will be transparent.

And most importantly, save the result
``` php
$fileLocation = '/some/dir/test.' . $screen->getImageType()->getFormat();
$screenCapture->save($fileLocation);

// you don't need to set the file extension
$fileLocation = '/some/dir/test';
$screenCapture->save($fileLocation); // Will automatically determine the extension type

echo $screenCapture->getImageLocation(); // --> /some/dir/test.png

Injection your own JS into the web page

You can also run your own JS scripts or snippets before the screenshot., (*14)

For that we have the method includeJs, here are some usage examples:, (*15)

``` php // Including a remote file $jQueryUrl = 'https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js'; $screenCapture->includeJs(new \Screen\Injection\Url($jQUeryUrl));, (*16)

// Including a local file $localFilePath = 'path/to/my/script.js'; $screenCapture->includeJs(new \Screen\Injection\LocalPath($localFilePath));, (*17)

// Using the scripts included on the library $screen->includeJs(new \Screen\Injection\Scripts\FacebookHideCookiesPolicy()); $screen->includeJs(new \Screen\Injection\Scripts\FacebookHideSignUp());, (*18)

// Using a js snippet $screen->includeJs("console.log('This is supa cool!');");, (*19)


Just use this method before calling ```save(...)``` ##Passing options to PhantomJS You can set the options that will be passed to the PhantomJS binary. ``` php $screenCapture->setOptions([ 'ignore-ssl-errors' => 'yes', // '--ignore-ssl-errors' => 'yes', // dashes may be omitted ]);

Other configurations

Additionally to the basic usage, you can set so extra configurations., (*20)

You can change the where the PhantomJS binary file is. ``` php $screenCapture->binPath = '/path/to/bin/dir/'; // This will result in /path/to/bin/dir/phantomjs, (*21)


Change the jobs location ``` php $screenCapture->jobs->setLocation('/path/to/jobs/dir/'); echo $screenCapture->jobs->getLocation(); // -> /path/to/jobs/dir/

And set an output base location ``` php $screenCapture->output->setLocation('/path/to/output/dir/'); echo $screenCapture->output->getLocation(); // -> /path/to/output/dir/, (*22)

// if the output location is setted $screenCapture->save('file.jpg'); // will save the file to /path/to/output/dir/file.jpg, (*23)


You can also clean/delete all the generated job files like this: ``` php $screenCapture->jobs->clean();

License

The MIT License (MIT). Please see License File for more information., (*24)

The Versions

04/04 2018

dev-master

9999999-dev

wbsite-screenshot for yii2 web application

  Sources   Download

MIT

The Requires

 

by akbar joudi

extension yii2 screenshot website-screenshot screen yii2-wbsite-screenshot

28/03 2018

1.0.1

1.0.1.0

wbsite-screenshot for yii2 web application

  Sources   Download

MIT

The Requires

 

by akbar joudi

extension yii2 screenshot website-screenshot screen yii2-wbsite-screenshot

28/03 2018

1.0

1.0.0.0

wbsite-screenshot for yii2 web application

  Sources   Download

MIT

The Requires

 

by akbar joudi

extension yii2 screenshot website-screenshot screen yii2-wbsite-screenshot