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:

  1. Bir Presentation sınıfının örneğini oluşturun.
  2. Göstergecisini (Index) kullanarak bir slaytın başvurusunu alın.
  3. SmartArt şekli ekleyin ve LayoutType ayarlayın.
  4. 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();
    }
  }
todo:image_alt_text
Ş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.

  1. Bir Presentation sınıfının örneğini oluşturun ve SmartArt şekli içeren sunumu yükleyin.
  2. Göstergecisini kullanarak ilk slaydın başvurusunu alın.
  3. İlk slayt içindeki her şekli dolaşın.
  4. Şeklin SmartArt tipinde olup olmadığını kontrol edin ve SmartArt ise seçilen şekli SmartArt’a tip dönüştürün.
  5. 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.

  1. Bir Presentation sınıfının örneğini oluşturun ve SmartArt şekli içeren sunumu yükleyin.
  2. Göstergecisini kullanarak ilk slaydın başvurusunu alın.
  3. İlk slayt içindeki her şekli dolaşın.
  4. Şeklin SmartArt tipinde olup olmadığını kontrol edin ve SmartArt ise seçilen şekli SmartArt’a tip dönüştürün.
  5. Belirli bir Style’a sahip SmartArt şeklini bulun.
  6. SmartArt şekli için yeni Style’ı ayarlayın.
  7. 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();
  }
todo:image_alt_text
Ş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.

  1. Bir Presentation sınıfının örneğini oluşturun ve SmartArt şekli içeren sunumu yükleyin.
  2. Göstergecisini kullanarak ilk slaydın başvurusunu alın.
  3. İlk slayt içindeki her şekli dolaşın.
  4. Şeklin SmartArt tipinde olup olmadığını kontrol edin ve SmartArt ise seçilen şekli SmartArt’a tip dönüştürün.
  5. Belirli bir Color Style’a sahip SmartArt şeklini bulun.
  6. SmartArt şekli için yeni Color Style’ı ayarlayın.
  7. 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();
  }
todo:image_alt_text
Ş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.