
pptx
PowerPoint için Açık Kaynak JavaScript Kütüphanesi
Node.js ve Tarayıcıda PPTX Dosyalarını Oluşturun, Düzenleyin, Doğrulayın ve Animasyon Ekleyin; Tam ECMA-376 Uyumluluğu.
pptx nedir?
@office-kit/pptx, Node.js ve tarayıcı ortamlarında PowerPoint (.pptx) dosyaları oluşturmak ve düzenlemek için modern, tiplenmiş bir JavaScript kütüphanesidir. ECMA-376 PresentationML spesifikasyonu etrafında inşa edilmiştir ve resmi XML şemasını yansıtan sağlam bir nesne modeli sunar. Birçok alternatife kıyasla, ortamlar arasında tutarlı çalışan tek bir ESM paketi sağlar, kırılgan dize tabanlı XML'den kaçınır ve dosyaları Microsoft’un Open XML SDK doğrulayıcısına göre doğrulanmış olarak çıktılar.
Kütüphane iki iş akışını destekler: mevcut şablonları düzenleme ve sıfırdan desteler oluşturma. Slaytları, şekilleri, metni, tabloları, grafikleri, animasyonları, yorumları ve geçişleri güçlü tipleme ve ağaç sarsımı desteğiyle minimal paket boyutu (~60 KB temel yükleme/kaydetme) için yönetir. Tasarımı, dönüşüm sırasında güvenliği sağlar—model dışı içerik korunur, silinmez—bu da şema geçerliliği ve çapraz platform uyumluluğunun (PowerPoint, Keynote, Google Slides, LibreOffice) kritik olduğu üretim kullanımı için idealdir.
pptx ile Başlarken
@office-kit/pptx paketini npm, pnpm veya yarn ile kurun. Kütüphane bir ESM paketi olarak dağıtılır ve minimal ayak izi için ağaç sarsımını (tree-shaking) destekler. Kurulumdan sonra `loadPresentation`, `savePresentation` veya `createPresentation` gibi fonksiyonları içe aktararak PPTX dosyalarını oluşturabilir veya düzenleyebilirsiniz. API, Node.js ve tarayıcı ortamlarında tutarlıdır ve resmi [pptx GitHub](https://github.com/office-kit/pptx) deposu ayrıntılı kullanım örnekleri, doğrulama araçları ve AI destekli geliştirme için bir beceri kılavuzu içerir.
pptx'yi NPM, pnpm veya Yarn ile kurun
# npm
npm install @office-kit/pptx
# pnpm
pnpm add @office-kit/pptx
# yarn
yarn add @office-kit/pptx
PowerPoint Şablonlarını Düzenle
Şablon düzenleme, @office-kit/pptx'in temel güçlü yönlerinden biridir. Mevcut bir PPTX dosyasını yükleyebilir, yer tutucuları (ör. başlık, gövde) bulabilir ve metni programlı olarak değiştirebilirsiniz—dinamik rapor oluşturma için idealdir. Kütüphane, tüm slaytlar boyunca token tabanlı değişikliği destekler, bu da toplu güncellemeleri zahmetsiz kılar. Düzen bütünlüğünü korur ve çıktının PowerPoint, Keynote ve Google Slides ile uyumlu olmasını sağlar. Bu iş akışı, yalnızca içerik değiştiğinde çalıştırılan şablonlu sunumlar için özellikle faydalıdır.
PowerPoint dosyasındaki şablon metni nasıl değiştirirsiniz?
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);
Sıfırdan Sunumlar Oluştur
`createPresentation()` ile, sıfırdan tam bir PowerPoint sunumu oluşturabilirsiniz—şablon gerekmez. Fonksiyon, bir master, tema ve varsayılan düzenler (`Blank`, `Title Slide`, `Title and Content`) içeren tamamen yapılandırılmış bir sunum döndürür. Daha sonra, tiplenmiş API'leri kullanarak slaytlar ekleyebilir, metin kutuları, görseller, tablolar ve grafikler ekleyebilirsiniz. Bu yaklaşım, tasarım ve içerik üzerinde tam kontrol sağlar, ECMA-376 uyumluluğunu korurken panolar, raporlar veya yapay zeka destekli slayt setleri için programatik sunum oluşturmayı mümkün kılar.
Sıfırdan yeni bir PowerPoint sunumu nasıl oluşturulur?
import {
addTitleSlide,
createPresentation,
savePresentation,
} from '@office-kit/pptx';
const pres = createPresentation();
addTitleSlide(pres, 'Q3 Business Review');
const out: Uint8Array = await savePresentation(pres);
Grafikler, Animasyonlar ve Yorumlar
`@office-kit/pptx`, grafikler (bar, line, pie, area), animasyonlar (fadeIn, fadeOut, appear) ve yorumlar dahil olmak üzere zengin slayt öğelerini destekler. Grafikler, PowerPoint'te düzenleme için canlı Excel verilerini gömerek, animasyonlar ise yapılandırılabilir sürelerle önceden ayarlanmış efektler kullanır. Yorumlar, yazar meta verileri ve isteğe bağlı konumlandırma ile inceleme notları eklemenizi sağlar. Bu özellikler, kütüphaneyi profesyonel standartlara uygun, etkileşimli ve veri açısından zengin sunumlar oluşturmak ve şema doğrulamasını geçmek için uygun hale getirir.
Bir slayta grafik ve animasyon nasıl eklenir?
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);
Doğrulama ve Şema Uyumu
PPTX dosyalarının ECMA-376 standardına uygun olmasını sağlamak, araçlar arasındaki uyumluluk için kritiktir. @office-kit/pptx, eksik ilişkiler, geçersiz slayt kimlikleri veya bozuk düzen referansları gibi sorunları tespit etmek için `validatePresentation()` içerir. Ayrıca, mümkün olduğunda CI ortamında `xmllint` kullanarak oluşturulan XML'i resmi şemalara karşı doğrular. Bu doğrulama katmanı, dağıtımdan önce ince hataları yakalamaya yardımcı olur ve sunumların PowerPoint, Keynote, Google Slides ve LibreOffice'de sorunsuz açılmasını sağlar—"aç ve dua et" davranışına güvenmeden.
PowerPoint sunumunu nasıl doğrularsınız?
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.
