Kako učitati prezentacije u .NET-u
Aspose.Slides FOSS for .NET omogućava otvaranje bilo koje .pptx datoteke, pregled njenog sadržaja i ili čuvanje nazad u PPTX ili izdvajanje podataka iz nje. Ovaj vodič pokriva otvaranje datoteke, iteriranje slajdova, čitanje teksta oblika i round‑tripping čuvanje.
Vodič korak po korak
Korak 1: Instalirajte paket
dotnet add package Aspose.Slides.FossKorak 2: Otvorite postojeću prezentaciju
Prosledite putanju do fajla new Presentation(). Koristite using izjavu da biste osigurali č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);Nepožnati XML delovi u izvornom fajlu se čuvaju doslovno: biblioteka nikada ne uklanja sadržaj koji još ne razume.
Korak 3: Pregledaj slajdove
Iterirajte kroz sve slajdove i odštampajte 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: Čitanje teksta oblika
Iterirajte kroz oblike i pročitajte tekst iz oblika koji imaju 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: Čitanje svojstava 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čuvaj u kružnom prolazu
Nakon pregleda ili izmene prezentacije, sačuvajte je nazad u PPTX:
prs.Save("output.pptx", SaveFormat.Pptx);Čuvanje na drugu putanju kreira novu datoteku. Čuvanje na istu putanju prepisuje original.
Уобичајени проблеми и исправке
FileNotFoundException
Proverite da li je putanja do fajla .pptx 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 (binarni PowerPoint 97‑2003) fajlovi nisu podržani.
Oblici nemaju TextFrame svojstvo
Neki oblici (Connector, PictureFrame) nemaju TextFrame. Pretvorite u IAutoShape i proverite da li je null pre nego što pristupite tekstu.
Često postavljana pitanja
Da li učitavanje čuva sav originalni sadržaj?
Da. Nepoznati XML delovi se čuvaju doslovno pri čuvanju u kružnom prolazu. 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 (šifrovane) nisu podržane u ovoj ediciji.
Mogu li izvući 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. Konstruktor Presentation prihvata Stream:
using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");