JavaScript'te Sunum Slayt Ana Sayfalarını Yönetme
Genel Bakış
Bir slayt ana sayfası, bir grup slayt için ortak tasarım ayarlarını tanımlar. Ortak şekiller, logolar, arka planlar, metin stilleri, tema ayarları ve altbilgi ayarları içerebilir. PowerPoint’te, slayt ana sayfasını düzenlemek, aynı biçimlendirmeyi her slaytta tekrarlamadan sunumu tutarlı tutmanın yaygın yoludur.
Aspose.Slides for Node.js via Java aynı modeli destekler. Bir sunum bir veya daha fazla ana slayt içerebilir ve her ana slayt birkaç düzen slaytı içerebilir. Normal slaytlar doğrudan bir ana slayta başvurmaz. Bunun yerine, normal bir slayt bir düzen slaytı kullanır ve bu düzen slaytı bir ana slayta aittir.
Hiyerarşi şöyledir:
- Slayt ana sayfası – ortak tasarımı ve temayı tanımlar.
- Düzen slaytı – yer tutucuların belirli bir düzenini ve düzen‑seviyesi biçimlendirmeyi tanımlar.
- Normal slayt – gerçek sunum içeriğini içerir ve bir düzen slaytı kullanır.

Aspose.Slides’ta bir slayt ana sayfası, MasterSlide sınıfı tarafından temsil edilir. Bir sunumdaki tüm ana slaytlar Presentation.getMasters() koleksiyonu üzerinden erişilebilir.
Inheritance
Aynı özellik birden fazla seviyede tanımlandığında, daha spesifik seviye kazanır. Örneğin, bir ana slayt ve bir düzen slaytı her ikisi de bir arka plan tanımlarsa, o düzene dayalı slaytlar düzen arka planını kullanır. Düzen slaytları hakkında daha fazla bilgi için Uygula veya Slayt Düzenlerini Değiştir bölümüne bakın.Slayt Ana Sayfalarına Erişim
PowerPoint’te Görünüm > Slayt Ana Sayfası menüsünden Slayt Ana Sayfası görünümünü açabilirsiniz.

Aspose.Slides’ta ana slaytlara erişmek için getMasters() koleksiyonunu kullanın:
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
let firstMasterSlide = presentation.getMasters().get_Item(0);
let masterSlideCount = presentation.getMasters().size();
let firstMasterLayoutSlideCount = firstMasterSlide.getLayoutSlides().size();
console.log("Master slides: " + masterSlideCount);
console.log("Layouts in the first master: " + firstMasterLayoutSlideCount);
} finally {
presentation.dispose();
}
Ayrıca bir normal slaytın kullandığı ana slaytı, onun düzeni aracılığıyla alabilirsiniz:
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
let slide = presentation.getSlides().get_Item(0);
let layoutSlide = slide.getLayoutSlide();
let masterSlide = layoutSlide.getMasterSlide();
let masterSlideName = masterSlide.getName();
console.log(masterSlideName);
} finally {
presentation.dispose();
}
Bir Slayt Ana Sayfasının İçeriği
Bir ana slayt, slayt benzeri bir nesnedir. Ortak slayt davranışını BaseSlide sınıfından devralır; bu nedenle normal ve düzen slaytlarıyla aynı slayt özelliklerinin çoğunu sunar. Ana slayta özgü üyeler MasterSlide API sayfasında listelenmiştir.
Sık kullanılan ana slayt üyeleri şunlardır:
| Üye | Amaç |
|---|---|
getBackground() |
Ana sayfa düzeyinde slayt arka planını ayarlar. |
getShapes() |
Logolar, resim çerçeveleri ve paylaşılan metin gibi ana sayfaya yerleştirilen şekilleri depolar. |
getLayoutSlides() |
Ana sayfaya ait düzen slaytlarını depolar. |
getThemeManager() |
Ana sayfa tema API’lerine erişim sağlar. |
getHeaderFooterManager() |
Ana sayfa ve ona bağlı düzenler için üst bilgi, alt bilgi, tarih ve slayt numaralarını kontrol eder. |
getDependingSlides() |
Düzenleri aracılığıyla ana sayfaya bağlı olan normal slaytları döndürür. |
Bir Slayt Ana Sayfaya Görsel Ekleme
Bir ana slayta görsel eklediğinizde, o ana slayttan gelen düzenleri kullanan slaytlarda görünür. Logo, filigran, süs bandı ve diğer tekrarlanan görsel öğeler için kullanışlıdır.
Aşağıdaki örnek, ilk ana slayta bir logo ekler:
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
let masterSlide = presentation.getMasters().get_Item(0);
let logo = aspose.slides.Images.fromFile("logo.png");
try {
let logoImage = presentation.getImages().addImage(logo);
masterSlide.getShapes().addPictureFrame(
aspose.slides.ShapeType.Rectangle,
20,
20,
80,
80,
logoImage);
} finally {
logo.dispose();
}
presentation.save("presentation-with-logo.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Resim çerçeveleri hakkında daha fazla bilgi için Resim Çerçevesi bölümüne bakın.
Yer Tutucularla Çalışma
Yer tutucular genellikle düzen slaytlarında tanımlanır. Ana slayt, bu düzenlerin devraldığı ortak stil ve temayı sağlar; her düzen ise hangi yer tutucuların mevcut olduğunu ve nerede konumlandırılacağını belirler.
PowerPoint’te yer tutucu komutları Slayt Ana Sayfası görünümünde bulunur.

Aspose.Slides ile yeni yer tutucular eklemek için, ana slayta ait düzen slaytıyla çalışın:
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
let masterSlide = presentation.getMasters().get_Item(0);
let blankLayoutType = java.newByte(aspose.slides.SlideLayoutType.Blank);
let blankLayoutSlide = masterSlide.getLayoutSlides().getByType(blankLayoutType);
if (blankLayoutSlide === null) {
blankLayoutSlide = masterSlide.getLayoutSlides().add(blankLayoutType, "Blank");
}
blankLayoutSlide.getPlaceholderManager().addTextPlaceholder(60, 120, 600, 80);
presentation.getSlides().addEmptySlide(blankLayoutSlide);
presentation.save("presentation-with-placeholder.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Ayrıca bir ana slayt üzerindeki mevcut yer tutucu şekillerini biçimlendirebilirsiniz. Aşağıdaki örnek, başlık yer tutucusunu bulur ve lineer bir degrade dolgu uygular:
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
let masterSlide = presentation.getMasters().get_Item(0);
let titlePlaceholder = null;
let masterShapes = masterSlide.getShapes();
let masterShapeCount = masterShapes.size();
for (let masterShapeIndex = 0; masterShapeIndex < masterShapeCount; masterShapeIndex++) {
let shape = masterShapes.get_Item(masterShapeIndex);
if (java.instanceOf(shape, "com.aspose.slides.AutoShape")) {
let placeholder = shape.getPlaceholder();
if (placeholder !== null && placeholder.getType() === aspose.slides.PlaceholderType.Title) {
titlePlaceholder = shape;
break;
}
}
}
if (titlePlaceholder !== null) {
let gradientFillType = java.newByte(aspose.slides.FillType.Gradient);
let linearGradientShape = java.newByte(aspose.slides.GradientShape.Linear);
let redGradientColor = java.newInstanceSync("java.awt.Color", 255, 0, 0);
let purpleGradientColor = java.newInstanceSync("java.awt.Color", 128, 0, 128);
titlePlaceholder.getFillFormat().setFillType(gradientFillType);
titlePlaceholder.getFillFormat().getGradientFormat().setGradientShape(linearGradientShape);
titlePlaceholder.getFillFormat().getGradientFormat().getGradientStops().add(0.0, redGradientColor);
titlePlaceholder.getFillFormat().getGradientFormat().getGradientStops().add(255.0, purpleGradientColor);
}
presentation.save("presentation-title-style.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}

Daha fazla yer tutucu ve metin biçimlendirme seçeneği için Yer Tutucuda İpucu Metni Ayarlama ve Metin Biçimlendirme bölümlerine bakın.
Slayt Ana Sayfa Arka Planını Değiştirme
Ana sayfa arka planı, üzerine yazılmadığı sürece düzenler ve slaytlar tarafından devralınır. Aşağıdaki örnek, ilk ana slayt için katı bir arka plan rengi ayarlar:
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
let masterSlide = presentation.getMasters().get_Item(0);
let ownBackgroundType = java.newByte(aspose.slides.BackgroundType.OwnBackground);
let solidFillType = java.newByte(aspose.slides.FillType.Solid);
let masterBackgroundColor = java.getStaticFieldValue("java.awt.Color", "GREEN");
masterSlide.getBackground().setType(ownBackgroundType);
masterSlide.getBackground().getFillFormat().setFillType(solidFillType);
masterSlide.getBackground().getFillFormat().getSolidFillColor().setColor(masterBackgroundColor);
presentation.save("presentation-master-background.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
İlgili konular için Sunum Arka Planı ve Sunum Teması bölümlerine bakın.
Bir Slayt Ana Sayfayı Başka Bir Sunuma Klonlama
MasterSlideCollection.addClone yöntemini kullanarak bir ana slaytı başka bir sunuma kopyalayabilirsiniz. Kopyalanan ana slayt, hedef sunumdaki düzenler ve slaytlar tarafından kullanılabilir.
let sourcePresentation = new aspose.slides.Presentation("source.pptx");
let destinationPresentation = new aspose.slides.Presentation("destination.pptx");
try {
let sourceMasterSlide = sourcePresentation.getMasters().get_Item(0);
let clonedMasterSlide = destinationPresentation.getMasters().addClone(sourceMasterSlide);
destinationPresentation.save("destination-with-master.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
sourcePresentation.dispose();
destinationPresentation.dispose();
}
Ana slaytlarıyla birlikte normal slaytları da klonlamanız gerekiyorsa, Slaytları Klonla bölümüne bakın.
Birden Çok Slayt Ana Sayfa Ekleme
Bir sunum birden çok ana slayt içerebilir. Bu, farklı bölümlerin farklı marka, sayfa yapısı veya tema ayarları gerektirdiği durumlarda kullanışlıdır.

Aşağıdaki örnek, varsayılan ana slaytı klonlar, klona farklı bir arka plan verir, o klonlanmış ana slayt altında bir düzen oluşturur ve bu düzen temel alınarak yeni bir slayt ekler:
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
let defaultMasterSlide = presentation.getMasters().get_Item(0);
let sectionMasterSlide = presentation.getMasters().addClone(defaultMasterSlide);
let ownBackgroundType = java.newByte(aspose.slides.BackgroundType.OwnBackground);
let solidFillType = java.newByte(aspose.slides.FillType.Solid);
let sectionMasterBackgroundColor = java.getStaticFieldValue("java.awt.Color", "LIGHT_GRAY");
sectionMasterSlide.getBackground().setType(ownBackgroundType);
sectionMasterSlide.getBackground().getFillFormat().setFillType(solidFillType);
sectionMasterSlide.getBackground().getFillFormat().getSolidFillColor().setColor(sectionMasterBackgroundColor);
let blankLayoutType = java.newByte(aspose.slides.SlideLayoutType.Blank);
let sourceBlankLayout = defaultMasterSlide.getLayoutSlides().getByType(blankLayoutType);
if (sourceBlankLayout === null) {
sourceBlankLayout = defaultMasterSlide.getLayoutSlides().get_Item(0);
}
let sectionBlankLayout = sectionMasterSlide.getLayoutSlides().addClone(sourceBlankLayout);
presentation.getSlides().addEmptySlide(sectionBlankLayout);
presentation.save("presentation-with-multiple-masters.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Slayt Ana Sayfaları Karşılaştırma
Ana slaytlar, BaseSlide sınıfından devralınan equals yöntemi ile karşılaştırılabilir. Karşılaştırma, şekiller, metin, biçimlendirme, animasyonlar ve diğer slayt ayarları gibi yapı ve statik içeriği kontrol eder. Slayt kimlikleri gibi benzersiz tanımlayıcıları veya mevcut tarih gibi dinamik yer tutucu değerlerini karşılaştırmaz.
let firstPresentation = new aspose.slides.Presentation("first.pptx");
let secondPresentation = new aspose.slides.Presentation("second.pptx");
try {
let firstPresentationMasterCount = firstPresentation.getMasters().size();
let secondPresentationMasterCount = secondPresentation.getMasters().size();
for (let firstMasterIndex = 0; firstMasterIndex < firstPresentationMasterCount; firstMasterIndex++) {
for (let secondMasterIndex = 0; secondMasterIndex < secondPresentationMasterCount; secondMasterIndex++) {
let firstMasterSlide = firstPresentation.getMasters().get_Item(firstMasterIndex);
let secondMasterSlide = secondPresentation.getMasters().get_Item(secondMasterIndex);
let areMasterSlidesEqual = firstMasterSlide.equals(secondMasterSlide);
if (areMasterSlidesEqual) {
console.log(
"first.pptx master #" + firstMasterIndex +
" equals second.pptx master #" + secondMasterIndex);
}
}
}
} finally {
firstPresentation.dispose();
secondPresentation.dispose();
}
Daha fazla bilgi için Sunum Slaytlarını Karşılaştırma bölümüne bakın.
Slayt Ana Sayfa Görünümünü Varsayılan Görünüm Olarak Ayarlama
ViewProperties üzerinde setLastView metodunu kullanarak PowerPoint’in ilk açtığı görünümü kontrol edebilirsiniz. Aşağıdaki örnek, sunumu Slayt Ana Sayfa görünümünde açar:
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
let slideMasterViewType = java.newByte(aspose.slides.ViewType.SlideMasterView);
presentation.getViewProperties().setLastView(slideMasterViewType);
presentation.save("presentation-master-view.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Daha fazla görünüm ayarı için Sunumu Kaydet bölümüne bakın.
Kullanılmayan Ana Sayfaları Kaldırma
Bazen bir sunum, herhangi bir normal slayt tarafından artık kullanılmayan ana slaytlar içerebilir. Kullanılmayan ana sayfaları kaldırmak dosya boyutunu azaltır ve şablon bakımını basitleştirir.
removeUnused metodunu kullanarak getMasters() koleksiyonundaki kullanılmayan ana slaytları kaldırın:
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
presentation.getMasters().removeUnused(true);
presentation.save("presentation-clean.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Ayrıca düşük‑kodlu Compress.removeUnusedMasterSlides metodunu da kullanabilirsiniz:
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
aspose.slides.Compress.removeUnusedMasterSlides(presentation);
presentation.save("presentation-clean.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
presentation.dispose();
}
SSS
Bir slayt ana sayfası ile bir düzen slaytı arasındaki fark nedir?
Bir slayt ana sayfası tema, arka plan, ortak şekiller ve metin stilleri gibi ortak tasarım ayarlarını tanımlar. Bir düzen slaytı bir ana slayta aittir ve yer tutucuların belirli bir düzenini tanımlar. Normal bir slayt bir düzen slaytı kullanır, bu yüzden hem düzen hem de ana slayttan devralır.
Bir sunum birden fazla slayt ana sayfası içerebilir mi?
Evet. Bir sunum birden fazla slayt ana sayfası içerebilir. Farklı bölümlerin farklı görsel sistemler veya marka kimliği gerektirdiği durumlarda birden fazla ana sayfa kullanın.
Yer tutucuları bir ana slayta mı yoksa bir düzen slayta mı eklemeliyim?
Çoğu durumda yer tutucuları düzen slaytlara ekleyin. Paylaşılan görsel öğeleri ve ortak biçimlendirmeyi ana slayta, içerik yer tutucularını ise normal slaytların kullanacağı düzen slaytlara koyun.
Kullanımda olan bir ana slaytı silebilir miyim?
Hayır. Bağımlı slaytları olan bir ana slayt doğrudan güvenli bir şekilde kaldırılamaz. Önce bu slaytları başka bir ana slayt altındaki düzenlere taşıyın veya yalnızca kullanılmayan ana slaytları temizleyen bir yöntem kullanın.