@henryge/pipto
Install one package and cover export, import, and browser preview workflows.
@henryge/pipto
@henryge/pipto is the umbrella package for the Pipto toolchain. Install one package, then use the same entrypoint for export, import, and browser preview.
Install
npm i @henryge/piptoIf you render slides in React, install react as well:
npm i reactStart With One Import
import {
createPPTX,
parseDocument,
parsePptxToJson,
PPTXPreviewer,
type Presentation,
type Slide
} from '@henryge/pipto'Use createPPTX() when you want to export presentation JSON to a .pptx file. Use parsePptxToJson() when you want to read an existing PowerPoint file. Use PPTXPreviewer when you want to render one slide in the browser.
Core Workflows
JSON to PPT
Build a Presentation object and export it with createPPTX(presentation).
PPT to JSON
Pass a .pptx File into parsePptxToJson(file) and get back { presentation, warnings }.
Browser Preview
Render a single slide with PPTXPreviewer inside your React UI.
Open the browser preview guide
Optional Validation Before Export
createPPTX() already runs the parse, validate, and normalize pipeline internally. If you want to validate earlier or normalize user input before export, call parseDocument() yourself:
import { createPPTX, parseDocument } from '@henryge/pipto'
const parsed = parseDocument({
title: 'Quarterly Review',
theme: {},
slides: [{ elements: [] }]
})
const { blob, fileName } = await createPPTX(parsed)