plus rapide que le toCanvas pleine page sur une page longue
Remplacez html2canvas.
Utilisez SnapDOM.
SnapDOM capture une seule fois un sous-arbre du DOM et renvoie un résultat réutilisable. Exportez-le en PNG, JPG, WebP, SVG, Canvas ou Blob, ou ajoutez un format personnalisé avec un plugin.

Découvrez Mr. SnapDOM
Mascotte officielle et gardien de captures DOM plus rapides et plus fidèles.
Pourquoi remplacer html2canvas ?
html2canvas interprète la page et redessine le CSS pris en charge dans un canvas. SnapDOM produit une représentation DOM autonome pouvant être exportée plusieurs fois.
Mesurés sur le même DOM
Accélération de la version actuelle de SnapDOM face à chaque concurrent dans Chromium. Plus la valeur est élevée, mieux c’est. Résultats du benchmark Vitest public du projet.
Nœud simple
Nœud complexe
plus rapide que html2canvas pour un PNG rasterisé à l’échelle 2
plus rapide sur une galerie d’images d’arrière-plan
git clone https://github.com/zumerlab/snapdom.git
cd snapdom
npm install
npm run test:benchmarkMigrez en trois minutes
Conservez votre interface et changez de moteur de capture.
Installez
Ajoutez le paquet @zumer/snapdom ou utilisez le CDN.
Remplacez l’appel
Passez le même élément à snapdom.toPng().
Réutilisez le DOM
Capturez une fois puis exportez plusieurs fois sans nouveau clonage.
Comparez les alternatives
Ces bibliothèques répondent à des besoins proches, mais diffèrent par leur architecture, leur maintenance et leur modèle d’extension.
html2canvas
Moteur de rendu CanvasPopulaire et familier, mais il interprète la page et redessine dans Canvas les propriétés CSS prises en charge.
html-to-image
Fork maintenuUn fork plus maintenable de dom-to-image avec des méthodes d’export pratiques, fondé sur la même approche SVG foreignObject.
dom-to-image
L’original influentLe projet qui a inspiré de nombreux successeurs. Simple et important, même si son architecture accuse son âge.
dom-to-image-more
Successeur corrigéAjoute des correctifs utiles et la prise en charge des iframes tout en conservant l’architecture et l’API d’origine.
Pour les nouveaux projets de capture DOM côté client, SnapDOM offre davantage de possibilités qu’une API fixe d’export d’images.
Les plugins font partie de l’architecture
Ils peuvent intervenir pendant la capture, transformer le résultat et enregistrer de nouveaux formats d’export.
Contrôlez l’entrée
Filtrez les nœuds, remplacez le contenu et préparez le DOM avant l’export.
+Modifiez le résultat
Combinez filtres, calques et post-traitement sans modifier le cœur.
+Créez un format
Allez au-delà des images avec des exports ASCII, PDF ou orientés prompts.
+Construisez votre flux
Enregistrez les plugins globalement ou par capture et combinez-les librement.
+Recettes courantes
Les quelques modèles utiles dans la plupart des produits.
import { snapdom } from 'snapdom'
const card = document.querySelector('#card')
const image = await snapdom.toPng(card)
await image.download({ filename: 'card.png' })Capturez le DOM résolu par le navigateur
Au moment de la capture, la mise en page, les polices et les styles sont déjà résolus. SnapDOM conserve cet état dans une représentation portable au lieu d’implémenter un second moteur CSS.
Questions avant de migrer
01SnapDOM est-il seulement une bibliothèque de captures ?+
Non. C’est un moteur de capture DOM : snapdom() crée une représentation réutilisable qui peut être transformée et exportée plusieurs fois.
02Puis-je créer un format personnalisé ?+
Oui. Le système de plugins permet d’ajouter des exportateurs et d’intervenir dans le pipeline de capture.
03Puis-je toujours obtenir un Canvas ?+
Oui. Utilisez snapdom.toCanvas(element), ou choisissez PNG, JPG, WebP, SVG et Blob.
04Et les images provenant d’autres domaines ?+
Les règles de sécurité du navigateur s’appliquent toujours. SnapDOM propose useProxy pour les ressources bloquées par CORS.
Migrez d’abord une capture.
Comparez le résultat dans les navigateurs pris en charge, puis supprimez l’ancienne dépendance.