From a minimal file-upload widget to a full Office-style viewer. Every demo uses the same core viewer—mix and match controls to fit your product.
Drag-and-drop or pick a file. Minimal controls, clean layout. Perfect starting point for integration.
Thumbnails, zoom, fullscreen, keyboard shortcuts, URL loading. Office Online–style experience.
Split view with persistent thumbnail sidebar for documentation portals and LMS platforms.
Paste this into any HTML page to start rendering .pptx files immediately. No build step required.
<!-- Chart.js (required for PPTX charts) -->
<script src="cdn.jsdelivr.net/npm/[email protected]/dist/chart.umd.min.js"></script>
<!-- JSZip (required) -->
<script src="cdn.jsdelivr.net/npm/[email protected]/dist/jszip.min.js"></script>
<!-- PptxViewJS -->
<script src="cdn.jsdelivr.net/npm/pptxviewjs/dist/PptxViewJS.min.js"></script>
<canvas id="slide" width="1280" height="720"></canvas>
<script>
const canvas = document.getElementById('slide');
const viewer = new PptxViewJS.PPTXViewer({ canvas, autoExposeGlobals: true });
viewer.on('loadComplete', () => viewer.render(canvas));
fileInput.addEventListener('change', e => viewer.loadFile(e.target.files[0]));
</script>
Wrap the viewer in React, Vue, or Svelte components to handle route changes, authentication, or analytics.
Listen for slideChanged, loadComplete, and renderComplete to drive custom UI or logging.
Start from the full demo and swap icons, colors, or keyboard shortcuts to align with your brand.