
pptx
PowerPoint के लिए ओपन सोर्स जावास्क्रिप्ट लाइब्रेरी
Node.js और ब्राउज़र में PPTX फ़ाइलों को बनाएं, संपादित करें, मान्य करें और एनीमेट करें, पूर्ण ECMA-376 अनुपालन के साथ।
pptx क्या है?
@office-kit/pptx एक आधुनिक, टाइप्ड जावास्क्रिप्ट लाइब्रेरी है जो Node.js और ब्राउज़र दोनों वातावरण में PowerPoint (.pptx) फ़ाइलों को जनरेट और एडिट करने के लिए उपयोग होती है। ECMA-376 PresentationML स्पेसिफिकेशन के आसपास निर्मित, यह एक मजबूत ऑब्जेक्ट मॉडल प्रदान करती है जो आधिकारिक XML स्कीमा को प्रतिबिंबित करता है। कई विकल्पों के विपरीत, यह एकल ESM बंडल प्रदान करती है जो सभी वातावरणों में लगातार काम करता है, नाज़ुक स्ट्रिंग-आधारित XML से बचता है, और Microsoft के Open XML SDK वैलिडेटर के विरुद्ध वैध फ़ाइलें आउटपुट करती है।
यह लाइब्रेरी दो कार्यप्रवाहों का समर्थन करती है: मौजूदा टेम्प्लेट्स को संपादित करना और शून्य से डेक्स बनाना। यह स्लाइड्स, शैलियों, टेक्स्ट, टेबल्स, चार्ट्स, एनीमेशन, टिप्पणियों और ट्रांज़िशन्स को मजबूत टाइपिंग और ट्री-शेकिंग समर्थन के साथ न्यूनतम बंडल आकार (~60 KB बुनियादी लोड/सेव के लिए) के लिए संभालती है। इसका डिज़ाइन राउंड-ट्रिप सुरक्षा सुनिश्चित करता है—अमॉडल्ड कंटेंट को संरक्षित रखा जाता है, हटाया नहीं जाता—जिससे यह उत्पादन उपयोग के लिए आदर्श बन जाता है जहाँ स्कीमा वैधता और क्रॉस-प्लेटफ़ॉर्म संगतता (PowerPoint, Keynote, Google Slides, LibreOffice) महत्वपूर्ण है।
pptx के साथ शुरुआत
npm, pnpm, या yarn के माध्यम से @office-kit/pptx स्थापित करें। लाइब्रेरी को ESM बंडल के रूप में वितरित किया गया है और न्यूनतम फ़ुटप्रिंट के लिए ट्री-शेकिंग का समर्थन करती है। स्थापना के बाद, `loadPresentation`, `savePresentation`, या `createPresentation` जैसी फ़ंक्शन आयात करें ताकि PPTX फ़ाइलों को बनाना या संपादित करना शुरू कर सकें। API Node.js और ब्राउज़र दोनों परिवेशों में सुसंगत है, और आधिकारिक [pptx गिटहब](https://github.com/office-kit/pptx) रिपॉजिटरी में विस्तृत उपयोग उदाहरण, वैधता उपकरण, और AI‑सहायता विकास के लिए एक कौशल गाइड शामिल है।
NPM, pnpm, या Yarn के माध्यम से pptx स्थापित करें
# 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()` शामिल है जो गायब रिलेशनशिप, अमान्य स्लाइड आईडी, या टूटे लेआउट रेफ़रेंसेज़ जैसी समस्याओं का पता लगाता है। यह उपलब्ध होने पर CI में `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.
