Hoe presentaties te laden in .NET

Hoe presentaties te laden in .NET

Aspose.Slides FOSS for .NET lets you open any .pptx bestand, inspecteer de inhoud, en sla het vervolgens op als PPTX of haal er gegevens uit. Deze gids behandelt het openen van een bestand, het itereren van dia’s, het lezen van vormtekst, en het round‑tripping van de opslaan.

Stapsgewijze handleiding

Stap 1: Installeer het pakket

dotnet add package Aspose.Slides.Foss

Stap 2: Open een bestaande presentatie

Geef het bestandspad door aan new Presentation(). Gebruik een using statement om opruimen te garanderen.

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

Onbekende XML-onderdelen in het bronbestand worden letterlijk bewaard: de bibliotheek verwijdert nooit inhoud die ze nog niet begrijpt.


Stap 3: Inspecteer dia’s

Itereer over alle dia’s en print hun 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");
}

Stap 4: Lees vormtekst

Itereer over vormen en lees tekst van vormen die een 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}");
        }
    }
}

Stap 5: Lees documenteigenschappen

Toegang tot kern‑documenteigenschappen van 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}");

Stap 6: Round‑trip opslaan

Na het inspecteren of aanpassen van de presentatie, sla je deze weer op als PPTX:

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

Opslaan naar een ander pad maakt een nieuw bestand aan. Opslaan naar hetzelfde pad overschrijft het origineel.


Veelvoorkomende problemen en oplossingen

FileNotFoundException

Controleer of het pad naar de .pptx bestand correct is ten opzichte van de werkmap. Gebruik Path.Combine voor robuuste padconstructie:

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

Exception: File format is not supported

De bibliotheek ondersteunt .pptx (Office Open XML) alleen. Legacy .ppt (binaire PowerPoint 97-2003) bestanden worden niet ondersteund.

Vormen hebben geen TextFrame‑eigenschap

Sommige vormen (Connector, PictureFrame) hebben geen TextFrame. Cast naar IAutoShape en controleer op null voordat je de tekst benadert.


Veelgestelde vragen

Behoudt het laden alle oorspronkelijke inhoud?

Ja. Onbekende XML‑onderdelen worden letterlijk bewaard bij een round‑trip‑opslaan. De bibliotheek zal geen XML‑inhoud verwijderen die ze nog niet herkent.

Kan ik een wachtwoord‑beveiligde PPTX laden?

Wachtwoord‑beveiligde (versleutelde) presentaties worden niet ondersteund in deze editie.

Kan ik ingesloten afbeeldingen extraheren?

Toegang tot de afbeeldingenverzameling: prs.Images geeft de ImageCollection. Elke afbeelding heeft eigenschappen om de ruwe afbeeldingsgegevens te lezen.

Wordt laden vanuit een MemoryStream ondersteund?

Ja. De Presentation constructor accepteert een Stream:

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

Zie ook

 Nederlands