プレゼンテーションにレイアウトスライドを追加する

Aspose.Slides for .NETを使用すると、開発者はプレゼンテーションに新しいレイアウトスライドを追加できます。レイアウトスライドを追加するには、以下の手順に従ってください。

  • Presentationクラスのインスタンスを作成します。
  • マスタースライドコレクションにアクセスします。
  • 既存のレイアウトスライドを検索して、必要なレイアウトがすでにレイアウトスライドコレクションにあるかどうかを確認します。
  • 希望するレイアウトが利用できない場合は、新しいレイアウトスライドを追加します。
  • 新しく追加したレイアウトスライドで空のスライドを追加します。
  • 最後に、Presentationオブジェクトを使用してプレゼンテーションファイルを書き込みます。


 //プレゼンテーションファイルを表すPresentationクラスのインスタンスを作成します

using (Presentation p = new Presentation("Test.pptx"))

{

   // レイアウトスライドタイプで検索しようとします

   IMasterLayoutSlideCollection layoutSlides = p.Masters[0].LayoutSlides;

   ILayoutSlide layoutSlide =

   layoutSlides.GetByType(SlideLayoutType.TitleAndObject) ??

   layoutSlides.GetByType(SlideLayoutType.Title);

   if (layoutSlide == null)

   {

     // プレゼンテーションが特定のレイアウトタイプを含まない場合の状況です。

     // Technographics.pptxプレゼンテーションにはBlankとCustomレイアウトタイプのみが含まれています。

     // ただし、Customタイプのレイアウトスライドには異なるスライド名があり、

     // 「Title」、「Title and Content」などがあります。これらの

     // 名前をレイアウトスライドの選択に使用することができます。

     // また、プレースホルダーシェイプタイプのセットを使用することもできます。たとえば、

     // タイトルスライドには、タイトルプレースホルダータイプのみが必要です。

     foreach (ILayoutSlide titleAndObjectLayoutSlide in layoutSlides)

     {

       if (titleAndObjectLayoutSlide.Name == "Title and Object")

       {

          layoutSlide = titleAndObjectLayoutSlide;

          break;

       }

      }

      if (layoutSlide == null)

      {

         foreach (ILayoutSlide titleLayoutSlide in layoutSlides)

         {

            if (titleLayoutSlide.Name == "Title")

            {

                layoutSlide = titleLayoutSlide;

                break;

            }

          }

          if (layoutSlide == null)

          {

             layoutSlide = layoutSlides.GetByType(SlideLayoutType.Blank);

             if (layoutSlide == null)

             {

                  layoutSlide = layoutSlides.Add(SlideLayoutType.TitleAndObject, "Title and Object");

             }

          }

      }

  }

  //追加されたレイアウトスライドで空のスライドを追加します

  p.Slides.InsertEmptySlide(0, layoutSlide);

  //プレゼンテーションを保存します

  p.Save("Output.pptx", SaveFormat.Pptx);

}


実行例のダウンロード

サンプルコードのダウンロード