Python içinde Sunumları Yükleme
Aspose.Slides FOSS for Python lets you open any .pptx dosyayı, içeriğini inceleyin ve ya PPTX olarak geri kaydedin ya da verileri ondan çıkarın. Bu kılavuz, bir dosyayı açmayı, slaytları yinelemeyi, şekil metnini okumayı ve kaydetmeyi geri döndürmeyi kapsar.
Adım Adım Kılavuz
Adım 1: Paketi Yükleyin
pip install aspose-slides-fossAdım 2: Mevcut Bir Sunumu Aç
Dosya yolunu şuraya geçirin slides.Presentation(). Temizliği sağlamak için bağlam yöneticisini kullanın.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation("input.pptx") as prs:
print(f"Slide count: {len(prs.slides)}")
prs.save("output.pptx", SaveFormat.PPTX)Kaynak dosyadaki bilinmeyen XML bölümleri olduğu gibi korunur: kütüphane henüz anlamadığı içeriği asla kaldırmaz.
Adım 3: Slaytları İncele
Tüm slaytlar üzerinde döngü yapın ve indekslerini yazdırın:
import aspose.slides_foss as slides
with slides.Presentation("deck.pptx") as prs:
for i, slide in enumerate(prs.slides):
shape_count = len(slide.shapes)
print(f"Slide {i}: {shape_count} shapes")Adım 4: Şekil Metnini Oku
Şekiller üzerinde yineleme yapın ve bir … olan şekillerden metni okuyun. TextFrame:
import aspose.slides_foss as slides
with slides.Presentation("deck.pptx") as prs:
for slide in prs.slides:
for shape in slide.shapes:
if hasattr(shape, "text_frame") and shape.text_frame is not None:
text = shape.text_frame.text
if text.strip():
print(f" Shape text: {text!r}")Adım 5: Belge Özelliklerini Oku
Temel belge özelliklerine şuradan erişin prs.document_properties:
import aspose.slides_foss as slides
with slides.Presentation("deck.pptx") as prs:
props = prs.document_properties
print(f"Title: {props.title}")
print(f"Author: {props.author}")
print(f"Subject: {props.subject}")Adım 6: Çift Yönlü Kaydetme
Sunumu inceledikten veya değiştirdikten sonra, PPTX olarak geri kaydedin:
prs.save("output.pptx", SaveFormat.PPTX)Farklı bir yola kaydetmek yeni bir dosya oluşturur. Aynı yola kaydetmek orijinali üzerine yazar.
Yaygın Sorunlar ve Çözümler
FileNotFoundError
Yolun … olduğundan emin olun .pptx dosyanın çalışma dizinine göre doğru olduğundan emin olun. Şunu kullanın pathlib.Path sağlam yol oluşturma için:
from pathlib import Path
path = Path(__file__).parent / "assets" / "deck.pptx"
with slides.Presentation(str(path)) as prs:
...Exception: File format is not supported
Kütüphane şunları destekler .pptx (Office Open XML) yalnızca. Eski .ppt (binary PowerPoint 97–2003) dosyaları desteklenmez.
Şekillerin text_frame özniteliği yok
Bazı şekiller (Connectors, PictureFrames, GroupShapes) bir … sahip değildir text_frame. Şununla koruyun hasattr(shape, "text_frame") and shape.text_frame is not None metne erişmeden önce.
Sık Sorulan Sorular
Yükleme, tüm orijinal içeriği korur mu?
Evet. Bilinmeyen XML bölümleri round‑trip kaydetmede olduğu gibi korunur. Kütüphane, henüz anlamadığı herhangi bir XML içeriğini kaldırmaz.
Şifre korumalı bir PPTX dosyasını yükleyebilir miyim?
Şifre korumalı (şifrelenmiş) sunumlar bu sürümde desteklenmez.
Gömülü görüntüleri çıkarabilir miyim?
Görüntüler koleksiyonuna erişin: prs.images şunu döndürür ImageCollection. Her görüntünün bir content_type ve bir bytes özelliği ham görüntü verisini okumak için.
Bellek içi akıştan (in‑memory stream) yükleme destekleniyor mu?
Doğrudan yükleme io.BytesIO Mevcut API’de ortaya çıkarılmamaktadır. İlk olarak baytları geçici bir dosyaya yazın:
import tempfile, os
import aspose.slides_foss as slides
with tempfile.NamedTemporaryFile(suffix=".pptx", delete=False) as tmp:
tmp.write(pptx_bytes)
tmp_path = tmp.name
try:
with slides.Presentation(tmp_path) as prs:
print(f"Slides: {len(prs.slides)}")
finally:
os.unlink(tmp_path)