| Package Data | |
|---|---|
| Maintainer Username: | hotrush |
| Maintainer Contact: | johny64@gmail.com (rush) |
| Package Create Date: | 2016-01-05 |
| Package Last Update: | 2017-12-27 |
| Home Page: | https://packagist.org/packages/hotrush/webshotter |
| Language: | PHP |
| License: | MIT |
| Last Refreshed: | 2025-10-26 03:08:25 |
| Package Statistics | |
|---|---|
| Total Downloads: | 630 |
| Monthly Downloads: | 0 |
| Daily Downloads: | 0 |
| Total Stars: | 10 |
| Total Watchers: | 2 |
| Total Forks: | 1 |
| Total Open Issues: | 2 |
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.
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.
composer require hotrush/webshotter
After installing package via composer add a service provider to your config/app.php
// app/config/app.php
'providers' => [
...,
hotrush\Webshotter\WebshotServiceProvider::class
];
$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:
The MIT License (MIT). Please see License File for more information.