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
| Format | Extension | Read | Write |
|---|---|---|---|
| PPTX | .pptx için | ✓ | ✓ |
| PPT | .PTT | — | Planned |
| PPSX | .px için | — | Planned |
| PPTM | .pptm için | — | Planned |
| POTX | .POTX İÇİN | — | Planned |
| ODP | .ODP | — | Planned |
| .pdf için | — | Planned | |
| HTML | .Html | — | Planned |
| HTML5 | .Html | — | Planned |
| TIFF | .Tif | — | Planned |
| GIF | .GIF | — | Planned |
| XPS | .xps için | — | Planned |
| FODP | .FODP için | — | Planned |
| MD | .Md | — | Planned |
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.