pptx

 
 

ספריית JavaScript קוד פתוח ל-PowerPoint

יצירה, עריכה, אימות והנפשה של קבצי PPTX ב-Node.js ובדפדפן עם תאימות מלאה ל-ECMA-376.

מהו pptx?

@office-kit/pptx היא ספרייה מודרנית, עם טיפוסים, של JavaScript ליצירה ועריכה של קבצי PowerPoint (.pptx) הן בסביבת Node.js והן בדפדפן. היא נבנית סביב המפרט ECMA-376 PresentationML, ומספקת מודל אובייקטים חזק המשקף את סכמת ה‑XML הרשמית. בניגוד להרבה אלטרנטיבות, היא מספקת חבילה יחידה של ESM שעובדת באופן עקבי בכל הסביבות, נמנעת משימוש ב‑XML מבוסס מחרוזות שבירות, ומפיקה קבצים שמאומתים על‑ידי מאמת ה‑Open XML SDK של Microsoft.

הספרייה תומכת בשני זרמי עבודה: עריכת תבניות קיימות ויצירת מצגות מאפס. היא מטפלת במצגות, צורות, טקסט, טבלאות, גרפים, אנימציות, תגובות ומעברים עם טיפוס חזק ותמיכה ב‑tree‑shaking למינימום גודל חבילה (~60 ק״ב לטעינה/שמירה בסיסית). העיצוב שלה מבטיח בטיחות סיבוב‑נסיעה — תוכן שלא מודלל נשמר, ולא נחתך — מה שהופך אותה לאידיאלית לשימוש בייצור שבו תקפות הסכמה ותאימות חוצת פלטפורמות (PowerPoint, Keynote, Google Slides, LibreOffice) קריטיות.

Previous Next

התחלה עם pptx

התקן את @office-kit/pptx באמצעות npm, pnpm או yarn. הספרייה מופצת כחבילה ESM ותומכת ב‑tree‑shaking למינימום footprint. לאחר ההתקנה, ייבא פונקציות כגון `loadPresentation`, `savePresentation` או `createPresentation` כדי להתחיל ליצור או לערוך קבצי PPTX. ה‑API עקבי בסביבות Node.js ודפדפן, והמאגר הרשמי [GitHub של pptx](https://github.com/office-kit/pptx) כולל דוגמאות שימוש מפורטות, כלי אימות, ומדריך מיומנויות לפיתוח בעזרת AI.

התקן pptx דרך NPM, pnpm, או Yarn

# npm
npm install @office-kit/pptx

# pnpm
pnpm add @office-kit/pptx

# yarn
yarn add @office-kit/pptx

עריכת תבניות PowerPoint

עריכת תבניות היא חוזק מרכזי של @office-kit/pptx. ניתן לטעון קובץ PPTX קיים, לאתר מצייני מקום (למשל, כותרת, גוף), ולהחליף טקסט באופן תכנותי—אידיאלי ליצירת דוחות דינאמיים. הספרייה תומכת בהחלפה מבוססת טוקנים בכל השקופיות, מה שהופך עדכונים קבוצתיים ללא מאמץ. היא משמרת את שלמות הפריסה ומבטיחה שהפלט יישאר תואם ל‑PowerPoint, Keynote ו‑Google Slides. זרימת עבודה זו שימושית במיוחד עבור מצגות מבוססות תבנית שבהן רק התוכן משתנה בין הרצות.

איך להחליף טקסט תבנית בקובץ 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);

יצירת מצגות מאפס

עם `createPresentation()`, אתה יכול לבנות חבילת PowerPoint שלמה מאפס—לא נדרש תבנית. הפונקציה מחזירה חבילה ממובנית במלואה עם מאסטר, נושא, ופריסות ברירת מחדל (`Blank`, `Title Slide`, `Title and Content`). לאחר מכן אתה יכול להוסיף שקפים, להכניס תיבות טקסט, תמונות, טבלאות ותרשימים באמצעות API‑ים טיפוסיים. גישה זו נותנת שליטה מלאה על העיצוב והתוכן, מאפשרת יצירת מצגות באופן תכנותי עבור לוחות מחוונים, דוחות, או חבילות שקפים מונעות ב‑AI תוך שמירה על תאימות ECMA‑376.

איך ליצור מצגת PowerPoint חדשה מאפס?

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

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

תרשימים, אנימציות והערות

@office-kit/pptx תומך ברכיבי שקף עשירים כולל תרשימים (עמודה, קו, פאי, אזור), אנימציות (fadeIn, fadeOut, appear) והערות. תרשימים משבצים נתוני Excel חיה לעריכה ב‑PowerPoint, בעוד שהאנימציות משתמשות באפקטים מוגדרים מראש עם משך זמן שניתן להתאמה. הערות מאפשרות להוסיף הערות מבקר עם מטא‑נתוני מחבר ומיקום אופציונלי. תכונות אלו הופכות את הספרייה למתאימה ליצירת מצגות אינטראקטיביות ועשירות בנתונים העומדות בסטנדרטים מקצועיים ועוברות אימות סכימה.

איך להוסיף גרף והנפשה לשקף?

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

אימות ועמידה בתקן

וידוא שהקבצים PPTX תואמים ל-ECMA-376 הוא קריטי לתאימות בין כלים שונים. @office-kit/pptx כולל `validatePresentation()` כדי לאתר בעיות כגון יחסים חסרים, מזהי שקופיות לא חוקיים, או הפניות פריסה שבורות. הוא גם משתמש ב-`xmllint` ב-CI כאשר זמין כדי לאמת את ה-XML שנוצר מול סכמות רשמיות. שכבת האימות הזו מסייעת לתפוס שגיאות עדינות לפני הפצה, ומבטיחה שהמצגות ייפתחו באופן אמין ב-PowerPoint, Keynote, Google Slides ו-LibreOffice—בלי להסתמך על התנהגות "פתח והתפלל".

איך לאמת מצגת 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.
 עִברִית