Hvordan laste inn presentasjoner i .NET
Aspose.Slides FOSS for .NET lets you open any .pptx fil, inspiser innholdet, og enten lagre den tilbake til PPTX eller hente data fra den. Denne guiden dekker åpning av en fil, iterering av lysbilder, lesing av formtekst, og rundtur i lagringen.
Steg-for-steg guide
Steg 1: Installer pakken
dotnet add package Aspose.Slides.FossSteg 2: Åpne en eksisterende presentasjon
Send filstien til new Presentation(). Bruk en using setning for å sikre opprydding.
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);Ukjente XML-deler i kildefilen beholdes ordrett: biblioteket fjerner aldri innhold det ennå ikke forstår.
Steg 3: Inspiser lysbilder
Iterer over alle lysbilder og skriv ut deres 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");
}Steg 4: Les formtekst
Iterer over former og les tekst fra former som har en 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}");
}
}
}Steg 5: Les dokumentegenskaper
Få tilgang til kjerne‑dokumentegenskaper fra 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}");Steg 6: Rundtur lagring
Etter å ha inspisert eller endret presentasjonen, lagre den tilbake til PPTX:
prs.Save("output.pptx", SaveFormat.Pptx);Lagring til en annen sti oppretter en ny fil. Lagring til samme sti overskriver den opprinnelige.
Vanlige problemer og løsninger
FileNotFoundException
Sjekk at banen til .pptx filen er korrekt i forhold til arbeidskatalogen. Bruk Path.Combine for robust baneoppbygging:
string path = Path.Combine(AppContext.BaseDirectory, "assets", "deck.pptx");
using var prs = new Presentation(path);Exception: File format is not supported
Biblioteket støtter .pptx (Office Open XML) kun. Legacy .ppt (binære PowerPoint 97-2003) filer støttes ikke.
Former har ikke en TextFrame‑egenskap
Noen former (Connector, PictureFrame) TextFrame.har ikke en IAutoShape . Kast til og sjekk for null før du får tilgang til tekst.
Ofte stilte spørsmål
Bevarer innlasting alt det opprinnelige innholdet?
Ja. Ukjente XML‑deler beholdes ordrett ved rundreise‑lagring. Biblioteket vil ikke fjerne XML‑innhold det ennå ikke gjenkjenner.
Kan jeg laste inn en passordbeskyttet PPTX?
Passordbeskyttede (krypterte) presentasjoner støttes ikke i denne utgaven.
Kan jeg hente ut innebygde bilder?
Få tilgang til bildesamlingen: prs.Images returnerer ImageCollection. Hvert bilde har egenskaper for å lese råbildedata.
Støttes lasting fra en MemoryStream?
Ja. Den Presentation konstruktøren godtar en Stream:
using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");