Jak uložit prezentace v .NET
Aspose.Slides FOSS for .NET saves presentations exclusively to .pptx formát pomocí prs.Save(path, SaveFormat.Pptx). Tento průvodce pokrývá správný vzor ukládání, ukládání do jiné cesty, ukládání do proudu a běžné chyby související s ukládáním.
Průvodce krok za krokem
Krok 1: Nainstalujte balíček
dotnet add package Aspose.Slides.FossKrok 2: Otevřít nebo vytvořit prezentaci
Vždy použijte using příkaz. Volání uložení musí proběhnout před tím, než je objekt uvolněn.
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žit po všech úpravách
Umístěte Save() volání po dokončení všech úprav, před using koncem 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žit do jiné cesty
Předávejte jinou výstupní cestu pro vytvoření nového souboru bez úpravy originálu:
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);Soubor template.pptx není upraven; customized.pptx je vytvořen (nebo přepsán, pokud již existuje).
Krok 5: Uložit do proudu
Metoda Presentation.Save také přijímá 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: Ověřit výstup
Po uložení do souboru zkontrolujte, že soubor existuje:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Podporovaný formát ukládání
| Format | Enum Value | Podporováno |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | Ano |
| N/A | Ne | |
| HTML | N/A | Ne |
| SVG | N/A | Ne |
| PNG / JPEG | N/A | Ne |
| ODP (OpenDocument) | N/A | Ne |
Podporován je pouze formát PPTX. Parametr formátu je momentálně ignorován; všechny prezentace jsou uloženy jako PPTX bez ohledu na zadaný SaveFormat.
Časté problémy a opravy
IOException: The process cannot access the file
Výstupní soubor je otevřen v jiné aplikaci (např. PowerPoint má soubor otevřený). Zavřete soubor v ostatních aplikacích před uložením.
Soubor je vytvořen, ale zdá se prázdný nebo poškozený
Zajistěte prs.Save() je voláno před tím, než je objekt uvolněn. Po Dispose() běží, následné volání selže nebo vytvoří poškozený výstup.
Neočekávaný výstupní formát při ukládání
Předání jakéhokoli SaveFormat hodnoty jiného než SaveFormat.Pptx nevyvolá výjimku — parametr formátu je tiše ignorován a soubor je vždy uložen jako PPTX. Neexistuje žádný NotSupportedException pro neznámou hodnotu formátu.
Často kladené otázky
Mohu uložit do stejného souboru, který jsem otevřel?
Ano. Uložení na stejnou cestu přepíše původní soubor:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalZachová ukládání obsah, který jsem neupravil?
Ano. Neznámé XML části z původního souboru jsou zachovány doslovně. Knihovna serializuje pouze ty části modelu dokumentu, které rozumí, a předává jakékoli XML, které nepozná.