pptx

 
 

PowerPoint এর জন্য ওপেন সোর্স জাভাস্ক্রিপ্ট লাইব্রেরি

Node.js ও ব্রাউজারে পূর্ণ ECMA-376 সামঞ্জস্যসহ PPTX ফাইল তৈরি, সম্পাদনা, যাচাই এবং অ্যানিমেট করুন।

pptx কি?

@office-kit/pptx হল একটি আধুনিক, টাইপড জাভাস্ক্রিপ্ট লাইব্রেরি যা Node.js এবং ব্রাউজার উভয় পরিবেশে PowerPoint (.pptx) ফাইল তৈরি এবং সম্পাদনা করতে ব্যবহৃত হয়। ECMA-376 PresentationML স্পেসিফিকেশনকে ভিত্তি করে তৈরি, এটি একটি শক্তিশালী অবজেক্ট মডেল প্রদান করে যা অফিসিয়াল XML স্কিমার প্রতিফলন ঘটায়। অনেক বিকল্পের তুলনায়, এটি একটি একক ESM বান্ডল সরবরাহ করে যা পরিবেশ জুড়ে ধারাবাহিকভাবে কাজ করে, দুর্বল স্ট্রিং-ভিত্তিক XML এড়ায়, এবং Microsoft’s Open XML SDK validator এর বিরুদ্ধে ভ্যালিডেট করা ফাইল আউটপুট করে।

লাইব্রেরি দুটি ওয়ার্কফ্লো সমর্থন করে: বিদ্যমান টেমপ্লেট সম্পাদনা এবং শূন্য থেকে ডেক তৈরি করা। এটি স্লাইড, শেপ, টেক্সট, টেবিল, চার্ট, অ্যানিমেশন, মন্তব্য এবং ট্রানজিশন পরিচালনা করে শক্তিশালী টাইপিং এবং ট্রি-শেকিং সমর্থনের সঙ্গে, যাতে ন্যূনতম বান্ডল সাইজ (~60 KB বেসিক লোড/সেভের জন্য) থাকে। এর ডিজাইন রাউন্ড-ট্রিপ সেফটি নিশ্চিত করে—অনমডেলড কন্টেন্ট সংরক্ষিত থাকে, সরানো হয় না—যা প্রোডাকশন ব্যবহারে আদর্শ, যেখানে স্কিমা বৈধতা এবং ক্রস-প্ল্যাটফর্ম সামঞ্জস্যতা (PowerPoint, Keynote, Google Slides, LibreOffice) গুরুত্বপূর্ণ।

Previous Next

pptx দিয়ে শুরু করা

npm, pnpm, অথবা yarn ব্যবহার করে @office-kit/pptx ইনস্টল করুন। লাইব্রেরিটি একটি ESM বান্ডল হিসেবে বিতরণ করা হয় এবং ন্যূনতম ফুটা জন্য ট্রি-শেকিং সমর্থন করে। ইনস্টলেশনের পরে, `loadPresentation`, `savePresentation`, অথবা `createPresentation` এর মতো ফাংশনগুলি ইম্পোর্ট করে PPTX ফাইল তৈরি বা সম্পাদনা শুরু করুন। APIটি Node.js এবং ব্রাউজার পরিবেশে সঙ্গতিপূর্ণ, এবং অফিসিয়াল [pptx GitHub](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);

শুরু থেকে ডেক তৈরি করুন

With `createPresentation()`, you can build a complete PowerPoint deck from zero—no template required. The function returns a fully structured deck with a master, theme, and default layouts (`Blank`, `Title Slide`, `Title and Content`). You can then add slides, insert text boxes, images, tables, and charts using typed APIs. This approach gives full control over design and content, enabling programmatic generation of presentations for dashboards, reports, or AI-driven slide decks while maintaining ECMA-376 compliance.

শুরু থেকে একটি নতুন 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 supports rich slide elements including charts (bar, line, pie, area), animations (fadeIn, fadeOut, appear), and comments. Charts embed live Excel data for editing in PowerPoint, while animations use preset effects with configurable durations. Comments let you add reviewer notes with author metadata and optional positioning. These features make the library suitable for creating interactive, data-rich presentations that meet professional standards and pass schema validation.

একটি স্লাইডে চার্ট এবং অ্যানিমেশন কীভাবে যোগ করবেন?

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-এ নির্ভরযোগ্যভাবে খোলা যায়—"open and pray" আচরণের উপর নির্ভর না করে।

একটি 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.
 বাংলা