
pptx
مكتبة JavaScript مفتوحة المصدر لـ PowerPoint
إنشاء وتحرير والتحقق من صحة وتحريك ملفات PPTX في Node.js والمتصفح مع التوافق الكامل مع ECMA-376.
ما هو pptx؟
@office-kit/pptx هي مكتبة جافاسكريبت حديثة ومُعرفة الأنواع لتوليد وتحرير ملفات PowerPoint (.pptx) في بيئات Node.js والمتصفح على حدٍ سواء. تم بناؤها حول مواصفة ECMA-376 PresentationML، وتوفر نموذج كائنات قوي يعكس مخطط XML الرسمي. على عكس العديد من البدائل، تُقدم حزمة ESM واحدة تعمل بشكل ثابت عبر جميع البيئات، وتتجنب XML القائم على السلاسل الهشة، وتُخرج ملفات تم التحقق من صحتها باستخدام أداة التحقق من Microsoft Open XML SDK.
تدعم المكتبة سيرتي عمل: تعديل القوالب الموجودة وإنشاء العروض من الصفر. تتعامل مع الشرائح، الأشكال، النص، الجداول، المخططات، الرسوم المتحركة، التعليقات، والانتقالات مع كتابة قوية ودعم تقليم الشجرة لتقليل حجم الحزمة إلى الحد الأدنى (~60 كيلوبايت للتحميل/الحفظ الأساسي). يضمن تصميمها أمان الجولة الكاملة—يتم الحفاظ على المحتوى غير النموذجي، لا يتم حذفه—مما يجعلها مثالية للاستخدام في الإنتاج حيث تكون صلاحية المخطط وتوافق المنصات المتعددة (PowerPoint، Keynote، Google Slides، LibreOffice) أمرًا حاسمًا.
البدء مع pptx
قم بتثبيت @office-kit/pptx عبر npm أو pnpm أو yarn. يتم توزيع المكتبة كحزمة ESM وتدعم تقليل الشجرة لتقليل البصمة. بعد التثبيت، استورد الدوال مثل `loadPresentation` و `savePresentation` أو `createPresentation` لبدء إنشاء أو تعديل ملفات PPTX. API متسق عبر بيئات Node.js والمتصفح، ويحتوي المستودع الرسمي [pptx GitHub](https://github.com/office-kit/pptx) على أمثلة استخدام مفصلة، أدوات تحقق، ودليل مهارات لتطوير مدعوم بالذكاء الاصطناعي.
تثبيت 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`). يمكنك بعد ذلك إضافة شرائح، إدراج مربعات نص، صور، جداول، ومخططات باستخدام واجهات برمجة تطبيقات مُحددة النوع. يتيح هذا النهج تحكمًا كاملاً في التصميم والمحتوى، مما يمكّن من إنشاء عروض تقديمية برمجية للوحة التحكم، التقارير، أو مجموعات شرائح مدفوعة بالذكاء الاصطناعي مع الحفاظ على توافق 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` في بيئة التكامل المستمر حيث يتوفر للتحقق من صحة 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.
