Skip to content

Comment capturer un site web en PDF avec une API

Guide pas à pas pour convertir n'importe quelle page web en PDF prêt à imprimer avec l'API ScreenshotCenter. Format papier, marges, en-têtes, pieds de page et graphiques d'arrière-plan.

Pourquoi utiliser une API pour la génération PDF ?

La génération PDF côté navigateur (via window.print() ou wkhtmltopdf) offre un contrôle limité sur le rendu. Les SPA modernes, les images chargées en différé et les mises en page riches en JavaScript produisent souvent des PDF cassés. Une API de génération PDF rend la page dans un vrai navigateur Chrome — le même moteur que vos visiteurs utilisent — et renvoie un PDF pixel-perfect.

Capture PDF basique

L'appel le plus simple ajoute pdf=true à une requête de capture :

curl "https://api.screenshotcenter.com/api/screenshot/create?url=https://example.com&pdf=true&key=YOUR_API_KEY"

Cela renvoie un PDF rendu au format papier par défaut (Letter) avec les marges par défaut de Chrome.

Contrôle du format et de l'orientation

Passez pdf_format pour sélectionner A4, A3, Letter, Legal ou Tabloid. Ajoutez pdf_landscape=true pour l'orientation paysage :

curl "https://api.screenshotcenter.com/api/screenshot/create?url=https://example.com&pdf=true&pdf_format=A4&pdf_landscape=true&key=YOUR_API_KEY"

Marges personnalisées

Utilisez pdf_margin_top, pdf_margin_bottom, pdf_margin_left et pdf_margin_right avec des valeurs de style CSS :

&pdf_margin_top=20mm&pdf_margin_bottom=20mm&pdf_margin_left=15mm&pdf_margin_right=15mm

Graphiques d'arrière-plan

Par défaut, Chrome supprime les couleurs et images d'arrière-plan à l'impression. Ajoutez pdf_background=true pour les conserver — essentiel pour les pages marketing, tableaux de bord et rapports.

PDF en une seule page

Besoin de tout le contenu sur une feuille continue ? Utilisez pdf_single_page=true. La hauteur du papier s'ajuste pour contenir tout le contenu rendu — utile pour les longs rapports ou factures.

Combinaison avec l'automatisation

Les PDF fonctionnent avec toutes les autres fonctionnalités de l'API. Vous pouvez automatiser des étapes de connexion avant de générer le PDF, router via un pays spécifique ou livrer le résultat directement vers S3 ou Google Drive.

Exemple Python

import screenshotcenter

client = screenshotcenter.Client(api_key="YOUR_API_KEY")

screenshot = client.create(
    url="https://example.com/invoice",
    pdf=True,
    pdf_format="A4",
    pdf_margin_top="20mm",
    pdf_margin_bottom="20mm",
    pdf_background=True,
)

# Télécharger le PDF
client.download(screenshot["id"], "invoice.pdf")

Consultez la documentation complète du SDK Python pour tous les paramètres disponibles.

Étapes suivantes

Pour la génération PDF par lots (des centaines de factures ou rapports), voir l'API de captures par lots. Pour des livrables clients automatisés, lire rapports clients avec captures et PDF.