.NET のグループ プレゼンテーション シェイプ

グループ シェイプの追加

Aspose.Slides はスライド上のグループシェイプの操作をサポートします。この機能により、開発者はよりリッチなプレゼンテーションを実現できます。Aspose.Slides for .NET はグループシェイプの追加またはアクセスをサポートしています。追加したグループシェイプにシェイプを追加して内容を構成したり、グループシェイプの任意のプロパティにアクセスしたりすることが可能です。Aspose.Slides for .NET を使用してスライドにグループシェイプを追加するには、次の手順を実行します:

  1. Presentation クラスのインスタンスを作成します。
  2. インデックスを使用してスライドの参照を取得します。
  3. スライドにグループシェイプを追加します。
  4. 追加したグループシェイプにシェイプを追加します。
  5. 変更したプレゼンテーションを PPTX ファイルとして保存します。

以下の例はスライドにグループシェイプを追加します。

// Presentation クラスをインスタンス化
using (Presentation pres = new Presentation())
{
    // 最初のスライドを取得
    ISlide sld = pres.Slides[0];

    // スライドのシェイプコレクションにアクセス
    IShapeCollection slideShapes = sld.Shapes;

    // スライドにグループシェイプを追加
    IGroupShape groupShape = slideShapes.AddGroupShape();

    // 追加したグループシェイプ内にシェイプを追加
    groupShape.Shapes.AddAutoShape(ShapeType.Rectangle, 300, 100, 100, 100);
    groupShape.Shapes.AddAutoShape(ShapeType.Rectangle, 500, 100, 100, 100);
    groupShape.Shapes.AddAutoShape(ShapeType.Rectangle, 300, 300, 100, 100);
    groupShape.Shapes.AddAutoShape(ShapeType.Rectangle, 500, 300, 100, 100);

    // グループシェイプのフレームを設定
    groupShape.Frame = new ShapeFrame(100, 300, 500, 40, NullableBool.False, NullableBool.False, 0);

    // PPTX ファイルをディスクに保存
    pres.Save("GroupShape_out.pptx", SaveFormat.Pptx);
}

AltText プロパティへのアクセス

このトピックでは、グループシェイプの追加とスライド上のグループシェイプの AltText プロパティへのアクセスを示すシンプルな手順とコード例を紹介します。Aspose.Slides for .NET を使用してスライド内のグループシェイプの AltText にアクセスするには、次の手順を実行します:

  1. Presentation クラスのインスタンスを作成します(PPTX ファイルを表します)。
  2. インデックスを使用してスライドの参照を取得します。
  3. スライドのシェイプコレクションにアクセスします。
  4. グループシェイプにアクセスします。
  5. AltText プロパティにアクセスします。

以下の例はグループシェイプの代替テキストにアクセスします。

// PPTX ファイルを表す Presentation クラスをインスタンス化
Presentation pres = new Presentation("AltText.pptx");

// 最初のスライドを取得
ISlide sld = pres.Slides[0];

for (int i = 0; i < sld.Shapes.Count; i++)
{
    // スライドのシェイプコレクションにアクセス
    IShape shape = sld.Shapes[i];

    if (shape is GroupShape)
    {
        // グループシェイプにアクセス。
        IGroupShape grphShape = (IGroupShape)shape;
        for (int j = 0; j < grphShape.Shapes.Count; j++)
        {
            IShape shape2 = grphShape.Shapes[j];
            // AltText プロパティにアクセス
            Console.WriteLine(shape2.AlternativeText);
        }
    }
}

FAQ

入れ子のグループ化(グループ内のグループ)はサポートされていますか?

はい。GroupShape には ParentGroup プロパティがあり、階層サポート(あるグループが別のグループの子になること)が直接示されています。

スライド上の他のオブジェクトに対するグループの Z オーダーをどのように制御しますか?

GroupShapeZOrderPosition プロパティを使用して、表示スタック内での位置を確認します。

移動/編集/グループ解除を防止できますか?

はい。グループのロックセクションは GroupShapeLock で公開されており、オブジェクトに対する操作を制限できます。