PHP'de Slayt Düzenlerini Uygulama veya Değiştirme
Giriş
Bir slayt düzeni, bir slayttaki yer tutucu kutuların yerleşimini ve içeriğin biçimlendirmesini tanımlar. Hangi yer tutucuların mevcut olduğunu ve nerede görüneceklerini kontrol eder. Slayt düzenleri, ister basit ister karmaşık bir şey oluşturuyor olun, sunumları hızlı ve tutarlı bir şekilde tasarlamanıza yardımcı olur. PowerPoint’te en yaygın slayt düzenlerinden bazıları şunlardır:
Başlık Slaytı düzeni – Başlık ve alt başlık için iki metin yer tutucusu içerir.
Başlık ve İçerik düzeni – Üstte daha küçük bir başlık yer tutucusu ve altında metin, madde işaretleri, grafikler, resimler ve daha fazlası gibi ana içerik için daha büyük bir yer tutucu bulunur.
Boş düzen – Hiç yer tutucu bulunmaz, slaytı sıfırdan tasarlamak için tam kontrol sağlar.
Slayt düzenleri, sunumun düzen stillerini tanımlayan üst düzey slayt olan slayt ana temasının bir parçasıdır. Düzen slaytlarına slayt ana temasından tip, ad veya benzersiz kimlikleriyle erişebilir ve onları değiştirebilirsiniz. Alternatif olarak, belirli bir düzen slaytını doğrudan sunum içinde düzenleyebilirsiniz.
Aspose.Slides for PHP’de slayt düzenleriyle çalışmak için şu öğeleri kullanabilirsiniz:
- Presentation sınıfı altında bulunan getLayoutSlides ve getMasters gibi yöntemler
- LayoutSlide, MasterLayoutSlideCollection, LayoutPlaceholderManager ve LayoutSlideHeaderFooterManager gibi türler
Info
Ana slaytlarla çalışmak hakkında daha fazla bilgi edinmek için Slide Master makalesine göz atın.Sunumlara Slayt Düzenleri Ekleme
Slaytlarınızın görünümünü ve yapısını özelleştirmek için bir sunuma yeni düzen slaytları eklemeniz gerekebilir. Aspose.Slides for PHP, belirli bir düzenin zaten var olup olmadığını kontrol etmenizi, gerekirse yeni bir düzen eklemenizi ve bu düzeni temel alarak slayt eklemenizi sağlar.
- Presentation sınıfının bir örneğini oluşturun.
- MasterLayoutSlideCollection öğesine erişin.
- İstenen düzen slaytı koleksiyonda zaten var mı kontrol edin. Yoksa ihtiyacınız olan düzen slaytını ekleyin.
- Yeni düzen slaytına dayalı boş bir slayt ekleyin.
- Sunumu kaydedin.
Aşağıdaki PHP kodu, bir PowerPoint sunumuna slayt düzeni eklemenin nasıl yapılacağını gösterir:
// PowerPoint dosyasını temsil eden Presentation sınıfını örnekleyin.
$presentation = new Presentation("Sample.pptx");
try {
// Bir düzen slaytı seçmek için düzen slaytı türleri arasında geçiş yapın.
$layoutSlides = $presentation->getMasters()->get_Item(0)->getLayoutSlides();
$layoutSlide = null;
if (!java_is_null($layoutSlides->getByType(SlideLayoutType::TitleAndObject))) {
$layoutSlide = $layoutSlides->getByType(SlideLayoutType::TitleAndObject);
} else {
$layoutSlide = $layoutSlides->getByType(SlideLayoutType::Title);
}
if (java_is_null($layoutSlide)) {
// Sunumun tüm düzen türlerini içermediği bir durum.
// Sunum dosyası yalnızca Boş ve Özel düzen türlerini içerir.
// Ancak, özel türlere sahip düzen slaytları tanınabilir adlara sahip olabilir,
// örneğin "Title", "Title and Content" vb., bu adlar düzen slaytı seçimi için kullanılabilir.
// Ayrıca bir dizi yer tutucu şekil türüne dayanabilirsiniz.
// Örneğin, bir Başlık slaytı yalnızca Başlık yer tutucu türüne sahip olmalıdır, vb.
foreach($layoutSlides as $titleAndObjectLayoutSlide) {
if (java_values($titleAndObjectLayoutSlide->getName()) == "Title and Object") {
$layoutSlide = $titleAndObjectLayoutSlide;
break;
}
}
if (java_is_null($layoutSlide)) {
foreach($layoutSlides as $titleLayoutSlide) {
if (java_values($titleLayoutSlide->getName()) == "Title") {
$layoutSlide = $titleLayoutSlide;
break;
}
}
if (java_is_null($layoutSlide)) {
$layoutSlide = $layoutSlides->getByType(SlideLayoutType::Blank);
if (java_is_null($layoutSlide)) {
$layoutSlide = $layoutSlides->add(SlideLayoutType::TitleAndObject, "Title and Object");
}
}
}
}
// Eklenen düzen slaytını kullanarak boş bir slayt ekleyin.
$presentation->getSlides()->insertEmptySlide(0, $layoutSlide);
// Sunumu diske kaydedin.
$presentation->save("output.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Kullanılmayan Düzen Slaytlarını Kaldırma
Aspose.Slides, istenmeyen ve kullanılmayan düzen slaytlarını silmenizi sağlayan Compress sınıfındaki removeUnusedLayoutSlides yöntemini sunar.
Aşağıdaki PHP kodu, bir PowerPoint sunumundan bir düzen slaytının nasıl kaldırılacağını gösterir:
$presentation = new Presentation("Presentation.pptx");
try {
Compress::removeUnusedLayoutSlides($presentation);
$presentation->save("Output.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Düzen Slaytlarına Yer Tutucu Ekleme
Aspose.Slides, bir düzen slaytına yeni yer tutucular eklemenizi sağlayan LayoutSlide.getPlaceholderManager yöntemini sunar.
Bu yönetici, aşağıdaki yer tutucu türleri için yöntemler içerir:
| PowerPoint Yer Tutucu | LayoutPlaceholderManager Yöntemi |
|---|---|
![]() |
addContentPlaceholder(float x, float y, float width, float height) |
![]() |
addVerticalContentPlaceholder(float x, float y, float width, float height) |
![]() |
addTextPlaceholder(float x, float y, float width, float height) |
![]() |
addVerticalTextPlaceholder(float x, float y, float width, float height) |
![]() |
addPicturePlaceholder(float x, float y, float width, float height) |
![]() |
addChartPlaceholder(float x, float y, float width, float height) |
![]() |
addTablePlaceholder(float x, float y, float width, float height) |
![]() |
addSmartArtPlaceholder(float x, float y, float width, float height) |
![]() |
addMediaPlaceholder(float x, float y, float width, float height) |
![]() |
addOnlineImagePlaceholder(float x, float y, float width, float height) |
Aşağıdaki PHP kodu, Boş düzen slaytına yeni yer tutucu şekilleri nasıl ekleyeceğinizi gösterir:
$presentation = new Presentation();
try {
// Boş düzen slaytını alın.
$layout = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank);
// Düzen slaytının yer tutucu yöneticisini alın.
$placeholderManager = $layout->getPlaceholderManager();
// Boş düzen slaytına farklı yer tutucular ekleyin.
$placeholderManager->addContentPlaceholder(20, 20, 310, 270);
$placeholderManager->addVerticalTextPlaceholder(350, 20, 350, 270);
$placeholderManager->addChartPlaceholder(20, 310, 310, 180);
$placeholderManager->addTablePlaceholder(350, 310, 350, 180);
// Boş düzen ile yeni bir slayt ekleyin.
$newSlide = $presentation->getSlides()->addEmptySlide($layout);
$presentation->save("Placeholders.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Sonuç:

Bir Düzen Slaytı için Altbilgi Görünürlüğünü Ayarlama
PowerPoint sunumlarında tarih, slayt numarası ve özel metin gibi altbilgi öğeleri, slayt düzenine bağlı olarak gösterilebilir veya gizlenebilir. Aspose.Slides for PHP, bu altbilgi yer tutucularının görünürlüğünü kontrol etmenizi sağlar. Bu, bazı düzenlerin altbilgi bilgilerini gösterirken diğerlerinin temiz ve sade kalmasını istediğinizde kullanışlıdır.
- Presentation sınıfının bir örneğini oluşturun.
- İndeksiyle bir düzen slaytı referansı alın.
- Slayt altbilgi yer tutucusunu görünür olarak ayarlayın.
- Slayt numarası yer tutucusunu görünür olarak ayarlayın.
- Tarih‑zaman yer tutucusunu görünür olarak ayarlayın.
- Sunumu kaydedin.
Aşağıdaki PHP kodu, bir slayt altbilgisinin görünürlüğünü nasıl ayarlayacağınızı ve ilgili görevleri nasıl gerçekleştireceğinizi gösterir:
$presentation = new Presentation("Presentation.ppt");
try {
$headerFooterManager = $presentation->getLayoutSlides()->get_Item(0)->getHeaderFooterManager();
if (!$headerFooterManager->isFooterVisible()) {
$headerFooterManager->setFooterVisibility(true);
}
if (!$headerFooterManager->isSlideNumberVisible()) {
$headerFooterManager->setSlideNumberVisibility(true);
}
if (!$headerFooterManager->isDateTimeVisible()) {
$headerFooterManager->setDateTimeVisibility(true);
}
$headerFooterManager->setFooterText("Footer text");
$headerFooterManager->setDateTimeText("Date and time text");
$presentation->save("Presentation.ppt", SaveFormat::Ppt);
} finally {
$presentation->dispose();
}
Bir Slayt İçin Alt Çocuk Altbilgi Görünürlüğünü Ayarlama
PowerPoint sunumlarında tarih, slayt numarası ve özel metin gibi altbilgi öğeleri, tüm düzen slaytlarında tutarlılığı sağlamak amacıyla ana slayt seviyesinde kontrol edilebilir. Aspose.Slides for PHP, bu altbilgi yer tutucularının görünürlüğünü ve içeriğini ana slaytta belirlemenize ve bu ayarları tüm çocuk düzen slaytlarına yaymanıza olanak tanır. Bu yaklaşım, sunumunuz boyunca tutarlı altbilgi bilgilerinin olmasını garantiler.
- Presentation sınıfının bir örneğini oluşturun.
- İndeksiyle ana slayta bir referans alın.
- Ana slaytın ve tüm çocuk altbilgi yer tutucularının görünürlüğünü ayarlayın.
- Ana slaytın ve tüm çocuk slayt numarası yer tutucularının görünürlüğünü ayarlayın.
- Ana slaytın ve tüm çocuk tarih‑zaman yer tutucularının görünürlüğünü ayarlayın.
- Sunumu kaydedin.
Aşağıdaki PHP kodu bu işlemi gösterir:
$presentation = new Presentation("presentation.ppt");
try {
$headerFooterManager = $presentation->getMasters()->get_Item(0)->getHeaderFooterManager();
$headerFooterManager->setFooterAndChildFootersVisibility(true);
$headerFooterManager->setSlideNumberAndChildSlideNumbersVisibility(true);
$headerFooterManager->setDateTimeAndChildDateTimesVisibility(true);
$headerFooterManager->setFooterAndChildFootersText("Footer text");
$headerFooterManager->setDateTimeAndChildDateTimesText("Date and time text");
$presentation->save("Output.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
SSS
Bir ana slayt ile bir düzen slaytı arasındaki fark nedir?
Ana slayt genel temayı ve varsayılan biçimlendirmeyi tanımlarken, düzen slaytları farklı içerik türleri için yer tutucuların belirli düzenlemelerini tanımlar.
Bir düzen slaytını bir sunumdan başka bir sunuma kopyalayabilir miyim?
Evet, bir sunumun düzen slayt koleksiyonundan ( getLayoutSlides yöntemiyle erişilebilir) bir düzen slaytını klonlayabilir ve addClone yöntemiyle başka bir sunuma ekleyebilirsiniz.
Bir slayt tarafından hâlâ kullanılan bir düzen slaytını silersem ne olur?
Eğer bir düzen slaytı, sunumdaki en az bir slayt tarafından hâlâ referans ediliyorsa, Aspose.Slides bir PptxEditException fırlatır. Bunu önlemek için, yalnızca kullanılmayan düzen slaytlarını güvenle kaldıran removeUnusedLayoutSlides yöntemini kullanın.









