SnapThis is a screenshot service that will convert an URL or HTML payload into a PNG image or PDF file.
You can install the package via composer:
composer require stechstudio/snapthis
Store your API key in the .env file:
SNAPTHIS_API_KEY=[your api key]
Take a snapshot by using the snapshot
or pdf
methods. Return this result from a controller method to redirect to the snapshot:
use SnapThis;
// Will take a PNG image snapshot and redirect the user:
return SnapThis::snapshot('https://laravel.com');
Or add the download
method to force the snapshot to download for your user.
return SnapThis::pdf('https://laravel.com')->download();
To get the raw binary contents use the contents
method:
$contents = SnapThis::pdf('https://laravel.com')->contents();
You can pass in an HTML string instead of a URL:
SnapThis::pdf("<strong>Hello there</strong>");
You can also pass in a blade view, then simply chain the snapshot
or pdf
methods.
$users = User::all();
return SnapThis::view('reports.users', ['users' => $users])->pdf();
There are quite a few options for customizing the snapshot. Documentation coming!
The MIT License (MIT). Please see License File for more information.