Open Source · Apache-2.0 · TypeScript
Laden, rendern, bearbeiten und speichern Sie .pptx-Dateien im Browser oder in Node.js. Erhaltlich als headless TypeScript-Kern und als fertige Komponenten fur React, Vue 3, Angular, Svelte 5 und Vanilla JavaScript.
npx @christophervr/pptx-viewerRendering
Rendering
Uber 187 vordefinierte Formen, 23 Diagrammtypen, SmartArt, Animationen, Morph-Ubergange, EMF- und WMF-Metadateien, eingebettete Schriften und 3D-Modelle werden mit HTML, CSS und SVG gezeichnet. Keine Canvas-Rasterung: Text bleibt markierbar und Screenreader funktionieren weiter.

Datenmodell
Das Laden einer .pptx-Datei erzeugt ein vollstandig typisiertes PptxData-Modell mit sechzehn Elementtypen. Themes, Master, Layouts und OOXML-Strict-Konformitat uberstehen den Roundtrip: Ein bearbeitetes Deck offnet sich sauber in PowerPoint.
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
Der Viewer steht als fertige Komponente fur React, Vue 3, Angular und Svelte 5 bereit, dazu eine frameworkfreie Vanilla-JavaScript-Variante. Jedes Paket bundelt die Engine: Eine einzige Abhangigkeit liefert uberall dasselbe Rendering, inklusive Prasentationsmodus, Bearbeitung und Export.
<PowerPointViewer /><PowerPointViewer /><pptx-viewer />Automatisierung
pptx-viewer-mcp stellt uber 50 PPTX-Tools mit Zod-Schemata als MCP-Server bereit: Claude, Cursor und Copilot konnen Prasentationen direkt lesen, bearbeiten und konvertieren. Dieselben Funktionen lassen sich aus eigenem Code in Node, Bun oder Serverless-Umgebungen aufrufen.
{
"mcpServers": {
"pptx": {
"command": "npx",
"args": ["pptx-viewer-mcp"]
}
}
}Ausserdem enthalten
Gemeinsames Bearbeiten uber ein Yjs-CRDT mit Prasenzanzeige, zeichengenauem Text-Merge und einem serverlosen P2P-Transport.
Offnen und speichern Sie passwortgeschutzte Dateien mit agiler AES-128- und AES-256-Verschlusselung.
PNG, JPEG, SVG, PDF, GIF und Video direkt aus dem Browser. SVG-Export lauft auch headless in Node.js ohne DOM.
Wandeln Sie Decks in sauberes Markdown oder positioniertes HTML um, mit Medienextraktion, Notizen und Metadaten.
Erstellen Sie Prasentationen programmatisch: Text, Formen, Bilder, Tabellen und Diagramme ohne rohes OpenXML.
OLE-Objekte sind schreibgeschutzt und manche visuellen Effekte werden am Bildschirm angenahert. Die Seite zu den Grenzen listet genau auf, was zu erwarten ist.
Jedes UI-Label lauft uber einen pptx.*-Ubersetzungsschlussel (uber 1.600), angebunden an die i18n-Bibliothek Ihrer App: react-i18next, vue-i18n oder ngx-translate. Ein englisches Worterbuch liegt jedem Paket bei, und diese Dokumentation gibt es auf Englisch, Franzosisch, Spanisch und Deutsch.
Stack wahlen
Jedes UI-Paket bundelt die Engine, eine einzige Abhangigkeit genugt. Unsicher, welches passt? npx @christophervr/pptx-viewer hilft bei der Auswahl.
npm i pptx-react-viewerViewer + WYSIWYG-Editor fur React 19
npm i pptx-vue-viewerDerselbe Funktionsumfang fur Vue 3
npm i pptx-angular-viewerDerselbe Funktionsumfang fur Angular
npm i pptx-vanilla-viewerDieselbe Engine, frameworkfrei, reines DOM
npm i pptx-svelte-viewerDerselbe Funktionsumfang fur Svelte 5
npm i pptx-viewer-coreHeadless-Engine: Parsen, Bearbeiten, Konvertieren, Verschlusseln
npm i pptx-viewer-mcpUber 50 MCP-Tools, CLI, Kollaborations-Codec
Loslegen
Apache-2.0-lizenziert, striktes TypeScript, keine nativen Abhangigkeiten. Testen Sie die Demo mit eigenen Decks und folgen Sie dann dem Schnellstart.