PHPackages                             kulizh/screenshot-pages - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. kulizh/screenshot-pages

ActiveLibrary

kulizh/screenshot-pages
=======================

1.1.0(2y ago)15MITPHP

Since Oct 21Pushed 2y ago1 watchersCompare

[ Source](https://github.com/kulizh/screenshot-pages)[ Packagist](https://packagist.org/packages/kulizh/screenshot-pages)[ RSS](/packages/kulizh-screenshot-pages/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

Website Screenshoter
====================

[](#website-screenshoter)

It is server-side PHP-based implementation of Qurle's [Webiste screenshoter library](https://github.com/qurle/screenshot-pages).

Installation
------------

[](#installation)

Install package via Composer:

```
composer require kulizh/screenshot-pages
```

Configuring
-----------

[](#configuring)

Basically library uses JSON-file params.json that is placed nearby. But you can also use your own implementation of parametrization.

### Use params.json

[](#use-paramsjson)

While using params.json you shall do nothing but create the file:

```
{
    "path": "./screenshots",
    "viewports": [
        "1440x900",
        "360x900"
    ],
    "format": "png",
    "pages": [
        "https://kulizh.ru",
        "https://qurle.net"
    ]
}
```

### Use your own config

[](#use-your-own-config)

You can pass your own implementation of `ParametersInterface` in method `useParameters()`.

```
use ScreenshotPages\Helpers\Parameters\ParametersInterface;

class HardcodeParameters implements ParametersInterface
{
    public function getSaveFolder(): string
    {
    	return './result/';
    }

    public function getSaveFormat(): string
    {
    	return 'jpeg';
    }

    public function getPages(): array
    {
    	return [
    		'https://www.wikipedia.org/'
    	];
    }

    public function getViewports(): array
    {
    	return [
    		'1920x1080'
    	];
    }
}

$capture = new Capture();
$capture->use(new HardcodeParameters);
```

To make it easier feel free to extend abstract class `AbstractParameters` (that also implements interface), parameters are already preset there:

```
use ScreenshotPages\Helpers\Parameters\AbstractParameters;

class PresetParameters extends AbstractParameters
{

}

$capture = new Capture();
$capture->use(new PresetParameters);
```

Usage
-----

[](#usage)

Create instance of the class and choose how to execute script. If you run it via cli, use `verbose: true` for results to be shown in terminal. Quite mode is good when you use library in your project code.

After all preparations are made, use `make()` method:

```
use ScreenshotPages\Capture;

$capture = new Capture();
$capture->verbose = true; // To see cli output

$capture->make();
```

Usage from command line
-----------------------

[](#usage-from-command-line)

Since version 1.1.0 you may use library with verbose mode from command line:

```
vendor/bin/capture ./params.json
```

... where `./params.json` is relative path to JSON configuration file.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

934d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/af59b29f7584b4d09738657a0b73d172b90faf97eeeb3dafe6f00ba2681ebbba?d=identicon)[kulizh](/maintainers/kulizh)

---

Top Contributors

[![kulizh](https://avatars.githubusercontent.com/u/32977836?v=4)](https://github.com/kulizh "kulizh (3 commits)")

### Embed Badge

![Health badge](/badges/kulizh-screenshot-pages/health.svg)

```
[![Health](https://phpackages.com/badges/kulizh-screenshot-pages/health.svg)](https://phpackages.com/packages/kulizh-screenshot-pages)
```

###  Alternatives

[saasykit/laravel-open-graphy

An awesome open graph image (social cards) generator package for Laravel.

13057.0k](/packages/saasykit-laravel-open-graphy)[crwlr/crawler

Web crawling and scraping library.

37214.8k2](/packages/crwlr-crawler)[vormkracht10/laravel-open-graph-image

Laravel package to generate dynamic Open Graph images

7217.7k](/packages/vormkracht10-laravel-open-graph-image)[backstage/laravel-og-image

Laravel package to generate dynamic Open Graph images

723.2k](/packages/backstage-laravel-og-image)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
