Jak uložit prezentace v .NET
Aspose.Slides FOSS for .NET ukládá prezentace výhradně do formátu .pptx 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 výrok using. Volání uložení musí proběhnout před tím, než je objekt zlikvidová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 volání Save() po dokončení všech úprav, před tím, než skončí rozsah using.
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
Zadejte jinou cestu k výstupu, abyste vytvořili nový soubor bez úpravy původního:
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ěřte výstup
Po uložení do souboru zkontrolujte, zda existuje:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");Podporovaný formát uložení
| Formát | Enum hodnota | 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 PPTX. Parametr formátu je v současné době ignorován; všechny prezentace jsou uloženy jako PPTX bez ohledu na zadaný SaveFormat.
Běžné 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 jiných aplikacích před uložením.
Soubor je vytvořen, ale vypadá prázdně nebo poškozeně
Zajistěte, aby byla prs.Save() zavolána před tím, než je objekt uvolněn. Po spuštění Dispose() budou následné volání selhávat nebo vytvoří poškozený výstup.
Neočekávaný výstupní formát při ukládání
Předání jakékoli hodnoty SaveFormat jiné než SaveFormat.Pptx nevyvolá výjimku — parametr formátu je tiše ignorován a soubor je vždy uložen jako PPTX. Pro neznámou hodnotu formátu neexistuje NotSupportedException.
Často kladené otázky
Mohu uložit do stejného souboru, který jsem otevřel?
Ano. Uložení do stejné cesty přepíše původní soubor:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalUkládání zachová obsah, který jsem neupravil?
Ano. Neznámé části XML z původního souboru jsou zachovány doslovně. Knihovna serializuje pouze části modelu dokumentu, které rozumí, a předává jakékoli XML, které nerozpozná.