Skip to content
PHP

API screenshot PHP pour capture web et PDF

Ajoutez la capture à toute appli PHP — Laravel, Symfony, extensions WordPress ou scripts. Sans wkhtmltopdf ni Puppeteer.

Ce que vous pouvez construire

CMS et WordPress

Aperçus de liens, images de partage social et exports PDF depuis le CMS.

PDF factures et rapports

HTML stylé vers PDF fidèle — format, marges, en-têtes et pieds de page.

Captures authentifiées

Commandes d’automatisation pour portails clients, admin et contenus réservés.

Supervision planifiée

Jobs Laravel Scheduler ou cron pour surveiller l’apparence du site par pays.

Ce que l’API gère pour vous

Tous les formats de capture

PNG, JPEG, WebP, PDF pleine page, HTML brut et vidéos.

Commandes d’automatisation

Clics, saisie, défilement, navigation et attentes.

Routage dans plus de 80 pays

Rendu depuis de vrais navigateurs dans le pays cible.

Plus de 14 intégrations d’apps

S3, Google Drive, Dropbox, Slack, etc.

Lots et crawl

Sitemaps et exploration avec nouvelles tentatives.

Navigateurs sur site

Dans votre réseau pour conformité ou latence.

Installation

terminal
composer require screenshotcenter/screenshotcenter
Disponible sur Packagistpackagist.org/packages/screenshotcenter/screenshotcenter

Exemple simple

index.php
use ScreenshotCenter\Client;

$client = new Client(getenv('SCREENSHOTCENTER_API_KEY'));

// Take a screenshot and wait for it to finish
$shot   = $client->screenshot->create('https://example.com');
$result = $client->waitFor($shot['id']);
echo $result['url'];     // final URL
echo $result['status'];  // "finished"

Autres exemples

Ciblage géographique
$shot = $client->screenshot->create('https://example.com', [
    'country' => 'fr',
    'lang'    => 'fr-FR',
    'tz'      => 'Europe/Paris',
]);
$done = $client->waitFor($shot['id']);
$client->screenshot->saveImage($done['id'], '/tmp/fr.png');
Génération de PDF
$shot = $client->screenshot->create('https://example.com', ['pdf' => true]);
$done = $client->waitFor($shot['id']);
$client->screenshot->savePdf($done['id'], '/tmp/page.pdf');
Gestion des erreurs
use ScreenshotCenter\Errors\ApiError;
use ScreenshotCenter\Errors\TimeoutError;
use ScreenshotCenter\Errors\ScreenshotFailedError;

try {
    $result = $client->waitFor($shot['id'], interval: 2.0, timeout: 60.0);
} catch (ScreenshotFailedError $e) {
    echo "Screenshot failed: {$e->error}";
} catch (TimeoutError $e) {
    echo "Timed out after {$e->timeoutMs}ms";
} catch (ApiError $e) {
    echo "API error {$e->status}: {$e->getMessage()}";
}
Crawl de site web
$crawl = $client->crawl->create('https://example.com', 'example.com', 100);
$result = $client->crawl->waitFor($crawl['id']);
echo $result['total_discovered'];  // pages found

Ressources

Questions fréquentes

Faut-il wkhtmltopdf pour les PDF ?

Non. Rendu dans de vrais navigateurs avec CSS, JavaScript et polices web complets.

Compatible Laravel ?

Oui. Installation Composer, utilisation dans contrôleurs, jobs ou commandes Artisan.

Pages derrière une connexion ?

Oui. Commandes d’automatisation pour parcourir les flux de connexion.

PHP 8 pris en charge ?

Oui. SDK pour PHP 8.0+ avec fonctionnalités modernes.

À voir aussi

Commencez à capturer avec PHP dès aujourd’hui

500 captures offertes à l’essai — sans carte bancaire. Installez le SDK et réalisez votre première capture en quelques minutes.