Kako učitati prezentacije u .NET
Aspose.Slides FOSS for .NET lets you open any .pptx datoteku, pregledajte njen sadržaj i ili je sačuvajte nazad u PPTX ili izvadite podatke iz nje. Ovaj vodič pokriva otvaranje datoteke, iteriranje slajdova, čitanje teksta oblika i round‑tripping pri čuvanju.
Vodič korak po korak
Korak 1: Instalirajte paket
dotnet add package Aspose.Slides.FossKorak 2: Otvorite postojeću prezentaciju
Prosledite putanju do datoteke new Presentation(). Koristite using naredbu da osigurate čišćenje.
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);Nepoznati XML delovi u izvornom fajlu se čuvaju doslovno: biblioteka nikada ne uklanja sadržaj koji još ne razume.
Korak 3: Pregledajte slajdove
Iterirajte kroz sve slajdove i ispišite njihov indeks:
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");
}Korak 4: Pročitajte tekst oblika
Iterirajte kroz oblike i čitajte tekst iz oblika koji imaju 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}");
}
}
}Korak 5: Pročitajte svojstva dokumenta
Pristupite osnovnim svojstvima dokumenta iz 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}");Korak 6: Sačuvajte u round‑trip režimu
Nakon pregleda ili izmena prezentacije, sačuvajte je nazad u PPTX:
prs.Save("output.pptx", SaveFormat.Pptx);Čuvanje na drugu putanju kreira novi fajl. Čuvanje na istu putanju prepisuje original.
Uobičajeni problemi i rešenja
FileNotFoundException
Proverite da li je putanja do .pptx datoteka je ispravna u odnosu na radni direktorijum. Koristite Path.Combine za robusnu konstrukciju putanje:
string path = Path.Combine(AppContext.BaseDirectory, "assets", "deck.pptx");
using var prs = new Presentation(path);Exception: File format is not supported
Biblioteka podržava .pptx (Office Open XML) samo. Zastareli .ppt (binary PowerPoint 97-2003) fajlovi nisu podržani.
Oblici nemaju svojstvo TextFrame
Neki oblici (Connector, PictureFrame) nemaju TextFrame. Pretvorite u IAutoShape i proverite da li je null pre pristupa tekstu.
Često postavljana pitanja
Da li učitavanje čuva sav originalni sadržaj?
Da. Nepoznati XML delovi se čuvaju doslovno prilikom round‑trip čuvanja. Biblioteka neće ukloniti bilo koji XML sadržaj koji još ne prepoznaje.
Mogu li učitati PPTX zaštićen lozinkom?
Prezentacije zaštićene lozinkom (enkriptovane) nisu podržane u ovoj verziji.
Mogu li da izvučem ugrađene slike?
Pristupite kolekciji slika: prs.Images vraća ImageCollection. Svaka slika ima svojstva za čitanje sirovih podataka slike.
Da li je učitavanje iz MemoryStream‑a podržano?
Da. Presentation konstruktor prihvata Stream:
using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");