.NET içinde Sunumları Nasıl Yüklenir
Aspose.Slides FOSS for .NET 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 dosyanın açılmasını, slaytların yinelemesini, şekil metninin okunmasını ve kaydetmenin round‑tripping işlemini kapsar.
Adım Adım Kılavuz
Adım 1: Paketi Yükleyin
dotnet add package Aspose.Slides.FossAdım 2: Mevcut Bir Sunumu Aç
Dosya yolunu şuna gönderin new Presentation(). Bir … kullanın using ifadesi temizlik işlemini garanti eder.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation("input.pptx");
Console.WriteLine($"Slide count: {prs.Slides.Count}");
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:
using Aspose.Slides.Foss;
using var prs = new Presentation("deck.pptx");
for (int i = 0; i < prs.Slides.Count; i++)
{
var slide = prs.Slides[i];
int shapeCount = slide.Shapes.Count;
Console.WriteLine($"Slide {i}: {shapeCount} shapes");
}Adım 4: Şekil Metnini Oku
Şekiller üzerinde yineleme yapın ve bir … olan şekillerden metni okuyun. TextFrame:
using Aspose.Slides.Foss;
using var prs = new Presentation("deck.pptx");
foreach (var slide in prs.Slides)
{
foreach (var shape in slide.Shapes)
{
if (shape is IAutoShape autoShape && autoShape.TextFrame != null)
{
string text = autoShape.TextFrame.Text;
if (!string.IsNullOrWhiteSpace(text))
Console.WriteLine($" Shape text: {text}");
}
}
}Adım 5: Belge Özelliklerini Oku
Temel belge özelliklerine şuradan erişin prs.DocumentProperties:
using Aspose.Slides.Foss;
using var prs = new Presentation("deck.pptx");
var props = prs.DocumentProperties;
Console.WriteLine($"Title: {props.Title}");
Console.WriteLine($"Author: {props.Author}");
Console.WriteLine($"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
FileNotFoundException
Yolun … olduğundan emin olun .pptx dosyanın çalışma dizinine göre doğru olduğundan emin olun. Kullan Path.Combine güçlü yol oluşturma için:
string path = Path.Combine(AppContext.BaseDirectory, "assets", "deck.pptx");
using var prs = new Presentation(path);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 TextFrame özelliği yoktur
Bazı şekiller (Connector, PictureFrame) bir … yoktur TextFrame. …‘a dönüştürün IAutoShape ve metne erişmeden önce null olup olmadığını kontrol edin.
Sık Sorulan Sorular
Yükleme, tüm orijinal içeriği korur mu?
Evet. Bilinmeyen XML bölümleri, çift yönlü kaydetmede olduğu gibi korunur. Kütüphane, henüz tanımadığı 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 ham görüntü verisini okuma özellikleri vardır.
MemoryStream üzerinden yükleme destekleniyor mu?
Evet. The Presentation constructor bir … kabul eder Stream:
using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");