Ako uložiť prezentácie v .NET
Aspose.Slides FOSS for .NET saves presentations exclusively to .pptx formát pomocou prs.Save(path, SaveFormat.Pptx). Tento sprievodca pokrýva správny vzor ukladania, ukladanie do inej cesty, ukladanie do prúdu a bežné chyby súvisiace s ukladaním.
Postupný návod
Krok 1: Nainštalujte balík
dotnet add package Aspose.Slides.FossKrok 2: Otvorte alebo vytvorte prezentáciu
Vždy použite using príkaz. Volanie ukladania musí prebehnúť pred uvoľnením objektu.
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);Krok 3: Uložte po všetkých úpravách
Umiestnite Save() volanie po dokončení všetkých úprav, pred using koncom rozsahu.
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);Krok 4: Uložte na inú cestu
Zadajte inú výstupnú cestu, aby ste vytvorili nový súbor bez úpravy originálu:
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);Súbor template.pptx nie je upravený; customized.pptx je vytvorený (alebo prepísaný, ak už existuje).
Krok 5: Uložiť do prúdu
Táto Presentation.Save metóda tiež akceptuje 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");Krok 6: Overiť výstup
Po uložení do súboru skontrolujte, či existuje:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Podporovaný formát ukladania
| Format | Enum Value | Podporované |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | Áno |
| N/A | Nie | |
| HTML | N/A | Nie |
| SVG | N/A | Nie |
| PNG / JPEG | N/A | Nie |
| ODP (OpenDocument) | N/A | Nie |
Podporovaný je iba PPTX. Parameter formátu je momentálne ignorovaný; všetky prezentácie sa ukladajú ako PPTX bez ohľadu na zadaný SaveFormat.
Bežné problémy a riešenia
IOException: The process cannot access the file
Výstupný súbor je otvorený v inej aplikácii (napr. PowerPoint má súbor otvorený). Zavrite súbor v ostatných aplikáciách pred uložením.
Súbor je vytvorený, ale vyzerá prázdny alebo poškodený
Zabezpečte prs.Save() sa volá pred uvoľnením objektu. Po Dispose() spustí, následné volania zlyhajú alebo vytvoria poškodený výstup.
Neočakávaný formát výstupu pri ukladaní
Odovzdanie akéhokoľvek SaveFormat hodnoty okrem SaveFormat.Pptx nevyvolá výnimku — parameter formátu sa ticho ignoruje a súbor sa vždy uloží ako PPTX. Neexistuje NotSupportedException pre neznámu hodnotu formátu.
Často kladené otázky
Môžem uložiť do toho istého súboru, ktorý som otvoril?
Áno. Uloženie do rovnakej cesty prepíše pôvodný súbor:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalUkladanie zachová obsah, ktorý som nezmenil?
Áno. Neznáme XML časti z pôvodného súboru sú zachované presne tak, ako sú. Knižnica serializuje iba časti modelu dokumentu, ktoré rozumie, a ostatné XML, ktoré nepozná, jednoducho prechádza.