.NET'te Sunumları Yükleme
Aspose.Slides FOSS for .NET, herhangi bir .pptx dosyasını açmanıza, içeriğini incelemenize ve ya PPTX olarak geri kaydetmenize ya da verileri çıkarmanıza olanak tanır. Bu kılavuz, bir dosyanın açılmasını, slaytların yinelemesini, şekil metninin okunmasını ve kaydetmenin geri dönüşümünü 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 new Presentation()‘e geçirin. Temizliği sağlamak için bir using ifadesi kullanın.
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 anlayamadığı içeriği asla kaldırmaz.
Adım 3: Slaytları İncele
Tüm slaytları yineleyin 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 TextFrame içeren şekillerden metni okuyun:
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
prs.DocumentProperties üzerinden temel belge özelliklerine erişin:
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: Gidiş-Dönüş Kaydetme
Sunumu inceleyip veya değiştirdikten sonra, PPTX olarak kaydedin:
prs.Save("output.pptx", SaveFormat.Pptx);Farklı bir yola kaydetmek yeni bir dosya oluşturur. Aynı yola kaydetmek ise orijinali üzerine yazar.
Yaygın Sorunlar ve Çözümler
FileNotFoundException
Çalışma dizinine göre .pptx dosyasının yolunun doğru olduğundan emin olun. Sağlam yol oluşturma için Path.Combine kullanın:
string path = Path.Combine(AppContext.BaseDirectory, "assets", "deck.pptx");
using var prs = new Presentation(path);Exception: File format is not supported
Kütüphane yalnızca .pptx (Office Open XML) destekler. Eski .ppt (ikili PowerPoint 97-2003) dosyaları desteklenmez.
Şekillerin TextFrame özelliği yoktur
Bazı şekiller (Connector, PictureFrame) bir TextFrame‘ye sahip değildir. IAutoShape‘ye dönüştürün ve metne erişmeden önce null olup olmadığını kontrol edin.
Sıkça Sorulan Sorular
Yükleme tüm orijinal içeriği korur mu?
Evet. Bilinmeyen XML bölümleri, tur‑çift kaydetme sırasında aynen korunur. Kütüphane, henüz tanımadığı herhangi bir XML içeriğini kaldırmayacaktır.
Şifre korumalı bir PPTX dosyasını yükleyebilir miyim?
Şifre korumalı (şifrelenmiş) sunumlar bu sürümde desteklenmez.
Gömülü resimleri çıkarabilir miyim?
Görüntüler koleksiyonuna erişin: prs.Images ImageCollection döndürür. Her görüntünün ham görüntü verisini okumak için özellikleri vardır.
MemoryStream’ten yükleme destekleniyor mu?
Evet. Presentation yapıcı bir Stream kabul eder:
using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");