.NET içinde Sunumları Nasıl Yüklenir

.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.Foss

Adı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}");

Ayrıca Bakınız

 Türkçe