
pptx
ไลบรารี JavaScript โอเพ่นซอร์สสำหรับ PowerPoint
สร้าง, แก้ไข, ตรวจสอบความถูกต้องและทำให้ไฟล์ PPTX เคลื่อนไหวใน Node.js และเบราว์เซอร์ พร้อมการปฏิบัติตาม ECMA-376 อย่างเต็มรูปแบบ.
pptx คืออะไร?
@office-kit/pptx เป็นไลบรารี JavaScript ที่ทันสมัยและมีการกำหนดประเภทสำหรับการสร้างและแก้ไขไฟล์ PowerPoint (.pptx) ทั้งในสภาพแวดล้อม Node.js และเบราว์เซอร์ สร้างขึ้นโดยอิงตามสเปค ECMA-376 PresentationML ให้โมเดลอ็อบเจกต์ที่แข็งแรงซึ่งสะท้อนสคีม่า XML อย่างเป็นทางการ แตกต่างจากหลายตัวเลือกอื่น ๆ มันมาพร้อมกับบันเดิล ESM เดียวที่ทำงานสอดคล้องกันในทุกสภาพแวดล้อม หลีกเลี่ยง XML ที่อิงสตริงที่เปราะบาง และส่งออกไฟล์ที่ผ่านการตรวจสอบความถูกต้องโดย Microsoft’s Open XML SDK validator.
ไลบรารีนี้รองรับสองกระบวนการทำงาน: การแก้ไขเทมเพลตที่มีอยู่และการสร้างเด็คตั้งแต่ต้น มันจัดการสไลด์, รูปร่าง, ข้อความ, ตาราง, แผนภูมิ, แอนิเมชัน, ความคิดเห็น, และการเปลี่ยนฉากด้วยการพิมพ์ที่เข้มงวดและการสนับสนุน tree-shaking เพื่อให้ขนาดบันเดิลเล็กที่สุด (~60 KB สำหรับการโหลด/บันทึกพื้นฐาน) การออกแบบของมันรับประกันความปลอดภัยในการทำรอบ—เนื้อหาที่ไม่ได้โมเดลจะถูกเก็บไว้ ไม่ถูกลบ—ทำให้เหมาะสำหรับการใช้งานในผลิตภัณฑ์ที่ความถูกต้องของสคีม่าและความเข้ากันได้ข้ามแพลตฟอร์ม (PowerPoint, Keynote, Google Slides, LibreOffice) มีความสำคัญ
เริ่มต้นใช้งาน pptx
ติดตั้ง @office-kit/pptx ผ่าน npm, pnpm หรือ yarn. ไลบรารีนี้จัดจำหน่ายเป็น bundle แบบ ESM และรองรับการ tree-shaking เพื่อลดขนาดให้เหลือน้อยที่สุด หลังการติดตั้ง ให้นำเข้าฟังก์ชันเช่น `loadPresentation`, `savePresentation` หรือ `createPresentation` เพื่อเริ่มต้นการสร้างหรือแก้ไขไฟล์ PPTX API มีความสอดคล้องกันทั้งในสภาพแวดล้อม Node.js และเบราว์เซอร์ และที่เก็บข้อมูลอย่างเป็นทางการ [pptx GitHub](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 รองรับองค์ประกอบสไลด์ที่หลากหลายรวมถึงแผนภูมิ (bar, line, pie, area) การเคลื่อนไหว (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()` เพื่อตรวจจับปัญหาเช่น ความสัมพันธ์ที่หายไป, ID สไลด์ที่ไม่ถูกต้อง, หรือการอ้างอิงเลย์เอาต์ที่เสียหาย นอกจากนี้ยังใช้ `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.
