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.