Cum să încărcați prezentări în .NET
Aspose.Slides FOSS for .NET vă permite să deschideți orice fișier .pptx, să 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 formei și salvarea în mod round‑trip.
Ghid pas cu pas
Pasul 1: Instalați pachetul
dotnet add package Aspose.Slides.FossPasul 2: Deschide o prezentare existentă
Transmite calea fișierului către new Presentation(). Folosește o declarație using 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 peste 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: Citește 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: Citește 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 round‑trip
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 originalul.
Probleme comune și soluții
FileNotFoundException
Verificați că calea către fișierul .pptx este corectă în raport cu directorul de lucru. Utilizați Path.Combine pentru construcția 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 acceptă doar .pptx (Office Open XML). Fișierele moștenite .ppt (PowerPoint binar 97-2003) nu sunt acceptate.
Formele nu au o proprietate TextFrame
Unele forme (Connector, PictureFrame) nu au un TextFrame. Conversia la IAutoShape și verificați dacă este 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 literalmente 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 acceptate în această ediție.
Pot extrage imagini încorporate?
Accesați 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. Constructorul Presentation acceptă un Stream:
using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");