Skip to content

Open source · Apache-2.0 · TypeScript

Le moteur PowerPoint
pour le web.

Chargez, affichez, modifiez et enregistrez des fichiers .pptx dans le navigateur ou Node.js. Disponible en coeur TypeScript headless et en composants integres pour React, Vue 3, Angular, Svelte 5 et JavaScript vanilla.

npx @christophervr/pptx-viewer

Rendu

Les diapositives sont rendues en HTML, CSS et SVG.Le texte reste selectionnable, le zoom reste net,et les fichiers enregistres se rouvrent dans PowerPoint.

Rendu

Couvre toute la surface fonctionnelle OpenXML.

187+ formes predefinies, 23 types de graphiques, SmartArt, animations, transitions morph, metafichiers EMF et WMF, polices embarquees et modeles 3D sont dessines en HTML, CSS et SVG. Aucune rasterisation canvas : le texte reste selectionnable et les lecteurs d'ecran continuent de fonctionner.

Fonctionnement du rendu
christophervr.github.io/pptx-viewer/demo
The pptx-viewer editor: ribbon toolbar, slide thumbnails, and a slide rendered on the canvas

Modele de donnees

Chargez, modifiez, reenregistrez.

Le chargement d'un fichier .pptx produit un modele PptxData entierement type avec seize types d'elements. Themes, masques, dispositions et conformite OOXML Strict survivent a l'aller-retour : un deck modifie se rouvre proprement dans PowerPoint.

Chargement et analyse
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 seul moteur. Tous les frameworks, ou aucun.

La visionneuse s'integre comme composant pret a l'emploi pour React, Vue 3, Angular et Svelte 5, plus une version JavaScript vanilla sans framework. Chaque paquet embarque le moteur : une seule dependance donne le meme rendu partout, mode presentateur, edition et export compris.

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

Automatisation

Utilisable en headless, en CLI ou via MCP.

pptx-viewer-mcp expose plus de 50 outils PPTX avec schemas Zod sous forme de serveur MCP : Claude, Cursor et Copilot peuvent lire, modifier et convertir des presentations directement. Les memes fonctions sont appelables depuis votre propre code en Node, Bun ou serverless.

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

Egalement inclus

Choisissez votre stack

Installez un seul paquet.

Chaque paquet UI embarque le moteur : une seule dependance suffit. Vous hesitez ? npx @christophervr/pptx-viewer vous guide.

Pour commencer

Ajoutez PowerPoint a votre application.

Licence Apache-2.0, TypeScript strict, aucune dependance native. Essayez la demo avec vos propres decks, puis suivez le guide de demarrage.

pptx-viewer · le moteur PowerPoint pour le webApache-2.0 · TypeScript strict · aucune dependance native