
pptx
Nyílt forráskódú JavaScript könyvtár PowerPointhoz
PPTX fájlok létrehozása, szerkesztése, validálása és animálása Node.js-ben és böngészőben, teljes ECMA-376 kompatibilitással.
Mi az a pptx?
Az @office-kit/pptx egy modern, típusos JavaScript könyvtár a PowerPoint (.pptx) fájlok generálásához és szerkesztéséhez mind Node.js, mind böngésző környezetben. Az ECMA-376 PresentationML specifikáció köré építve egy robusztus objektummodellt biztosít, amely tükrözi a hivatalos XML séma struktúráját. A legtöbb alternatívától eltérően egyetlen ESM csomagot kínál, amely környezetfüggetlenül konzisztensen működik, elkerüli a törékeny karakterlánc-alapú XML-t, és olyan fájlokat állít elő, amelyek a Microsoft Open XML SDK validátorával ellenőrzöttek.
A könyvtár két munkafolyamatot támogat: meglévő sablonok szerkesztését és a deckek teljesen újról való létrehozását. Kezeli a diák, alakzatok, szöveg, táblázatok, diagramok, animációk, megjegyzések és átmenetek kezelését erős típusossággal és tree‑shaking támogatással a minimális csomagméret (kb. 60 KB az alap betöltés/mentés esetén) érdekében. Tervezése biztosítja a körkörös biztonságot – a nem modellezett tartalom megmarad, nem kerül eltávolításra – így ideálissá teszi a termelésben való használatra, ahol a séma érvényessége és a platformok közötti kompatibilitás (PowerPoint, Keynote, Google Slides, LibreOffice) kritikus.
Első lépések a pptx használatával
Telepítsd a @office-kit/pptx csomagot npm, pnpm vagy yarn segítségével. A könyvtár ESM csomagként kerül terjesztésre, és támogatja a tree-shakinget a minimális lábnyom érdekében. Telepítés után importáld a `loadPresentation`, `savePresentation` vagy `createPresentation` függvényeket a PPTX fájlok szerkesztésének vagy létrehozásának megkezdéséhez. Az API következetes a Node.js és a böngésző környezetekben egyaránt, és a hivatalos [pptx GitHub](https://github.com/office-kit/pptx) tároló részletes használati példákat, validációs eszközöket és egy készségútmutatót tartalmaz az AI‑segített fejlesztéshez.
Telepítsd a pptx-et NPM, pnpm vagy Yarn használatával
# npm
npm install @office-kit/pptx
# pnpm
pnpm add @office-kit/pptx
# yarn
yarn add @office-kit/pptx
PowerPoint sablonok szerkesztése
A sablon szerkesztése a @office-kit/pptx egyik fő erőssége. Betölthetsz egy meglévő PPTX fájlt, megtalálhatod a helyőrzőket (pl. cím, szöveg), és programozottan cserélheted a szöveget – ideális dinamikus jelentésgeneráláshoz. A könyvtár token‑alapú cserét támogat az összes dián, így a kötegelt frissítések egyszerűek. Megőrzi a layout integritását, és biztosítja, hogy a kimenet kompatibilis legyen a PowerPointtal, a Keynote‑dal és a Google Slides‑szal. Ez a munkafolyamat különösen hasznos sablonos prezentációk esetén, ahol csak a tartalom változik a futások között.
Hogyan cseréljünk sablonszöveget egy PowerPoint fájlban?
import {
findSlidePlaceholder,
getSlides,
loadPresentation,
savePresentation,
setShapeText,
} from '@office-kit/pptx';
const pres = await loadPresentation(existingPptxBytes);
const cover = getSlides(pres)[0]!;
const title = findSlidePlaceholder(cover, 'title');
if (title) setShapeText(title, 'Q3 Review');
const body = findSlidePlaceholder(cover, 'body');
if (body) setShapeText(body, 'Numbers up and to the right.');
const out: Uint8Array = await savePresentation(pres);
Prezentációk létrehozása a semmiből
Az `createPresentation()` segítségével teljes PowerPoint prezentációt építhetsz nulláról—nem szükséges sablon. A függvény egy teljesen felépített prezentációt ad vissza egy masterrel, témával és alapértelmezett elrendezésekkel (`Blank`, `Title Slide`, `Title and Content`). Ezután hozzáadhatsz diákat, beszúrhatsz szövegdobozokat, képeket, táblázatokat és diagramokat a típusos API-k használatával. Ez a megközelítés teljes irányítást biztosít a tervezés és a tartalom felett, lehetővé téve a prezentációk programozott generálását irányítópultokhoz, jelentésekhez vagy AI-vezérelt diákhoz, miközben megőrzi az ECMA-376 kompatibilitást.
Hogyan hozzunk létre egy új PowerPoint prezentációt a semmiből?
import {
addTitleSlide,
createPresentation,
savePresentation,
} from '@office-kit/pptx';
const pres = createPresentation();
addTitleSlide(pres, 'Q3 Business Review');
const out: Uint8Array = await savePresentation(pres);
Diagramok, animációk és megjegyzések
Az @office-kit/pptx gazdag diaelemeket támogat, többek között diagramokat (oszlop, vonal, kör, terület), animációkat (fadeIn, fadeOut, appear) és megjegyzéseket. A diagramok élő Excel adatokat ágyaznak be a PowerPointban való szerkesztéshez, míg az animációk előre beállított effektusokat használnak konfigurálható időtartamokkal. A megjegyzések lehetővé teszik, hogy a recenzenszövegeket szerzői metaadatokkal és opcionális pozicionálással adjuk hozzá. Ezek a funkciók alkalmassá teszik a könyvtárat interaktív, adatgazdag prezentációk létrehozására, amelyek megfelelnek a szakmai szabványoknak és átmennek a séma validáción.
Hogyan adjunk hozzá diagramot és animációt egy diára?
import {
addSlideChart,
getSlides,
loadPresentation,
setShapeAnimation,
savePresentation,
inches,
} from '@office-kit/pptx';
const pres = await loadPresentation(templateBytes);
const slide = getSlides(pres)[0]!;
addSlideChart(slide!, {
x: inches(0.5),
y: inches(0.5),
w: inches(8),
h: inches(4.5),
spec: {
kind: 'column',
categories: ['Q1', 'Q2', 'Q3', 'Q4'],
series: [
{ name: 'Revenue', values: [120, 180, 240, 300] },
{ name: 'Cost', values: [80, 90, 130, 160] },
],
title: 'FY26 plan',
},
});
const shape = getSlideShapes(slide)[0]!;
setShapeAnimation(shape, { effect: 'fadeIn', durationMs: 800 });
await savePresentation(pres);
Érvényesítés és séma megfelelés
A PPTX fájlok ECMA-376 szabványnak való megfelelésének biztosítása kritikus a különböző eszközök közötti kompatibilitás szempontjából. Az @office-kit/pptx tartalmazza a `validatePresentation()` függvényt, amely képes felismerni például a hiányzó kapcsolatok, érvénytelen diaazonosítók vagy törött elrendezés-referenciák problémáit. Emellett, ahol elérhető, a CI-ben a `xmllint`-et használja a generált XML hivatalos sémák szerinti validálására. Ez a validációs réteg segít elkapni a finom hibákat a terjesztés előtt, biztosítva, hogy a bemutatók megbízhatóan megnyíljanak a PowerPointban, a Keynote-ban, a Google Slides-ban és a LibreOffice-ban – anélkül, hogy a „nyisd meg és imádkozz” viselkedésre kellene támaszkodni.
Hogyan validáljuk a PowerPoint prezentációt?
import { validatePresentation } from '@office-kit/pptx';
const issues = validatePresentation(pres);
for (const i of issues) console.error(i.severity, i.message);
// Catches missing rels, dangling slide ids, layouts without masters, etc.
