hotrush/webshotter
Webshotter
Take website's screenshots with PHP/PhantomJS and save them to PNG, JPG or PDF.
Also you can take a look at simple microservice with lumen and this package - hotrush/Webshotter-microservice.
Changelog
0.1.6 - added waitForImages() and imagesLoadingTimeout
0.1.5 - custom $templatePath fixed, thanks to mizansyed
0.1.3 - added timeout property that allow to limit page load timeout (using onResourceTimeout phantomjs feature). If timeout reached TimeoutException will be thrown.
Installation
composer require hotrush/webshotter
Laravel installation
After installing package via composer add a service provider to your config/app.php
// app/config/app.php
'providers' => [
...,
hotrush\Webshotter\WebshotServiceProvider::class
];
Usage
$webshot = new hotrush\Webshotter\Webshot();
$jpg = $webshot
->setUrl('https://github.com')
->setWidth(1200)
->setHeight(800)
->setTimeout(5) // set timeout in seconds, 30 seconds default
->setFullPage(true) // set to true to get full page screenshot (width/height will be used for viewport only)
->waitForImages() // wait when all images will load
->setImagesLoadingTimeout() // images loading timeout, will failt if not loaded
->saveToPng('github', $path);
You can use saveToJpg, saveToPng or saveToPdf methods. This methods requires 2 parameters: file name (without extension) and target directory to save file. They all returns full path to saved file
If you want to use you own PhantomJs executable - you can specify path to it via constructor.
new hotrush\Webshotter\Webshot('/path/to/phantomjs');
Example screenshot:
License
The MIT License (MIT). Please see License File for more information.
Related Packages
Image manipulation library Lumen Framework based on Imagine and inspired by Crop...
Use urlbox to easily generate website thumbnail screenshots from a URL
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| 0.1.7 | >=5.4.0 | 4.*| | MIT | |
| 0.1.4 | >=5.4.0 | 4.*| | MIT | |
| 0.1.3 | >=5.4.0 | 4.*| | MIT | |
| 0.1.2 | >=5.4.0 | 4.*| | MIT | |
| 0.1.1 | >=5.4.0 | MIT | ||
| 0.1 | >=5.4.0 | MIT |
