Kako učitati prezentacije u .NET

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.Foss

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

Vidi takođe

 Српски