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