Wie man Präsentationen in .NET lädt

Wie man Präsentationen in .NET lädt

Aspose.Slides FOSS for .NET lets you open any .pptx Diese Anleitung umfasst das Öffnen einer Datei, Iteration von Folien, Lesen von Formtext und Rundfahrt beim Speichern.

Schritt für Schritte

Schritt 1: Installieren des Pakets

aspose-slides-foss/slides is not yet published — build from source until it ships. See the project README for build instructions.


Schritt 2: Öffnen Sie eine vorhandene Präsentation

Übergeben Sie den Pfad der Datei an: new Presentation().Verwenden Sie eine using Erklärung zur Sicherstellung der Reinigung.

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

Unbekannte XML-Teile in der Quelldatei werden wörtlich erhalten: Die Bibliothek entfernt nie Inhalte, die sie noch nicht versteht.


Schritt 3: Slides überprüfen

Iterate über alle Folien und drucken Sie ihren 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");
}

Schritt 4: Lesen von Textform

Iteration über Formen und Lesen von Text aus Formularen, die eine 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}");
        }
    }
}

Schritt 5: Lesen der Dokument-Eigenschaften

Zugriff auf Kerndokument-Eigenschaften von: 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}");

Schritt 6: Rundfahrt speichern

Nach der Überprüfung oder Änderung der Darstellung speichern Sie sie wieder in PPTX:

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

Wenn man auf einen anderen Pfad speichert, erstellt sich eine neue Datei.


Häufige Probleme und Lösungen

FileNotFoundException

Überprüfen Sie, ob der Weg zum .pptx Die Datenbank ist nicht korrekt im Verhältnis zum Arbeitsverzeichnis. Path.Combine für robuste Bahnkonstruktionen:

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

Exception: File format is not supported

Die Bibliothek unterstützt die .pptx (Office Open XML) nur. Vermächtlichte Versionen .ppt (binäres PowerPoint 97-2003) nicht unterstützt.

Formen haben keine TextFrame-Eigenschaft

Einige Formen (Connector, PictureFrame) keine TextFrame.- Die Ausführung: IAutoShape und überprüfen Sie, ob Null vor dem Zugriff auf Text.


Häufig gestellte Fragen

Wird bei der Aufladung alle Originalinhalte erhalten?

Ja. Unbekannte XML-Teile werden auf der Rundreise gespeichert. Die Bibliothek entfernt keinen XML Inhalt, den sie noch nicht erkennt.

Kann ich ein passwortgeschütztes PPTX laden?

Passwortgeschützte (verschlüsselte) Präsentationen werden in dieser Ausgabe nicht unterstützt.

Kann ich eingebettete Bilder extrahieren?

Zugriff auf die Bilder-Sammlung: prs.Images gibt den ImageCollection.Jedes Bild hat Eigenschaften, um die Rohdaten zu lesen.

Wird das Laden von einem MemoryStream unterstützt?

Ja, die… Presentation Konstruktor akzeptiert eine Stream:

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

Siehe auch:

 Deutsch