Skip to content

Open source · Apache-2.0 · TypeScript

El motor de PowerPoint
para la web.

Carga, renderiza, edita y guarda archivos .pptx en el navegador o en Node.js. Disponible como nucleo TypeScript headless y componentes listos para usar en React, Vue 3, Angular, Svelte 5 y JavaScript vanilla.

npx @christophervr/pptx-viewer

Renderizado

Las diapositivas se renderizan como HTML, CSS y SVG.El texto sigue siendo seleccionable, el zoom se mantiene nitido,y los archivos guardados se reabren sin problemas en PowerPoint.

Renderizado

Cubre toda la superficie de OpenXML.

Mas de 187 formas predefinidas, 23 tipos de graficos, SmartArt, animaciones, transiciones morph, metarchivos EMF y WMF, fuentes incrustadas y modelos 3D se dibujan con HTML, CSS y SVG. No hay rasterizacion en canvas: el texto sigue siendo seleccionable y los lectores de pantalla siguen funcionando.

Como funciona el renderizado
christophervr.github.io/pptx-viewer/demo
The pptx-viewer editor: ribbon toolbar, slide thumbnails, and a slide rendered on the canvas

Modelo de datos

Cargalo, cambialo, guardalo.

Cargar un archivo .pptx produce un modelo PptxData completamente tipado con dieciseis tipos de elementos. Temas, patrones, disenos y la conformidad OOXML Strict sobreviven al viaje de ida y vuelta: un deck editado se reabre limpiamente en PowerPoint.

Carga y analisis
round-trip.tsNode · Bun · Deno · browser
import { PptxHandler } from 'pptx-viewer-core';

const handler = new PptxHandler();
const deck = await handler.load(bytes);

// Every element is a typed, discriminated union
for (const el of deck.slides[0].elements) {
  if (el.type === 'text') el.text = rebrand(el.text);
}

// Serialize straight back to a valid .pptx
const file = await handler.save(deck.slides);

Frameworks

Un motor. Todos los frameworks, o ninguno.

El visor se integra como componente listo para usar en React, Vue 3, Angular y Svelte 5, mas una version JavaScript vanilla sin framework. Cada paquete incluye el motor: una sola dependencia ofrece el mismo renderizado en todas partes, incluidos el modo presentador, la edicion y la exportacion.

Elige un framework
Reactpptx-react-viewer
<PowerPointViewer />
Vue 3pptx-vue-viewer
<PowerPointViewer />
Angularpptx-angular-viewer
<pptx-viewer />

Automatizacion

Usalo headless, desde la CLI o por MCP.

pptx-viewer-mcp expone mas de 50 herramientas PPTX con esquemas Zod como servidor MCP: Claude, Cursor y Copilot pueden leer, editar y convertir presentaciones directamente. Las mismas funciones se pueden llamar desde tu propio codigo en Node, Bun o entornos serverless.

MCP y herramientas
claude_desktop_config.json
{
  "mcpServers": {
    "pptx": {
      "command": "npx",
      "args": ["pptx-viewer-mcp"]
    }
  }
}
replaceTextaddSlideconvertToMarkdownextractMediaapplyTheme+ 45 more

Tambien incluido

Elige tu stack

Instala un solo paquete.

Cada paquete de UI incluye el motor, asi que basta con una sola dependencia. No sabes cual elegir? npx @christophervr/pptx-viewer te guia paso a paso.

Para empezar

Anade PowerPoint a tu aplicacion.

Licencia Apache-2.0, TypeScript estricto, sin dependencias nativas. Prueba la demo con tus propios decks y sigue la guia de inicio rapido.

pptx-viewer · el motor de PowerPoint para la webApache-2.0 · TypeScript estricto · sin dependencias nativas