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

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

Aspose.Slides FOSS for .NET lets you open any .pptx súbor, skontrolujte jeho obsah a buď ho uložte späť do PPTX alebo z neho extrahujte dáta. Tento návod pokrýva otvorenie súboru, prechádzanie snímok, čítanie textu tvarov a spätné ukladanie.

Postupný návod

Krok 1: Nainštalujte balík

dotnet add package Aspose.Slides.Foss

Krok 2: Otvoriť existujúcu prezentáciu

Preveďte cestu k súboru do new Presentation(). Použite a using príkaz 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 nerozoznáva.


Krok 3: Prezrieť snímky

Prejdite 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čítať text tvaru

Iterujte cez tvary a čítajte text z tvarov, ktoré majú a 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čítať vlastnosti dokumentu

Získajte prístup k základným vlastnostiam 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 spätným cyklom

Po prezretí 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ý súbor.


Bežné problémy a riešenia

FileNotFoundException

Skontrolujte, že cesta k .pptx súboru je správna vzhľadom na pracovný adresár. Použite Path.Combine na 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 .pptx (Office Open XML) iba. Staré .ppt (binárne PowerPoint 97-2003) súbory nie sú podporované.

Tvary nemajú vlastnosť TextFrame

Niektoré tvary (Connector, PictureFrame) TextFrame.nemajú a IAutoShape Preveďte na 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 XML časti sa pri uložení v režime round‑trip zachovajú 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 podporované načítanie z MemoryStream?

Áno. The Presentation konstruktor prijíma Stream:

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

Pozri tiež

 Slovenčina