Ako načítať prezentácie v .NET

Ako načítať prezentácie v .NET

Aspose.Slides FOSS for .NET vám umožňuje otvoriť akýkoľvek .pptx súbor, skontrolovať jeho obsah a buď ho uložiť späť do PPTX, alebo z neho extrahovať údaje. Tento sprievodca pokrýva otvorenie súboru, prechádzanie snímkami, čítanie textu tvarov a spätné ukladanie.

Postupný sprievodca

Krok 1: Nainštalujte balík

dotnet add package Aspose.Slides.Foss

Krok 2: Otvorte existujúcu prezentáciu

Zadajte cestu k súboru do new Presentation(). Použite príkaz using na zabezpečenie čistenia.

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);

Neznáme XML časti v zdrojovom súbore sú zachované doslovne: knižnica nikdy neodstraňuje obsah, ktorý ešte nerozumeje.


Krok 3: Skontrolovať snímky

Iterujte cez všetky snímky a vypíšte ich index:

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

Krok 4: Prečítanie textu tvaru

Iterujte cez tvary a čítajte text z tvarov, ktoré majú 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}");
        }
    }
}

Krok 5: Prečítanie vlastností dokumentu

Získajte základné vlastnosti dokumentu z 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}");

Krok 6: Uloženie v oboch smeroch

Po skontrolovaní alebo úprave prezentácie ju uložte späť do PPTX:

prs.Save("output.pptx", SaveFormat.Pptx);

Uloženie na inú cestu vytvorí nový súbor. Uloženie na rovnakú cestu prepíše pôvodný.


Bežné problémy a riešenia

FileNotFoundException

Skontrolujte, či je cesta k súboru .pptx správna vzhľadom na pracovný adresár. Použite Path.Combine pre robustnú konštrukciu cesty:

string path = Path.Combine(AppContext.BaseDirectory, "assets", "deck.pptx");
using var prs = new Presentation(path);

Exception: File format is not supported

Knižnica podporuje iba .pptx (Office Open XML). Súbory staršej verzie .ppt (binárny PowerPoint 97‑2003) nie sú podporované.

Tvary nemajú vlastnosť TextFrame

Niektoré tvary (Connector, PictureFrame) nemajú TextFrame. Preveďte na IAutoShape a skontrolujte, či nie je null pred prístupom k textu.


Často kladené otázky

Zachová načítanie celý pôvodný obsah?

Áno. Neznáme časti XML sa pri uložení v režime round‑trip zachovávajú doslovne. Knižnica neodstráni žiadny XML obsah, ktorý ešte nepozná.

Môžem načítať PPTX chránený heslom?

Prezentácie chránené heslom (šifrované) nie sú v tejto edícii podporované.

Môžem extrahovať vložené obrázky?

Prístup k zbierke obrázkov: prs.Images vracia ImageCollection. Každý obrázok má vlastnosti na čítanie surových dát obrázku.

Je načítanie z MemoryStream podporované?

Áno. Konstruktor Presentation akceptuje Stream:

using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");

Pozri tiež

 Slovenčina