C#でPPTXサムネイルを生成する

サムネイルは、通常、大きな画像の小さなサイズのバージョンを作成するために使用されます。画像のリストを見たりスクロールしたりするのが簡単になります。 MS PowerPointは、プレゼンテーションのスライドのサムネイルも提供します。スライドのサムネイルを使用すると、プレゼンテーションを簡単に確認して、特定のスライドに移動できます。この記事では、C#を使用してPowerPoint PPTXまたはPPTのサムネイルを生成する方法を学習します。これは、独自のWebまたはデスクトップベースのPowerPointビューアを作成する必要がある場合などのシナリオで役立ちます。

PowerPoint PPTX/PPTのサムネイルを生成するための.NET API

PPTXまたはPPTプレゼンテーションのサムネイルを生成するには、Aspose.Slides for .NETを使用します。これは、PowerPointおよびOpenOfficeドキュメントを作成および操作できる強力なAPIです。さらに、プレゼンテーションを他のファイル形式に変換することができます。 APIをダウンロードするか、NuGetを使用してインストールできます。

PM> Install-Package Aspose.Slides.NET

C#を使用してPPTXまたはPPTのサムネイルを生成する

以下は、C#を使用してPPTXプレゼンテーションのサムネイルを生成する手順です。

  1. まず、Presentationクラスのインスタンスを作成して、プレゼンテーションをロードします。
  2. Presentation.Slidesコレクションの各ISlideをループします。
  3. ISlide.GetThumbnail(1f, 1f)メソッドを使用して各スライドのサムネイルを生成し、サムネイルの参照をBitmapオブジェクトに取得します。
  4. 最後に、Bitmap.Save(String, System.Drawing.Imaging.ImageFormat)メソッドを使用して、サムネイルを目的の画像形式で保存します。

次のコードサンプルは、C#を使用してPPTXプレゼンテーションのサムネイルを生成する方法を示しています。

// PowerPointプレゼンテーションをロードする
using (Presentation pres = new Presentation("presentation.pptx"))
{
    foreach (ISlide sld in pres.Slides)
    {
        // フルスケールの画像を作成する
        Bitmap bmp = sld.GetThumbnail(1f, 1f);

        // 画像をJPEG形式でディスクに保存します
        bmp.Save(String.Format("slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg);
    }
}

ユーザー定義のディメンションを使用してサムネイルを生成する

要件に応じてサムネイルのサイズをカスタマイズすることもできます。これは、Presentation.SlideSize.Size.WidthおよびPresentation.SlideSize.Size.Heightプロパティを使用して実現できます。この操作を実行する手順は次のとおりです。

  1. まず、Presentationクラスのインスタンスを作成して、プレゼンテーションをロードします。
  2. 次に、サムネイルの希望の寸法を設定し、および高さプロパティを使用して値を拡大縮小します。
  3. Presentation.Slidesコレクションの各ISlideをループします。
  4. ISlide.GetThumbnail(Single、Single)メソッドを使用して各スライドのサムネイルを生成し、サムネイルの参照をBitmapオブジェクトに取得します。
  5. 最後に、Bitmap.Save(String, System.Drawing.Imaging.ImageFormat)メソッドを使用して、サムネイルを目的の画像形式で保存します。

次のコードサンプルは、カスタマイズされたサイズでPPTXのサムネイルを生成する方法を示しています。

// PowerPointプレゼンテーションをロードする
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // ユーザー定義のディメンション
    int desiredX = 1200;
    int desiredY = 800;

    // XとYのスケーリングされた値を取得する
    float ScaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX;
    float ScaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY;

    foreach (ISlide sld in pres.Slides)
    {
        // フルスケールの画像を作成する
        Bitmap bmp = sld.GetThumbnail(ScaleX, ScaleY);

        // 画像をJPEG形式でディスクに保存します
        bmp.Save(String.Format("slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg);
    }
}

無料のAPIライセンスを取得する

一時ライセンスをリクエストすることで、評価の制限なしにAspose.Slides for .NETを使用できます。

結論

この記事では、C#を使用してPowerPoint PPTXまたはPPTのサムネイルを生成する方法を学習しました。さらに、希望のサイズのサムネイルを生成する方法を見てきました。さらに、ドキュメントにアクセスして、APIの他の機能を調べることができます。また、フォーラムからお気軽にお問い合わせください。

関連項目