@kandiforge/kandi-office
v0.16.153
Published
High-performance document viewer and forms framework for React. Renders PPTX, DOCX, PDF, and Markdown via WASM.
Readme
@kandiforge/kandi-office
High-performance document viewer and forms framework for React. Renders PPTX, DOCX, PDF, and Markdown documents via WebAssembly for pixel-perfect browser display.
Copyright (c) 2025 AbstractClass, Inc. All rights reserved. PROPRIETARY AND CONFIDENTIAL
Installation
npm install @kandiforge/kandi-officePeer Dependencies
npm install react react-dom @mui/material @emotion/react @emotion/styledQuick Start
PPTX Viewer
import { initWasm, extractPptx, parsePptxSlides, renderSlideToCanvas } from '@kandiforge/kandi-office/wasm'
// Initialize WASM (call once at app startup)
await initWasm()
// Load and render a PPTX file
const data = await fetch('/presentation.pptx').then(r => r.arrayBuffer())
const extracted = await extractPptx(data)
const { slideJsons } = await parsePptxSlides(extracted)
await renderSlideToCanvas(slideJsons[0], canvasElement, 960, 540)PDF Viewer
import { PdfViewer } from '@kandiforge/kandi-office'
function App() {
return <PdfViewer fileData={pdfArrayBuffer} initialViewMode="single" />
}DOCX Viewer
import { DocxViewer } from '@kandiforge/kandi-office'
function App() {
return <DocxViewer fileData={docxArrayBuffer} />
}Forms
import { KandiForm, KandiFormProvider } from '@kandiforge/kandi-office/forms'
function App() {
return (
<KandiFormProvider apiConfig={{ baseUrl: 'https://api.example.com' }}>
<KandiForm formId="contact-123" onSubmit={handleSubmit} />
</KandiFormProvider>
)
}Subpath Imports
| Import | Description |
|--------|-------------|
| @kandiforge/kandi-office | Main entry — viewers, service, types |
| @kandiforge/kandi-office/forms | Forms framework |
| @kandiforge/kandi-office/forms-builder | Visual form builder |
| @kandiforge/kandi-office/wasm | Low-level WASM functions |
License
UNLICENSED — Proprietary software. All rights reserved.
