This fork is a Deno-only PowerPoint generator. It keeps the core OOXML generation logic from the original project and strips out the Node/browser packaging layers that made Deno support awkward.
mod.tsis the entrypoint.write()returnsUint8Array.writeFile()writes directly withDeno.writeFile.- Source files import each other with explicit
.tsextensions. - HTML table scraping and browser download helpers are removed.
- SVG image preview support is removed.
import PptxGenJS from "./mod.ts";
const pptx = new PptxGenJS();
const slide = pptx.addSlide();
slide.addText("Hello from Deno", {
x: 1,
y: 1,
w: 4,
h: 0.6,
fontSize: 24,
});
await pptx.writeFile({ fileName: "hello-deno.pptx" });If you want bytes instead of a file:
const bytes = await pptx.write({ compression: true });deno task check
deno task lint
deno task test
deno task test:integration
deno task examplewrite()needs no extra permissions beyond whatever your own code needs.writeFile()needs--allow-write.- Local image/media paths need
--allow-read. - Remote image/media URLs need
--allow-net.
deno task test runs the default local suite. deno task test:integration runs
the real remote-media integration test against an actual remote PNG URL.
tableToSlides()- Browser download flows
- SVG image input
examples/basic.ts writes example.pptx in the current directory.