urlbox / screenshots
Use urlbox to easily generate website thumbnail screenshots from a URL
Installs: 197 316
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 3
Forks: 5
Open Issues: 4
Requires
- php: ^7.4|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^7.5.0
Requires (Dev)
- mockery/mockery: ^1.5
- phpunit/php-code-coverage: ^9.2.18
- phpunit/phpunit: ^9.5.26
This package is auto-updated.
Last update: 2024-12-11 10:58:48 UTC
README
Capture highly accurate webpage screenshots of any site using Urlbox.io in PHP
This package uses the Urlbox.io screenshot as a service to generate website screenshots.
Installation
This package can be installed through Composer.
composer require urlbox/screenshots
Laravel Setup
When using Laravel, if you are using a version pre v5.5 you will need to include the Service Provider manually:
// app/config/app.php 'providers' => [ // ... 'Urlbox\Screenshots\UrlboxProvider' ];
Setup your API keys:
// config/services.php 'urlbox' => [ 'key' => env('URLBOX_KEY'), 'secret' => env('URLBOX_SECRET'), 'webhook_secret' => env('URLBOX_WEBHOOK_SECRET'), ];
and in your .env file:
# URLBOX
URLBOX_KEY=YOUR_URLBOX_KEY
URLBOX_SECRET=YOUR_URLBOX_SECRET
URLBOX_WEBHOOK_SECRET=YOUR_URLBOX_WEBHOOK_SECRET
You can find your API Credentials and Webhook Secret here
Usage
You will need a Urlbox account to use this package. Please signup here and get your API Key and Secret from the Urlbox dashboard once you have logged in.
Here is a sample call to generate a Urlbox screenshot URL:
use Urlbox\Screenshots\Urlbox; $urlbox = Urlbox::fromCredentials( 'API_KEY', 'API_SECRET' ); $options = [ // only required option is a url: 'url' => 'example.com', // specify any other options to augment the screenshot... 'width' => 1280, 'height' => 1024, ]; // Create the Urlbox URL $urlboxUrl = $urlbox->generateSignedUrl( $options ); // $urlboxUrl is now 'https://api.urlbox.io/v1/API_KEY/TOKEN/png?url=example.com' // Generate a screenshot by loading the Urlbox URL in an img tag: echo '<img src="' . $urlboxUrl . '" alt="Test screenshot generated by Urlbox">'
If you're using Laravel and have set up the service provider, you can use the Facade provided:
use Urlbox\Screenshots\Facades\Urlbox; $options = [ 'url' => 'example.com' ]; $urlboxUrl = Urlbox::generateUrl( $options ); // $urlboxUrl is now 'https://api.urlbox.io/v1/API_KEY/TOKEN/png?url=example.com'
You can now use the result ($urlboxUrl
) by placing it inside an <img/>
tag as the src
parameter.
When you load the image, a screenshot of example.com will be returned.
Options
You can find the full list of available options within the docs. Below is a list of the most commonly used options:
Other implementations
Contributing
We are open to pull requests.
Security
If you discover any security related issues, please email services@urlbox.io instead of using the issue tracker.
About Urlbox
Urlbox is a premium Screenshot as a Service API. It lets you render highly accurate screenshots of webpages and display them anywhere you like. Urlbox.io.
License
The MIT License (MIT).