Una biblioteca 3D de JavaScript que facilita crear y renderizar escenas 3D en el navegador con WebGL y WebGPU.
zumerlab/snapdom
Motor JavaScript para navegador que captura elementos del DOM y los exporta como SVG, PNG, JPG, WebP, canvas o Blob, con plugins para HTML, PDF, vectores, GIF y video.
Alternativa open source a:html2canvas
- Estrellas
- 8,197
- Forks
- 307
- Issues abiertos
- 5
- Último commit
- hace 15 horas
¿Qué es?
SnapDOM captura un elemento del DOM de la página y lo convierte en imágenes como SVG, PNG, JPG, WebP, canvas o Blob. Una captura puede reutilizarse para obtener varios formatos, y el resultado conserva el estado capturado aunque el elemento de origen cambie después.
Los plugins oficiales amplían la misma captura para generar HTML autocontenido, PDF paginado y con texto que se puede buscar, vectores SVG editables con datos para el portapapeles de Figma, contexto en texto o JSON para agentes, GIF animado y video codificado en el navegador. Se pueden crear exportadores personalizados usando los hooks documentados para plugins. El núcleo no tiene dependencias y funciona íntegramente en el navegador; necesita un entorno DOM y no funciona en Node.js sin configuración adicional.
La biblioteca incluye opciones para el tamaño de salida, DPR, color de fondo, excluir u ocultar elementos, incrustar fuentes web y recortar. Las exportaciones de archivos PNG admiten capturas que superan los límites de tamaño del canvas, y una opción de recorte independiente permite rasterizar páginas grandes por partes.
Funciones clave
- 01Captura elementos del DOM como SVG, PNG, JPG, WebP, canvas o Blob en una sola captura.
- 02Reutiliza capturas sin cambios y reconstruye solo los subárboles afectados por cambios pequeños.
- 03Los plugins oficiales exportan HTML, PDF, vectores editables, GIF y video.
- 04Los hooks para plugins permiten crear exportadores personalizados.
- 05Las opciones controlan el tamaño, la escala, el fondo, los elementos excluidos y la incrustación de fuentes.
- 06Funciona en el navegador mediante un módulo ES, una etiqueta script o declaraciones de TypeScript.
Casos de uso
- Compartir desde una aplicación web un dashboard, gráfico o factura como imagen.
- Generar informes PDF o páginas listas para imprimir a partir del contenido renderizado de una página.
- Exportar ilustraciones vectoriales editables o pegar diseños en Figma.
- Proporcionar a agentes de IA una vista textual o en imagen del contenido de la página.
Inicio rápido
- 1
Instala el paquete principal con npm
npm i @zumer/snapdom - 2
Importa snapdom y exporta un elemento a PNG
Antes de usarlo
- SnapDOM necesita el DOM de un navegador, por lo que Node.js en el servidor requiere un entorno de navegador.
- Las imágenes, fuentes y hojas de estilo de otros orígenes necesitan recursos legibles o un proxy; los iframes de otros orígenes se muestran como marcadores de posición.
- La salida SVG depende de foreignObject, por lo que la compatibilidad varía fuera de los navegadores.
Temas
Preguntas frecuentes
- ¿Qué es snapdom?
- Motor JavaScript para navegador que captura elementos del DOM y los exporta como SVG, PNG, JPG, WebP, canvas o Blob, con plugins para HTML, PDF, vectores, GIF y video. SnapDOM captura un elemento del DOM de la página y lo convierte en imágenes como SVG, PNG, JPG, WebP, canvas o Blob. Una captura puede reutilizarse para obtener varios formatos, y el resultado conserva el estado capturado aunque el elemento de origen cambie después.
- ¿snapdom es gratuito? ¿Qué licencia tiene?
- snapdom es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿snapdom sigue mantenido?
- Mantenimiento activo. El último commit de snapdom fue el 20 oct 2026.
- ¿Para qué puedo usar snapdom?
- Compartir desde una aplicación web un dashboard, gráfico o factura como imagen. Generar informes PDF o páginas listas para imprimir a partir del contenido renderizado de una página. Exportar ilustraciones vectoriales editables o pegar diseños en Figma. Proporcionar a agentes de IA una vista textual o en imagen del contenido de la página.
- ¿Cómo se instala snapdom?
- Instala el paquete principal con npm: npm i @zumer/snapdom Importa snapdom y exporta un elemento a PNG
- ¿Dónde consigo snapdom?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/zumerlab/snapdom
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una biblioteca rápida de renderizado 2D para la web que dibuja gráficos, sprites y texto con WebGL y WebGPU.
SDK de pizarra con lienzo infinito, con licencia MIT, para apps de React, React Native y JavaScript, presentado como alternativa gratuita a tldraw.
Herramienta de capturas de pantalla multiplataforma en C++/Qt, con edición de anotaciones integrada, atajos de captura configurables e interfaz CLI y DBus.
Utilidades ligeras para probar el DOM de React, consultar componentes e interactuar con ellos como lo harían los usuarios.
Ejecuta modelos Transformers de Hugging Face directamente en el navegador o en entornos de JavaScript, sin servidor y mediante ONNX Runtime.