.NETでプレゼンテーションを保存する方法
Aspose.Slides FOSS for .NET saves presentations exclusively to .pptx フォーマットを使用 prs.Save(path, SaveFormat.Pptx).このガイドでは、正しい保存パターン、別のパスへの保存、ストリームへの保存、および一般的な保存関連エラーについて説明します。.
ステップバイステップ ガイド
ステップ 1: パッケージをインストールする
dotnet add package Aspose.Slides.Fossステップ 2: プレゼンテーションを開くまたは作成する
常に使用してください using ステートメントです。保存呼び出しはオブジェクトが破棄される前に行う必要があります。.
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: すべての変更後に保存する
配置してください Save() すべての変更が完了した後、…の前に呼び出してください 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);ステップ 4: 別のパスに保存する
元のファイルを変更せずに新しいファイルを作成するために、別の出力パスを渡します::
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);この template.pptx ファイルは変更されません;; customized.pptx が作成されます(既に存在する場合は上書きされます)。.
ステップ 5: ストリームに保存する
この Presentation.Save メソッドは a も受け付けます 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: 出力を検証する
ファイルに保存した後、存在するか確認してください:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");サポートされている保存フォーマット
| フォーマット | Enum 値 | サポート |
|---|---|---|
| PPTX(Office Open XML) | SaveFormat.Pptx | はい |
| N/A | いいえ | |
| HTML | N/A | いいえ |
| SVG | N/A | いいえ |
| PNG / JPEG | N/A | いいえ |
| ODP (OpenDocument) | N/A | いいえ |
サポートされているのは PPTX のみです。format パラメータは現在無視され、指定された SaveFormat に関係なくすべてのプレゼンテーションは PPTX として保存されます。.
一般的な問題と対策
IOException: The process cannot access the file
出力ファイルが別のアプリケーションで開かれています(例: PowerPoint がファイルを開いている)。保存する前に他のアプリケーションでファイルを閉じてください。.
ファイルは作成されましたが、空または破損しているように見えます
確実に prs.Save() オブジェクトが破棄される前に呼び出されます。後で Dispose() 実行されると、以降の呼び出しは失敗するか、破損した出力が生成されます。.
保存時に予期しない出力形式
任意の SaveFormat 以外の値 SaveFormat.Pptx 例外はスローされません — format パラメータは黙って無視され、ファイルは常に PPTX として保存されます。ありません NotSupportedException 未認識の形式値に対して。.
よくある質問
開いたファイルと同じファイルに保存できますか??
はい。同じパスに保存すると元のファイルが上書きされます:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites original保存時に変更していないコンテンツは保持されますか??
はい。元のファイルに含まれる未知の XML パーツはそのまま保持されます。ライブラリはドキュメントモデルで理解できる部分だけをシリアライズし、認識できない XML はそのまま通過させます。.