Cum să salvaţi prezentări în .NET
Aspose.Slides FOSS pentru .NET salvează prezentările exclusiv în formatul .pptx utilizând prs.Save(path, SaveFormat.Pptx). Acest ghid acoperă modelul corect de salvare, salvarea într-o altă cale, salvarea într-un flux și erorile comune legate de salvare.
Ghid pas cu pas
Pasul 1: Instalați pachetul
dotnet add package Aspose.Slides.FossPasul 2: Deschideți sau creaţi o prezentare
Utilizați întotdeauna o declarație using. Apelul de salvare trebuie să aibă loc înainte ca obiectul să fie eliberat.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
// Create new
using var prs = new Presentation();
prs.Save("new.pptx", SaveFormat.Pptx);// Open existing
using var prs = new Presentation("input.pptx");
prs.Save("output.pptx", SaveFormat.Pptx);Pasul 3: Salvează după toate modificările
Plasați apelul Save() după ce toate modificările sunt finalizate, înainte ca domeniul using să se încheie.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 300, 100);
shape.AddTextFrame("Hello, World!");
prs.Save("output.pptx", SaveFormat.Pptx);Pasul 4: Salvează într-o altă cale
Furnizați o cale de ieșire diferită pentru a crea un fișier nou fără a modifica originalul:
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);Fișierul template.pptx nu este modificat; customized.pptx este creat (sau suprascris dacă există deja).
Pasul 5: Salvează într-un flux
Metoda Presentation.Save acceptă, de asemenea, un Stream:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
using var stream = new MemoryStream();
prs.Save(stream, SaveFormat.Pptx);
byte[] pptxBytes = stream.ToArray();
Console.WriteLine($"Size: {pptxBytes.Length} bytes");Pasul 6: Verificați rezultatul
După salvarea într-un fișier, verificaţi dacă există:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Format de salvare acceptat
| Format | Valoare Enum | Suportat |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | Da |
| N/A | Nu | |
| HTML | N/A | Nu |
| SVG | N/A | Nu |
| PNG / JPEG | N/A | Nu |
| ODP (OpenDocument) | N/A | Nu |
Doar PPTX este acceptat. Parametrul format este în prezent ignorat; toate prezentările sunt salvate ca PPTX, indiferent de SaveFormat specificat.
Probleme comune și soluții
IOException: The process cannot access the file
Fișierul de ieșire este deschis într-o altă aplicație (de exemplu, PowerPoint are fișierul deschis). Închideți fișierul în alte aplicații înainte de a salva.
Fișierul este creat, dar pare gol sau corupt.
Asigurați-vă că prs.Save() este apelat înainte ca obiectul să fie eliberat. După ce Dispose() rulează, apelurile ulterioare vor eșua sau vor produce rezultate corupte.
Format de ieșire neașteptat la salvare
Transmiterea oricărei valori SaveFormat diferită de SaveFormat.Pptx nu aruncă o excepție — parametrul format este ignorat în tăcere și fișierul este întotdeauna salvat ca PPTX. Nu există NotSupportedException pentru o valoare de format nerecunoscută.
Întrebări frecvente
Pot să salvez în același fișier pe care l-am deschis?
Da. Salvarea în aceeași cale suprascrie fișierul original:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalSalvarea păstrează conținutul pe care nu l-am modificat?
Da. Părțile XML necunoscute din fișierul original sunt păstrate exact așa. Biblioteca serializează doar părțile modelului de document pe care le înțelege și trece prin orice XML pe care nu îl recunoaște.