.NET'te Sunumları Yükleme

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

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

İlgili

 Türkçe