Prezentációk mentése .NET-ban
Aspose.Slides FOSS for .NET saves presentations exclusively to .pptx formátum használatával prs.Save(path, SaveFormat.Pptx). Ez az útmutató lefedi a helyes mentési mintát, a mentést egy másik útvonalra, a mentést egy adatfolyamra, valamint a gyakori mentéssel kapcsolatos hibákat.
Lépésről-lépésre útmutató
1. lépés: A csomag telepítése
dotnet add package Aspose.Slides.Foss2. lépés: Prezentáció megnyitása vagy létrehozása
Mindig használjon egy using utasítást. A mentési hívásnak meg kell történnie, mielőtt az objektum el lesz engedve.
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);3. lépés: Mentés minden módosítás után
Helyezze el a Save() hívást minden módosítás befejezése után, a using hatókör befejeződik.
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);4. lépés: Mentés másik útvonalra
Adjon meg egy másik kimeneti útvonalat, hogy új fájlt hozzon létre az eredeti módosítása nélkül:
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);A template.pptx A fájl nem módosul; customized.pptx létrejön (vagy felülíródik, ha már létezik).
5. lépés: Mentés streambe
A Presentation.Save metódus szintén elfogad egy 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");6. lépés: Az eredmény ellenőrzése
Fájlba mentés után ellenőrizze, hogy létezik-e:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Támogatott mentési formátum
| Formátum | Enum Érték | Támogatott |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | Igen |
| N/A | Nem | |
| HTML | N/A | Nem |
| SVG | N/A | Nem |
| PNG / JPEG | N/A | Nem |
| ODP (OpenDocument) | N/A | Nem |
Csak a PPTX támogatott. A formátum paraméter jelenleg figyelmen kívül van hagyva; minden prezentáció PPTX-ként kerül mentésre, függetlenül a megadott SaveFormat-tól.
Gyakori problémák és megoldások
IOException: The process cannot access the file
A kimeneti fájl egy másik alkalmazásban nyitva van (például a PowerPoint megnyitotta). Zárja be a fájlt a többi alkalmazásban a mentés előtt.
A fájl létrejön, de üresnek vagy sérültnek tűnik.
Biztosítsa prs.Save() hívódik meg, mielőtt az objektum el lesz dobva. Ezután Dispose() fut, a későbbi hívások hibát fognak okozni vagy sérült kimenetet fognak előállítani.
Váratlan kimeneti formátum mentéskor
Bármilyen SaveFormat más érték SaveFormat.Pptx nem dob kivételt — a formátum paraméter csendben figyelmen kívül marad, és a fájl mindig PPTX-ként kerül mentésre. Nincs NotSupportedException az ismeretlen formátumérték esetén.
Gyakran Ismételt Kérdések
Menthetek ugyanarra a fájlra, amelyet megnyitottam?
Igen. Ugyanarra az útra mentés felülírja az eredeti fájlt:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalA mentés megőrzi a módosítatlan tartalmat?
Igen. Az eredeti fájlból származó ismeretlen XML részek szó szerint megmaradnak. A könyvtár csak a dokumentummodell által megértett részeket sorosítja, és átengedi a nem felismert XML-t.