Python'da PowerPoint'te Şekillerle Çalışma

İçeriği daha ayrıntılı hale getirmek için PowerPoint sunumlarında çeşitli diyagram türleri kullanılır. Bu diyagramlar, elipsler, çizgiler, dikdörtgenler ve bağlayıcılar gibi farklı şekillerden oluşur. Bu makalede, Python’da programlı olarak PowerPoint slaytlarına şekil eklemeyi, klonlamayı ve kaldırmayı öğreneceksiniz.

PowerPoint Şekilleriyle Çalışmak İçin Python Kitaplığı

Aspose.Slides for Python via .NET, Python uygulamalarının içinden PowerPoint sunumları oluşturmak ve yönetmek için tasarlanmıştır. PowerPoint slaytlarındaki şekillerle çalışmak için bu kitaplığı kullanacağız. Aşağıdaki pip komutunu kullanarak PyPI‘den kurabilirsiniz.

> pip install aspose.slides

PowerPoint’teki Şekil Türleri

Aspose.Slides for Python kullanarak PowerPoint sunumlarında çeşitli şekiller oluşturabilirsiniz. En sık kullanılan şekiller şunları içerir:

Python’da PowerPoint Slaytlarına Şekil Ekleme

Elips, çizgi, dikdörtgen dahil olmak üzere herhangi bir şekli eklemek için, şeklin türünü ve diğer gerekli parametreleri geçirebileceğiniz addautoshape(ShapeType, Single, Single, Single, Single) yöntemi kullanılır. ShapeType sıralaması, şeklin türünü belirtmek için kullanılır. Python’da bir PowerPoint slaydına şekil ekleme adımları aşağıda verilmiştir.

  1. Presentation sınıfını kullanarak bir sunum oluşturun veya mevcut bir sunumu yükleyin.
  2. Presentation.slides koleksiyonundan istenen slaydın referansını edinin.
  3. addautoshape(ShapeType, Single, Single, Single, Single) yöntemini kullanarak bir Elips (veya başka bir şekil) ekleyin.
  4. Presentation.save(String, SaveFormat) yöntemini kullanarak sunuyu kaydedin.

Aşağıdaki kod örneği, Python’da bir PowerPoint slaydına nasıl şekil ekleneceğini gösterir.

import aspose.slides as slides
import aspose.pydrawing as drawing

# Yeni bir sunu oluştur
with slides.Presentation() as pres:
    # İlk slaydı alın
    sld = pres.slides[0]

    # Elips türünün otomatik şeklini ekle
    shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50)

    # Elips şekline biraz biçimlendirme uygulayın
    shp.fill_format.fill_type = slides.FillType.SOLID
    shp.fill_format.solid_fill_color.color = drawing.Color.pink

    # Ellipse satırına biraz biçimlendirme uygulayın
    shp.line_format.fill_format.fill_type = slides.FillType.SOLID
    shp.line_format.fill_format.solid_fill_color.color = drawing.Color.purple
    shp.line_format.width = 5

    # PPTX dosyasını diske kaydedin
    pres.save("add-ellipse.pptx", slides.export.SaveFormat.PPTX)

Yukarıdaki kod örneğini kullanarak eklediğimiz elips aşağıdadır.

Python'da PowerPoint PPT'ye Şekil Ekleme

PowerPoint Şekillerini Python’da Bir Bağlayıcı ile Bağlayın

Diyagramlarda, farklı şekiller bağlayıcı adı verilen bir çizgi kullanılarak birbirine bağlanır. Bir konektör düz veya eğri bir çizgi olabilir. Python’da iki PowerPoint şekli arasına nasıl bağlayıcı ekleneceğini görelim.

  1. İlk olarak, sunum oluşturmak veya yüklemek için Presentation sınıfının bir örneğini oluşturun.
  2. Ardından Presentation.slides koleksiyonunu kullanarak bir slaydın referansını edinin.
  3. Önceki bölümde eklediğiniz gibi iki şekil ekleyin ve referanslarını alın.
  4. addconnector(ShapeType, Single, Single, Single, Single) yöntemini kullanarak bir bağlayıcı oluşturun.
  5. Connector.startshapeconnectedto ve Connector.endshapeconnectedto özelliklerini kullanarak şekilleri birleştirin.
  6. En kısa otomatik bağlantı yolunu oluşturmak için Connector.reroute() yöntemini çağırın.
  7. Son olarak Presentation.save(string, SaveFormat) yöntemini kullanarak sunuyu kaydedin.

Aşağıdaki kod örneği, Python’da bir PowerPoint slaydındaki şekillerin nasıl bağlanacağını gösterir.

import aspose.slides as slides
import aspose.pydrawing as drawing

# Sunu oluştur
with slides.Presentation() as presentation:
    # Seçilen slayt için şekiller koleksiyonuna erişin
    shapes = presentation.slides[0].shapes

    # elips ekle
    ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100)

    # Otomatik şekil dikdörtgen ekle
    rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100)

    # Şekilleri bağlamak için bağlayıcı ekleyin
    connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10)

    # Bağlayıcı kullanarak şekilleri birleştirme
    connector.start_shape_connected_to = ellipse
    connector.end_shape_connected_to = rectangle

    # Şekiller arasındaki otomatik en kısa yolu ayarlamak için arama yeniden yönlendirme
    connector.reroute()

    # Sunumu kaydet
    presentation.save("add-connector.pptx", slides.export.SaveFormat.PPTX)

Şekilleri bir bağlayıcı ile bağladıktan sonraki sunumun ekran görüntüsü aşağıdadır.

PowerPoint Şekillerini Python'da Bir Bağlayıcı ile Bağlayın

Python’da PowerPoint Şekillerini Klonlama

Bazen, yeni bir tane oluşturmak yerine şekilleri klonlamayı tercih edersiniz. Bunu başarmak için Aspose.Slides, şekil klonlamayı destekler. Aşağıda, Python kullanarak PowerPoint’te bir şekli klonlama adımları yer almaktadır.

  1. İlk olarak, sunum dosyasını yüklemek için Presentation sınıfını kullanın.
  2. Presentation.slides koleksiyonundan bir slaydın referansını edinin.
  3. ISlide.shapes koleksiyonundan kaynak ve hedef slayt şekillerine erişin.
  4. Addclone() yöntemini kullanarak şekilleri kaynak slayt şekil koleksiyonundan hedef slayda klonlayın.
  5. Son olarak, güncellenen sunum dosyasını kaydedin.

Aşağıdaki kod örneği, Python’da PowerPoint slaytlarındaki şekillerin nasıl kopyalanacağını gösterir.

import aspose.slides as slides

# Sunumu yükle
with slides.Presentation("add-ellipse.pptx") as presentation:
    # Kaynak slaydın şekillerine erişme
    sourceShapes = presentation.slides[0].shapes

    # Yeni bir boş slayt ekle
    blankLayout = presentation.masters[0].layout_slides.get_by_type(slides.SlideLayoutType.BLANK)
    destSlide = presentation.slides.add_empty_slide(blankLayout)

    # Hedef slaydın şekillerine erişin
    destShapes = destSlide.shapes

    # şekilleri klonla
    destShapes.add_clone(sourceShapes[0], 50, 150 + sourceShapes[0].height)
    destShapes.add_clone(sourceShapes[0])                 
    destShapes.insert_clone(0, sourceShapes[0], 50, 150)

    # Dosyayı kaydet
    presentation.save("clone-shapes.pptx", slides.export.SaveFormat.PPTX)

Python’da PowerPoint Slaytlarından Şekilleri Kaldırma

Aşağıdaki adımları izleyerek de PowerPoint sunularından şekilleri kaldırabilirsiniz.

  1. PPT/PPTX dosyasını yüklemek için Presentation sınıfının bir örneğini oluşturun.
  2. Presentation.slides koleksiyonundan istediğiniz slayda erişin.
  3. IShape.alternativetext özelliğini kullanarak istediğiniz şekli belirli bir metinle filtreleyin.
  4. ISlide.shapes.remove(IShape) yöntemini kullanarak şekli kaldırın.
  5. Son olarak, güncellenen sunum dosyasını kaydedin.

Aşağıdaki kod örneği, Python’da bir PowerPoint slaydından şekillerin nasıl kaldırılacağını gösterir.

# Sunumu yükle
with slides.Presentation("add-ellipse.pptx") as presentation:
    # İlk slaydı alın
    sld = presentation.slides[0]

    alttext = "User Defined"

    # Şekiller arasında döngü
   for i in range(len(sld.shapes)):
        # Alternatif metne göre şekli bul
        ashp = sld.shapes[0]
        if ashp.alternative_text == alttext:
            sld.shapes.remove(ashp)

    # Dosyayı kaydet
    presentation.save("remove-shapes.pptx", slides.export.SaveFormat.PPTX)

Ücretsiz Lisans Alın

Aspose.Slides for Python’u değerlendirme sınırlamaları olmaksızın kullanmak için ücretsiz bir geçici lisans alabilirsiniz.

Çözüm

MS PowerPoint, akış çizelgeleri gibi farklı türde diyagramlar oluşturmak için bir dizi şekli destekler. Bu makalede, elips, dikdörtgen gibi PowerPoint şekillerinin nasıl oluşturulacağını ve bunları Python’da bağlayıcılar kullanarak nasıl bağlayacağımızı ele aldık. Ayrıca, PowerPoint slaytlarındaki şekilleri programlı olarak nasıl klonlayacağınızı ve kaldıracağınızı öğrendiniz. Belgeleri kullanarak Aspose.Slides for Python hakkında daha fazlasını keşfedebilirsiniz. Ayrıca forumumuz aracılığıyla sorularınızı bize bildirmekten çekinmeyin.

Ayrıca bakınız