Cum să încărcați prezentări în .NET

Cum să încărcați prezentări în .NET

Aspose.Slides FOSS for .NET lets you open any .pptx fișier, inspectați conținutul său și fie să îl salvați înapoi în PPTX, fie să extrageți date din el. Acest ghid acoperă deschiderea unui fișier, iterarea diapozitivelor, citirea textului din forme și salvarea în mod round‑trip.

Ghid pas cu pas

Pasul 1: Instalați pachetul

dotnet add package Aspose.Slides.Foss

Pasul 2: Deschideți o prezentare existentă

Transmiteți calea fișierului către new Presentation(). Utilizați un using instrucțiune pentru a asigura curățarea.

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

Părțile XML necunoscute din fișierul sursă sunt păstrate literalmente: biblioteca nu elimină niciodată conținutul pe care nu îl înțelege încă.


Pasul 3: Inspectați diapozitivele

Iterați prin toate diapozitivele și afișați indicele lor:

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

Pasul 4: Citiți textul formei

Iterați peste forme și citiți textul din formele care au un 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}");
        }
    }
}

Pasul 5: Citiți proprietățile documentului

Accesați proprietățile de bază ale documentului din 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}");

Pasul 6: Salvare în buclă

După inspectarea sau modificarea prezentării, salvați-o înapoi în PPTX:

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

Salvarea într-o cale diferită creează un fișier nou. Salvarea în aceeași cale suprascrie fișierul original.


Probleme comune și soluții

FileNotFoundException

Verificați că calea către .pptx fișier este corectă în raport cu directorul de lucru. Utilizați Path.Combine pentru construcție robustă a căii:

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

Exception: File format is not supported

Biblioteca suportă .pptx (Office Open XML) doar. Legacy .ppt fișierele (binary PowerPoint 97-2003) nu sunt suportate.

Formele nu au o proprietate TextFrame

Unele forme (Connector, PictureFrame) nu au un TextFrame. Conversie la IAutoShape și verifică null înainte de a accesa textul.


Întrebări frecvente

Încărcarea păstrează tot conținutul original?

Da. Părțile XML necunoscute sunt păstrate exact la salvarea în buclă. Biblioteca nu va elimina niciun conținut XML pe care nu îl recunoaște încă.

Pot încărca un PPTX protejat prin parolă?

Prezentările protejate prin parolă (criptate) nu sunt suportate în această ediție.

Pot extrage imaginile încorporate?

Accesează colecția de imagini: prs.Images returnează ImageCollection. Fiecare imagine are proprietăți pentru a citi datele brute ale imaginii.

Este suportată încărcarea dintr-un MemoryStream?

Da. The Presentation constructor acceptă un Stream:

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

Vezi și

 Română