.NETでプレゼンテーションを保存

プレゼンテーションを保存

プレゼンテーションを開く方法については、Presentationクラスを使用してプレゼンテーションを開く方法を説明しています。この記事では、プレゼンテーションを作成し保存する方法を説明します。 Presentationクラスはプレゼンテーションの内容を保持します。最初からプレゼンテーションを作成する場合でも、既存のプレゼンテーションを変更する場合でも、完了したらプレゼンテーションを保存したくなるでしょう。Aspose.Slides for .NETを使用すると、ファイルまたはストリームとして保存できます。この記事では、プレゼンテーションをさまざまな方法で保存する方法を説明します。

ファイルにプレゼンテーションを保存

PresentationクラスのSaveメソッドを呼び出すことで、ファイルにプレゼンテーションを保存します。ファイル名と保存フォーマットをSaveメソッドに渡すだけです。以下の例は、C#を使用してAspose.Slides for .NETでプレゼンテーションを保存する方法を示しています。

// PPTファイルを表すPresentationオブジェクトをインスタンス化
Presentation presentation= new Presentation();

//...ここでいくつかの作業を行う...

// プレゼンテーションをファイルに保存
presentation.Save("Saved_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);

ストリームにプレゼンテーションを保存

出力ストリームをPresentationクラスのSaveメソッドに渡すことで、プレゼンテーションをストリームに保存することができます。プレゼンテーションを保存できるストリームのタイプは多数あります。以下の例では、新しいプレゼンテーションファイルを作成し、シェイプにテキストを追加して、プレゼンテーションをストリームに保存しています。

// PPTファイルを表すPresentationオブジェクトをインスタンス化
using (Presentation presentation = new Presentation())
{

    IAutoShape shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 200, 200);

    // シェイプにテキストを追加
    shape.TextFrame.Text = "このデモでは、PowerPointファイルを作成し、それをストリームに保存する方法を示します。";

    FileStream toStream = new FileStream("Save_As_Stream_out.pptx", FileMode.Create);
    presentation.Save(toStream, Aspose.Slides.Export.SaveFormat.Pptx);
    toStream.Close();
}

既定のビュータイプでプレゼンテーションを保存

Aspose.Slides for .NETは、ViewPropertiesクラスを通じて、PowerPointで開いたときの生成されたプレゼンテーションのビュータイプを設定する機能を提供します。LastViewプロパティは、ViewType列挙体を使用してビュータイプを設定するために使用されます。

using (Presentation pres = new Presentation())
{
    pres.ViewProperties.LastView = ViewType.SlideMasterView;
    pres.Save("pres-will-open-SlideMasterView.pptx", SaveFormat.Pptx);
}

厳密なOffice Open XML形式でプレゼンテーションを保存

Aspose.Slidesを使用すると、プレゼンテーションを厳密なOffice Open XML形式で保存できます。そのためには、プレゼンテーションファイルを保存する際にConformanceプロパティを設定できるAspose.Slides.Export.PptxOptionsクラスが提供されています。その値をConformance.Iso29500_2008_Strictに設定すると、出力プレゼンテーションファイルは厳密なOffice Open XML形式で保存されます。

以下のサンプルコードは、プレゼンテーションを作成し、厳密なOffice Open XML形式で保存するものです。プレゼンテーションのSaveメソッドを呼び出す際に、**Aspose.Slides.Export.PptxOptions**オブジェクトが渡され、ConformanceプロパティはConformance.Iso29500_2008_Strictに設定されています。

   // プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化
   using (Presentation presentation = new Presentation())
   {
       // 最初のスライドを取得
       ISlide slide = presentation.Slides[0];

       // ラインタイプのオートシェイプを追加
       slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0);

       // プレゼンテーションを厳密なOffice Open XML形式で保存
       presentation.Save(dataDir + "NewPresentation_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx,
           new PptxOptions() { Conformance = Conformance.Iso29500_2008_Strict });

   }

Zip64モードでOffice Open XML形式のプレゼンテーションを保存

Office Open XMLファイルはZIPアーカイブで、ファイルの未圧縮サイズ、圧縮サイズ、およびアーカイブの合計サイズに4GB(2^32バイト)の制限があり、アーカイブ内のファイル数も65,535(2^16-1)に制限されています。ZIP64形式の拡張により、これらの制限は2^64まで拡大されます。

新しいIPptxOptions.Zip64Modeプロパティを使用すると、保存されたOffice Open XMLファイルにZIP64形式の拡張を使用するかどうかを選択できます。

このプロパティは以下のモードを提供します:

  • Zip64Mode.IfNecessaryは、プレゼンテーションが上記の制限を超える場合のみZIP64形式の拡張が使用されることを意味します。これがデフォルトモードです。
  • Zip64Mode.Neverは、ZIP64形式の拡張が使用されないことを意味します。
  • Zip64Mode.Alwaysは、ZIP64形式の拡張が常に使用されることを意味します。

以下のC#コードは、ZIP64形式の拡張を使用してプレゼンテーションをPPTX形式で保存する方法を示しています。

using (Presentation pres = new Presentation("Sample.pptx"))
{
    pres.Save("Sample-zip64.pptx", SaveFormat.Pptx, new PptxOptions()
    {
        Zip64Mode = Zip64Mode.Always
    });
}

パーセンテージでの進捗更新の保存

新しいIProgressCallbackインターフェースがISaveOptionsインターフェースとSaveOptions抽象クラスに追加されました。IProgressCallbackインターフェースは、パーセンテージでの保存進捗更新のためのコールバックオブジェクトを表します。

以下のコードスニペットは、IProgressCallbackインターフェースの使用方法を示しています。

using (Presentation presentation = new Presentation("ConvertToPDF.pptx"))
{
    ISaveOptions saveOptions = new PdfOptions();
    saveOptions.ProgressCallback = new ExportProgressHandler();
    presentation.Save("ConvertToPDF.pdf", SaveFormat.Pdf, saveOptions);
}

class ExportProgressHandler : IProgressCallback
{
    public void Reporting(double progressValue)
    {
        // 進捗のパーセンテージ値をここで使用
        int progress = Convert.ToInt32(progressValue);
        Console.WriteLine(progress + "%ファイルが変換されました");
    }
}

プレゼンテーションを開いて保存

手順: C#でプレゼンテーションを開いて保存

  1. 任意の形式(例: PPT, PPTX, ODPなど)でPresentationクラスのインスタンスを作成します。
  2. プレゼンテーションをSaveFormatでサポートされている任意の形式で保存します。
// プレゼンテーションに任意のサポートされたファイルを読み込む(例: ppt, pptx, odpなど)
Presentation presentation = new Presentation("Sample.odp");

presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx);