Hur man laddar presentationer i .NET

Hur man laddar presentationer i .NET

Aspose.Slides FOSS for .NET lets you open any .pptx fil, inspektera dess innehåll och antingen spara tillbaka till PPTX eller extrahera data från den. Denna guide täcker att öppna en fil, iterera bilder, läsa formtext och round‑trip‑spara.

Steg-för-steg-guide

Steg 1: Installera paketet

dotnet add package Aspose.Slides.Foss

Steg 2: Öppna en befintlig presentation

Skicka filvägen till new Presentation(). Använd en using sats för att säkerställa rensning.

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);

Okända XML‑delar i källfilen bevaras ordagrant: biblioteket tar aldrig bort innehåll som det ännu inte förstår.


Steg 3: Inspektera bilder

Iterera över alla bilder och skriv ut deras index:

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: Läs formtext

Iterera över former och läs text från 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: Läs dokumentegenskaper

Åtkomst till kärndokumentegenskaper från 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: Round‑Trip‑sparning

Efter att ha inspekterat eller modifierat presentationen, spara den tillbaka till PPTX:

prs.Save("output.pptx", SaveFormat.Pptx);

Att spara till en annan sökväg skapar en ny fil. Att spara till samma sökväg skriver över originalet.


Vanliga problem och lösningar

FileNotFoundException

Kontrollera att sökvägen till .pptx filen är korrekt relativt till arbetskatalogen. Använd Path.Combine för robust sökvägskonstruktion:

string path = Path.Combine(AppContext.BaseDirectory, "assets", "deck.pptx");
using var prs = new Presentation(path);

Exception: File format is not supported

Biblioteket stöder .pptx (Office Open XML) endast. Äldre .ppt (binära PowerPoint 97-2003) filer stöds inte.

Former har ingen TextFrame-egenskap

Vissa former (Connector, PictureFrame) har ingen TextFrame. Kasta till IAutoShape och kontrollera null innan du får åtkomst till texten.


Vanliga frågor

Behåller inläsning allt originalinnehåll?

Ja. Okända XML-delar bevaras ordagrant vid rundresesparning. Biblioteket kommer inte att ta bort någon XML-innehåll som det ännu inte känner igen.

Kan jag läsa in en lösenordsskyddad PPTX?

Lösenordsskyddade (krypterade) presentationer stöds inte i den här utgåvan.

Kan jag extrahera inbäddade bilder?

Åtkomst till bildsamlingen: prs.Images returnerar ImageCollection. Varje bild har egenskaper för att läsa den råa bilddatan.

Stöds inläsning från en MemoryStream?

Ja. Den Presentation konstruktorn accepterar en Stream:

using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");

Se även

 Svenska