Hvordan laste inn presentasjoner i .NET
Aspose.Slides FOSS for .NET lar deg åpne enhver .pptx-fil, inspisere innholdet, og enten lagre den tilbake til PPTX eller hente ut 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.FossTrinn 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}");
}
}
}Trinn 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 kun .pptx (Office Open XML). Eldre .ppt (binære PowerPoint 97-2003) filer støttes ikke.
Shapes har ikke en TextFrame‑egenskap
Noen former (Connector, PictureFrame) har ikke en TextFrame. Kast til IAutoShape og sjekk for null før du får tilgang til tekst.
Ofte stilte spørsmål
Bevarer innlasting alt originalinnholdet?
Ja. Ukjente XML-deler blir bevart ordrett ved lagring i en runde tur. Biblioteket vil ikke fjerne noe 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.
Er lasting fra en MemoryStream støttet?
Ja. Presentation-konstruktøren godtar en Stream:
using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");