Pre-wired bundle:
pptx-large+ remaining pptx-touching extras (every PresentationML schema element typed or preserved).
Module pptxFullBundle | Source packages/front/office/ooxml/src/bundles/pptx-full.js | Deps pptxLargeBundle + 7 extras | Worker-safe yes
Included
Everything in pptx-large, plus:
dmlShapesAdvanced— custom-geometry shapestransitional— part 4 namespace mappinglegacyVml— standalone VMLpmlMisc— PML long-tail sweeperdmlChartMisc— chart long-tail sweeperdmlMainMisc— DrawingML long-tail sweepermathMisc— OMML long-tail sweeper
Resolve
const pp = runtime.resolve('pptxFullBundle');
// Returns the same enriched `pptx` instance `pptxLargeBundle` produced.
API
Depends on pptxLargeBundle plus every remaining pptx-touching extra.
| Resolve key | Returns | Dependencies (auto-wired) |
|---|---|---|
'pptxFullBundle' |
enriched pptx API |
pptxLargeBundle + dmlShapesAdvanced, transitional, legacyVml, pmlMisc, dmlChartMisc, dmlMainMisc, mathMisc |
Examples
import { ModuleRuntime } from '@awacloud/fw/core/runtime.js';
import { fw_require, modules, extras } from '@awacloud/ooxml';
import { pptxLargeBundle } from '@awacloud/ooxml/bundles/pptx-large';
import { pptxFullBundle } from '@awacloud/ooxml/bundles/pptx-full';
const runtime = new ModuleRuntime();
runtime.registerAll(fw_require); // the @awacloud/fw modules the package consumes
runtime.registerAll(modules);
runtime.registerAll(extras);
runtime.register(pptxLargeBundle); // dependency of pptxFullBundle
runtime.register(pptxFullBundle);
const pp = runtime.resolve('pptxFullBundle');
const bytes = new Uint8Array(/* … */);
const result = pp.read(bytes); // → { presentation, package, unmodelledParts }
// Custom-geometry shapes: the raw `p:spPr` element is kept on each shape,
// so the advanced extra can decode its `<a:custGeom>` child.
const shapes = runtime.resolve('dmlShapesAdvanced');
const slide = result.presentation.slides[0];
const geomEl = slide.shapes
.map(s => s.spPr && s.spPr.children.find(c => c.name === 'a:custGeom'))
.find(Boolean);
const custGeom = geomEl && shapes.parseCustGeom(geomEl); // { avLst?, gdLst?, pathLst, … }
const out = pp.write(result.presentation);
Notes
- Photo albums and custom shows live in
pml-misc(rare). - Use
pptx-largeif the input never contains custom geometry or VML. pptxLargeBundlemust be registered too — it is a declared dependency ofpptxFullBundle.
Breaking change
The previous buildPptxFull(pptx, { xml }) imperative helper has been removed. Replace any call sites with the ModuleRuntime pattern shown above.