Introduction

Bu kılavuz, PowerPoint sunumlarını Python’da Aspose.Slides FOSS kullanarak nasıl oluşturacağınızı, değiştireceğinizi ve kaydeteceğinizizi gösterir.Kütüphane, slaytları çarpışma, ekleme ve düzenleme slayılardan yapmanızı, şekillerde, tablolarda ve biçimlendirilmiş metinlerle popülerleştirmenizi sağlar ve sonuç PPTX’e kaydedilir.Tüm işleme Microsoft Office veya herhangi bir dış ikili bağımlılığı olmadan saf Python’ta gerçekleşir.

Kütüphane Pypi’de mevcuttur aspose-slides-foss MIT lisansı altında. yükleme ile birlikte pip, ithal et, ve birkaç satır kodda sunumlar inşa başlatın. rapor üretimi otomatikleştirir, bir slide-deck boru hattı oluşturur veya yerleşim yapar. Web uygulamasındaki sunum çıkışı, API tam yüzeyi kaplar: slide koleksiyonlar, master/layout slides, şekil koleksiyaları, metin çerçeveleri, doldurma biçimleri ve ihracat seçenekleri.

Bu yazı, temel sunum-yönetim yeteneklerini inceler - Python’da slaytlarla çalışırken en çok kullanacağınız sınıflar ve yöntemler.


Ne içeriyor

Hayat döngüsü sunumu

O zamanlar Presentation sınıf giriş noktasıdır. yeni bir çatı oluşturun, içeriğini manipüle edin ve PPTX’e kaydedin. Presentation Konteyner Yöneticisi olarak, with Dosya işlemleri otomatik olarak serbest bırakılır.

import io
from aspose.slides_foss import Presentation
from aspose.slides_foss.export import SaveFormat

with Presentation() as pres:
    # A new presentation starts with one blank slide
    print("Slides:", len(pres.slides))  # 1

    # Save to a file
    pres.save("output.pptx", SaveFormat.PPTX)

    # Or save to a stream
    buf = io.BytesIO()
    pres.save(buf, SaveFormat.PPTX)

Slide Koleksiyon İşlemleri

SlideCollection ekleme, girme, klonlama, kaldırma ve yeniden düzenleme slaytları. len(pres.slides) Her değişimden sonra mevcut sayıyı yansıtıyor.

from aspose.slides_foss import Presentation, ShapeType

with Presentation() as pres:
    layout = pres.layout_slides[0]

    # Add a blank slide using the first layout
    pres.slides.add_empty_slide(layout)

    # Insert at a specific position
    pres.slides.insert_empty_slide(1, layout)

    # Clone an existing slide (shapes are copied)
    pres.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 200, 100)
    pres.slides.add_clone(pres.slides[0])

    print("Total slides:", len(pres.slides))  # 4

    # Remove by index
    pres.slides.remove_at(3)

Şekilleri ve AutoShapes

Herhangi bir slayt için düz, elips, üçgen ve diğer geometrik şekiller ekleyin. ShapeCollection.add_auto_shape().Her şekil pozisyon, boyut, dönüşü gösterir., ve kaydetme/yükleme döngüleri boyunca devam eden özellikleri doldur.

from aspose.slides_foss import Presentation, ShapeType

with Presentation() as pres:
    slide = pres.slides[0]
    slide.shapes.clear()

    rect = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 150)
    rect.rotation = 15

    ellipse = slide.shapes.add_auto_shape(ShapeType.ELLIPSE, 400, 50, 200, 200)

    # Reorder z-index
    slide.shapes.reorder(0, ellipse)
    print("Front shape:", slide.shapes[0].shape_type)  # ELLIPSE

Tables

Tabloları ile oluşturun ShapeCollection.add_table(), celi metin ile TextFrame, hücreleri birleştirin ve sınır biçimlendirmesi uygulayın. tekerlek yükseklikleri ve sütunları Genişlikler, yapımcılara aktardığınız değerlere eşleşir.

from aspose.slides_foss import Presentation, FillType
from aspose.slides_foss.drawing import Color

    table = slide.shapes.add_table(50, 50, [150, 150, 150], [40, 40, 40])

    # Merge two cells in the second row
    table.merge_cells(table.rows[1][0], table.rows[1][1], False)

    # Style the header row with a bottom border
    for col_idx in range(len(table.columns)):
        fmt = table.rows[0][col_idx].cell_format
        fmt.border_bottom.fill_format.fill_type = FillType.SOLID
        fmt.border_bottom.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 0, 0)
        fmt.border_bottom.width = 2

Master ve Layout Slides

Her sunumda master slides ve layout slids bir hierarşiye sahiptir. yoluyla Presentation.masters ve Presentation.layout_slides tutarlı uygulama Sizin deck üzerinden yapıştırın.

from aspose.slides_foss import Presentation

with Presentation() as pres:
    master = pres.masters[0]
    print("Master layouts:", len(master.layout_slides))

    # Pick a layout by type
    from aspose.slides_foss import SlideLayoutType
    title_layout = pres.layout_slides.get_by_type(SlideLayoutType.TITLE)
    if title_layout:
        pres.slides.add_empty_slide(title_layout)

Belge Mülkiyeti

Yazı yazma ve metadata gibi başlık, yazar ve konu içerir. DocumentProperties bu özelliklerden herhangi birini arama yapmadan önce ayarlayın save() - PPTX metadata yerleştirilir ve aşağıdaki aletlerle okunabilir:

from aspose.slides_foss import Presentation
from aspose.slides_foss.export import SaveFormat

with Presentation() as pres:
    props = pres.document_properties
    props.title = "Quarterly Report"
    props.author = "Engineering"
    props.subject = "Q1 2026 Results"

    pres.save("report.pptx", SaveFormat.PPTX)

Hızlı Başlangıç

PYPI’den Python için Aspose.Slides FOSS yüklemek için aşağıdaki pip komutunu çalıştırın:

pip install aspose-slides-foss

Aşağıdaki örnek bir başlık şeklinde bir sunum oluşturur, bir veri tablosu ve bir doldurma ile, sonra PPTX’e kaydedilir:

from aspose.slides_foss import Presentation, ShapeType, FillType, NullableBool
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat

    # Add a title shape
    title = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 30, 860, 80)
    tf = title.add_text_frame("Quarterly Report")
    tf.paragraphs[0].portions[0].portion_format.font_bold = NullableBool.TRUE
    tf.paragraphs[0].portions[0].portion_format.font_height = 28

    # Add a data table
    table = slide.shapes.add_table(50, 150, [200, 200, 200], [40, 40, 40])
    headers = ["Region", "Revenue", "Growth"]
    for i, h in enumerate(headers):
        table.rows[0][i].text_frame.text = h

    # Fill the title shape background
    title.fill_format.fill_type = FillType.SOLID
    title.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 51, 102)

    # Save as PPTX
    pres.save("report.pptx", SaveFormat.PPTX)

Desteklenen Formatlar

FormatExtensionReadWrite
PPTX.pptx için
PPT.PTTPlanned
PPSX.px içinPlanned
PPTM.pptm içinPlanned
POTX.POTX İÇİNPlanned
ODP.ODPPlanned
PDF.pdf içinPlanned
HTML.HtmlPlanned
HTML5.HtmlPlanned
TIFF.TifPlanned
GIF.GIFPlanned
XPS.xps içinPlanned
FODP.FODP içinPlanned
MD.MdPlanned

Not : PPTX okuma ve yazma tamamen uygulanır. diğerleri SaveFormat değerler (PPT, ODP, PDF vb.) gelecekteki yayınlar için planlanır; bunları iletmek için save() Şu anda PPTX üretimi yapıyor.


Açık Kaynak & Lisans

Aspose.Slides FOSS for Python is released under the MIT license. You can use it in Kişisel, akademik ve ticari projeler sınırlamalar olmadan. kaynak kodu mevcuttur GitHub Paket yayınlandı ve PyPI.


Başlamaya başlar

İlgili Kaynaklar