PHP kullanarak Sunumlarda SmartArt Grafiklerini Yönetin
Genel Bakış
Aspose.Slides, PowerPoint sunumlarında SmartArt grafiklerini programlı olarak oluşturmanıza ve yönetmenize olanak tanır. Bu makale, bir slayta SmartArt şekli eklemeyi, mevcut SmartArt şekillerine erişmeyi, belirli bir düzen türüne göre SmartArt bulmayı ve SmartArt stilini veya renk stilini değiştirerek görsel görünümünü güncellemeyi açıklar.
Örnekler, sunum slaydının şekil koleksiyonu üzerinden SmartArt şekilleriyle nasıl çalışılacağını, bir şeklin SmartArt olup olmadığını kontrol etmeyi ve ardından özelliklerini değiştirmeyi veya incelemeyi gösterir.
SmartArt Şekli Oluştur
Aspose.Slides for PHP via Java, SmartArt şekilleri oluşturmak için bir API sağlamaktadır. Bir slayda SmartArt şekli oluşturmak için lütfen aşağıdaki adımları izleyin:
- Bir Presentation sınıfının örneğini oluşturun.
- Göstergecisini (Index) kullanarak bir slaytın başvurusunu alın.
- SmartArt şekli ekleyin ve LayoutType ayarlayın.
- Değiştirilen sunumu PPTX dosyası olarak kaydedin.
# Presentation sınıfını örnekleyin
$pres = new Presentation();
try {
# İlk slaytı alın
$slide = $pres->getSlides()->get_Item(0);
# Smart Art şekli ekleyin
$smart = $slide->getShapes()->addSmartArt(0, 0, 400, 400, SmartArtLayoutType::BasicBlockList);
# Sunumu kaydedin
$pres->save("SimpleSmartArt.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
![]() |
|---|
| Şekil: Slayta eklenen SmartArt şekli |
Bir Slayttaki SmartArt Şekline Erişim
Aşağıdaki kod, sunum slaydına eklenen SmartArt şekillerine erişmek için kullanılacaktır. Örnek kodda, slayt içindeki her şekli dolaşacak ve şeklin bir SmartArt olup olmadığını kontrol edeceğiz. Şekil SmartArt tipindeyse, onu SmartArt (https://reference.aspose.com/slides/tr/php-java/aspose.slides/SmartArt) örneğine tip dönüştüreceğiz.
# İstenen sunumu yükleyin
$pres = new Presentation("AccessSmartArtShape.pptx");
try {
# İlk slayt içindeki her şekli dolaşın
foreach($pres->getSlides()->get_Item(0)->getShapes() as $shape) {
# Şeklin SmartArt tipinde olup olmadığını kontrol edin
if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
# Şekli SmartArtEx'e tip dönüştürün
$smart = $shape;
echo("Shape Name:" . $smart->getName());
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Belirli Bir Düzen Türüne Sahip SmartArt Şekline Erişim
Aşağıdaki örnek kod, belirli bir LayoutType’a sahip SmartArt şekline erişmeye yardımcı olur. Lütfen unutmayın; LayoutType sadece okuma amaçlıdır ve yalnızca SmartArt şekli eklenirken ayarlanır, daha sonra değiştirilemez.
- Bir Presentation sınıfının örneğini oluşturun ve SmartArt şekli içeren sunumu yükleyin.
- Göstergecisini kullanarak ilk slaydın başvurusunu alın.
- İlk slayt içindeki her şekli dolaşın.
- Şeklin SmartArt tipinde olup olmadığını kontrol edin ve SmartArt ise seçilen şekli SmartArt’a tip dönüştürün.
- Belirli LayoutType’a sahip SmartArt şekli kontrol edin ve ardından yapılması gereken işlemleri gerçekleştirin.
$pres = new Presentation("AccessSmartArtShape.pptx");
try {
# İlk slayt içindeki her şekli dolaşın
foreach($pres->getSlides()->get_Item(0)->getShapes() as $shape) {
# Şeklin SmartArt tipinde olup olmadığını kontrol edin
if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
# Şekli SmartArtEx'e tip dönüştürün
$smart = $shape;
# SmartArt düzenini kontrol et
if ($smart->getLayout() == SmartArtLayoutType::BasicBlockList) {
echo("Do some thing here....");
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
SmartArt Şekli Stilini Değiştir
Bu örnekte, herhangi bir SmartArt şeklinin hızlı stilini değiştirmeyi öğreneceğiz.
- Bir Presentation sınıfının örneğini oluşturun ve SmartArt şekli içeren sunumu yükleyin.
- Göstergecisini kullanarak ilk slaydın başvurusunu alın.
- İlk slayt içindeki her şekli dolaşın.
- Şeklin SmartArt tipinde olup olmadığını kontrol edin ve SmartArt ise seçilen şekli SmartArt’a tip dönüştürün.
- Belirli bir Style’a sahip SmartArt şeklini bulun.
- SmartArt şekli için yeni Style’ı ayarlayın.
- Sunumu kaydedin.
# Presentation sınıfını örnekleyin
$pres = new Presentation("SimpleSmartArt.pptx");
try {
# İlk slaytı alın
$slide = $pres->getSlides()->get_Item(0);
# İlk slayt içindeki her şekli dolaşın
foreach($slide->getShapes() as $shape) {
# Şeklin SmartArt tipinde olup olmadığını kontrol edin
if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
# Şekli SmartArtEx'e tip dönüştürün
$smart = $shape;
# SmartArt stilini kontrol edin
if ($smart->getQuickStyle() == SmartArtQuickStyleType::SimpleFill) {
# SmartArt stilini değiştirin
$smart->setQuickStyle(SmartArtQuickStyleType::Cartoon);
}
}
}
# Sunumu kaydedin
$pres->save("ChangeSmartArtStyle.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
![]() |
|---|
| Şekil: Stili değiştirilen SmartArt şekli |
SmartArt Şekli Renk Stilini Değiştir
Bu örnekte, herhangi bir SmartArt şeklinin renk stilini değiştirmeyi öğreneceğiz. Aşağıdaki örnek kod, belirli bir renk stiline sahip SmartArt şekline erişecek ve stilini değiştirecektir.
- Bir Presentation sınıfının örneğini oluşturun ve SmartArt şekli içeren sunumu yükleyin.
- Göstergecisini kullanarak ilk slaydın başvurusunu alın.
- İlk slayt içindeki her şekli dolaşın.
- Şeklin SmartArt tipinde olup olmadığını kontrol edin ve SmartArt ise seçilen şekli SmartArt’a tip dönüştürün.
- Belirli bir Color Style’a sahip SmartArt şeklini bulun.
- SmartArt şekli için yeni Color Style’ı ayarlayın.
- Sunumu kaydedin.
# Presentation sınıfını örnekleyin
$pres = new Presentation("SimpleSmartArt.pptx");
try {
# İlk slaytı alın
$slide = $pres->getSlides()->get_Item(0);
# İlk slayt içindeki her şekli dolaşın
foreach($slide->getShapes() as $shape) {
# Şeklin SmartArt tipinde olup olmadığını kontrol edin
if (java_instanceof($shape, new JavaClass("com.aspose.slides.SmartArt"))) {
# Şekli SmartArtEx'e tip dönüştürün
$smart = $shape;
# SmartArt renk tipini kontrol edin
if ($smart->getColorStyle() == SmartArtColorType::ColoredFillAccent1) {
# SmartArt renk tipini değiştirin
$smart->setColorStyle(SmartArtColorType::ColorfulAccentColors);
}
}
}
# Sunumu kaydedin
$pres->save("ChangeSmartArtColorStyle.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
![]() |
|---|
| Şekil: Renk Stili değiştirilen SmartArt şekli |
SSS
SmartArt’ı tek bir nesne olarak canlandırabilir miyim?
Evet. SmartArt bir şekildir, bu nedenle diğer şekillerde olduğu gibi standard animasyonları (giriş, çıkış, vurgu, hareket yolları) animasyon API’si aracılığıyla uygulayabilirsiniz.
Bir slayttaki belirli bir SmartArt’ı iç kimliğini bilmiyorsam nasıl bulabilirim?
Alternatif Metni (AltText) ayarlayın ve şekli bu değerle arayın—bu, hedef şekli bulmanın önerilen yoludur.
SmartArt’ı diğer şekillerle gruplayabilir miyim?
Evet. SmartArt’ı diğer şekiller (resimler, tablolar vb.) ile gruplayabilir ve ardından grubu manipüle edebilirsiniz.
Belirli bir SmartArt’ın görüntüsünü (ör. önizleme veya rapor için) nasıl alabilirim?
Şeklin bir küçük resim/görüntüsünü dışa aktarın; kütüphane, tek tek şekilleri raster dosyalara (PNG/JPG/TIFF) render edebilir.
Tüm sunumu PDF’ye dönüştürürken SmartArt görünümü korunacak mı?
Evet. Rendering motoru, PDF dışa aktarımı için yüksek doğruluk hedefler ve kalite ve uyumluluk seçenekleri sunar.

