pptx

 
 

Open Source Biblioteka JavaScript dla PowerPoint

Twórz, edytuj, waliduj i animuj pliki PPTX w Node.js i przeglądarce, w pełnej zgodności z ECMA-376.

Czym jest pptx?

@office-kit/pptx to nowoczesna, typowana biblioteka JavaScript do generowania i edytowania plików PowerPoint (.pptx) zarówno w środowiskach Node.js, jak i przeglądarki. Zbudowana wokół specyfikacji ECMA-376 PresentationML, zapewnia solidny model obiektowy odzwierciedlający oficjalny schemat XML. W przeciwieństwie do wielu alternatyw, dostarcza pojedynczy pakiet ESM, który działa konsekwentnie we wszystkich środowiskach, unika kruchego XML opartego na łańcuchach znaków i generuje pliki walidowane przy użyciu walidatora Microsoft’s Open XML SDK validator.

Biblioteka obsługuje dwa przepływy pracy: edytowanie istniejących szablonów oraz tworzenie prezentacji od podstaw. Obsługuje slajdy, kształty, tekst, tabele, wykresy, animacje, komentarze i przejścia, zapewniając silne typowanie oraz wsparcie tree-shaking dla minimalnego rozmiaru pakietu (~60 KB przy podstawowym ładowaniu/zapisywaniu). Jej projekt zapewnia bezpieczeństwo w cyklu round‑trip — nieprzetworzone treści są zachowywane, a nie usuwane — co czyni ją idealną do zastosowań produkcyjnych, gdzie kluczowa jest zgodność ze schematem oraz kompatybilność międzyplatformowa (PowerPoint, Keynote, Google Slides, LibreOffice).

Previous Next

Rozpoczęcie pracy z pptx

Zainstaluj @office-kit/pptx za pomocą npm, pnpm lub yarn. Biblioteka jest dystrybuowana jako pakiet ESM i obsługuje tree-shaking, aby zapewnić minimalny rozmiar. Po instalacji zaimportuj funkcje takie jak `loadPresentation`, `savePresentation` lub `createPresentation`, aby rozpocząć tworzenie lub edytowanie plików PPTX. API jest spójne zarówno w środowiskach Node.js, jak i przeglądarki, a oficjalne repozytorium [pptx GitHub](https://github.com/office-kit/pptx) zawiera szczegółowe przykłady użycia, narzędzia walidacyjne oraz przewodnik umiejętności dla rozwoju wspomaganego AI.

Zainstaluj pptx za pomocą NPM, pnpm lub Yarn

# npm
npm install @office-kit/pptx

# pnpm
pnpm add @office-kit/pptx

# yarn
yarn add @office-kit/pptx

Edytuj szablony PowerPoint

Edycja szablonów jest kluczową zaletą @office-kit/pptx. Możesz załadować istniejący plik PPTX, zlokalizować miejsca zastępcze (np. tytuł, treść) i programowo zamienić tekst — idealne do dynamicznego generowania raportów. Biblioteka obsługuje zamianę opartą na tokenach na wszystkich slajdach, co sprawia, że aktualizacje wsadowe są proste. Zachowuje integralność układu i zapewnia, że wynik pozostaje kompatybilny z PowerPoint, Keynote i Google Slides. Ten przepływ pracy jest szczególnie przydatny w prezentacjach szablonowych, gdzie jedynie treść zmienia się pomiędzy uruchomieniami.

Jak zastąpić tekst szablonu w pliku PowerPoint?

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);

Twórz prezentacje od podstaw

Za pomocą `createPresentation()` możesz zbudować kompletną prezentację PowerPoint od zera — bez wymaganego szablonu. Funkcja zwraca w pełni ustrukturyzowaną prezentację z masterem, motywem i domyślnymi układami (`Blank`, `Title Slide`, `Title and Content`). Następnie możesz dodawać slajdy, wstawiać pola tekstowe, obrazy, tabele i wykresy przy użyciu typowanych API. Takie podejście daje pełną kontrolę nad projektem i treścią, umożliwiając programowe generowanie prezentacji dla pulpitów nawigacyjnych, raportów lub prezentacji napędzanych AI, zachowując zgodność z ECMA-376.

Jak utworzyć nową prezentację PowerPoint od podstaw?

import {
  addTitleSlide,
  createPresentation,
  savePresentation,
} from '@office-kit/pptx';

const pres = createPresentation();
addTitleSlide(pres, 'Q3 Business Review');
const out: Uint8Array = await savePresentation(pres);

Wykresy, animacje i komentarze

@office-kit/pptx obsługuje bogate elementy slajdów, w tym wykresy (słupkowy, liniowy, kołowy, obszarowy), animacje (fadeIn, fadeOut, appear) oraz komentarze. Wykresy osadzają żywe dane z Excela do edycji w PowerPoint, natomiast animacje używają gotowych efektów z konfigurowalnymi czasami trwania. Komentarze pozwalają dodawać notatki recenzentów z metadanymi autora i opcjonalnym pozycjonowaniem. Te funkcje sprawiają, że biblioteka nadaje się do tworzenia interaktywnych, bogatych w dane prezentacji, które spełniają profesjonalne standardy i przechodzą walidację schematu.

Jak dodać wykres i animację do slajdu?

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);

Walidacja i zgodność ze schematem

Zapewnienie, że pliki PPTX są zgodne ze standardem ECMA-376, jest kluczowe dla kompatybilności między narzędziami. @office-kit/pptx zawiera `validatePresentation()` do wykrywania problemów takich jak brakujące relacje, nieprawidłowe identyfikatory slajdów lub uszkodzone odwołania do układów. Używa także `xmllint` w CI, gdy jest dostępny, do walidacji wygenerowanego XML względem oficjalnych schematów. Ta warstwa walidacji pomaga wychwycić subtelne błędy przed dystrybucją, zapewniając, że prezentacje otwierają się niezawodnie w PowerPoint, Keynote, Google Slides i LibreOffice — bez polegania na zachowaniu "otwórz i módl się".

Jak zweryfikować prezentację PowerPoint?

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.
 Polski