図形は、PowerPointプレゼンテーションをより精巧で魅力的なものにするための優れた方法です。 PowerPointには、プレゼンテーションスライドに追加できるさまざまな図形(楕円、線、長方形、コネクタなど)が用意されています。この機能を自動化するために、この記事では、C#を使用してプログラムでPowerPointスライドに図形を追加、複製、および削除する方法について説明します。
- PowerPointシェイプを操作するためのC# API
- PowerPointシェイプの種類
- PowerPointスライドに図形を追加する
- PowerPointスライドの図形にコネクタを追加する
- PowerPointスライドで図形のクローンを作成する
- PowerPointスライドから図形を削除する
PowerPointシェイプを操作するためのC# API
Aspose.Slides for .NETは、.NETアプリケーション内からPowerPointプレゼンテーションを操作するように設計されたC#APIです。他のプレゼンテーション操作機能とともに、APIはPowerPointスライドの図形を操作する簡単な方法を提供します。 APIのDLLをダウンロードするか、NuGetを介してインストールできます。
Install-Package Aspose.Slides.NET
PowerPointの形
Aspose.Slides for .NETは、PowerPointスライドに追加できるさまざまな形状タイプをサポートしています。最も一般的に使用される形状は次のとおりです。
C#を使用してPowerPointスライドに図形を追加する
楕円、線、長方形などの形状を追加するために、Aspose.SlidesはIShapeCollection.AddAutoShape(ShapeType、Single、Single、Single、Single)メソッドを提供します。 ShapeType列挙型を使用すると、追加する形状のタイプを指定できます。以下は、PowerPointスライドに図形を追加する手順です。
- Presentationクラスのインスタンスを作成して、新しいプレゼンテーションを作成するか、既存のプレゼンテーションをロードします。
- Presentation.Slides[index]を使用してISlideオブジェクトにスライドの参照を取得します。
- IShapesオブジェクトによって公開されるIShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single)メソッドを使用して、楕円(またはその他の形状)を追加します。
- Presentation.Save(string, SaveFormat)メソッドを使用してPPTXファイルを保存します。
次のコードサンプルは、C#を使用してPowerPointスライドに図形を追加する方法を示しています。
// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
using (Presentation pres = new Presentation("presentation.pptx"))
{
// 最初のスライドを取得
ISlide sld = pres.Slides[0];
// 楕円タイプのオートシェイプを追加します
sld.Shapes.AddAutoShape(ShapeType.Ellipse, 50, 150, 150, 50);
// プレゼンテーションを保存する
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
C#でPowerPointの図形を接続するためのコネクタを追加します
コネクタは、図形を結合するために図形を接続するために使用される線です。コネクタは、直線でも曲線でもかまいません。 PowerPointスライドの2つの図形の間にコネクタを追加する方法を見てみましょう。
- Presentationクラスのインスタンスを作成して、新しいプレゼンテーションを作成します。
- Presentation.Slides[index]を使用してISlideオブジェクトにスライドの参照を取得します。
- 前の例で追加したのと同じように2つの形状を追加し、IAutoShapeオブジェクトでそれらの参照を取得します。
- IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single)メソッドを使用して、新しいIConnectorオブジェクトを作成します。
- IConnector.StartShapeConnectedToおよびIConnector.EndShapeConnectedToプロパティを使用して図形を結合します。
- IConnector.Reroute()メソッドを呼び出して、最短の自動接続パスを作成します。
- Presentation.Save(string, SaveFormat)メソッドを使用してPPTXファイルを保存します。
次のコードサンプルは、C#を使用してPowerPointスライドの図形を接続する方法を示しています。
// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
using (Presentation pres = new Presentation("presentation.pptx"))
{
// 選択したスライドの図形コレクションにアクセスする
IShapeCollection shapes = pres.Slides[0].Shapes;
// オートシェイプ楕円を追加
IAutoShape ellipse = shapes.AddAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);
// オートシェイプ長方形を追加
IAutoShape rectangle = shapes.AddAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);
// スライド形状コレクションにコネクタ形状を追加する
IConnector connector = shapes.AddConnector(ShapeType.BentConnector2, 0, 0, 10, 10);
// シェイプをコネクタに結合する
connector.StartShapeConnectedTo = ellipse;
connector.EndShapeConnectedTo = rectangle;
// 再ルーティングを呼び出して、図形間の自動最短パスを設定します
connector.Reroute();
// プレゼンテーションを保存する
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
C#を使用してPowerPointスライドの図形を複製する
Aspose.Slides for .NETを使用して、あるPowerPointスライドから別のPowerPointスライドに図形を複製することもできます。この操作を実行する手順は次のとおりです。
- Presentationクラスのインスタンスを作成します。
- Presentation.Slides[index]を使用してISlideオブジェクトにスライドの参照を取得します。
- ISlide.Shapesコレクションを使用してソーススライド形状にアクセスします。
- ISlide.Shapesコレクションを使用して、目的のスライド形状にアクセスします。
- IShapeCollection.AddClone(ISlide)メソッドを使用して、ソーススライドシェイプコレクションからデスティネーションスライドにシェイプを複製します。
- 更新したプレゼンテーションファイルを保存します。
次のコードサンプルは、C#を使用してPowerPointスライド内で図形を複製する方法を示しています。
// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
using (Presentation pres = new Presentation("presentation.pptx"))
{
// ソーススライドから形状コレクションを取得する
IShapeCollection sourceShapes = pres.Slides[0].Shapes;
ILayoutSlide blankLayout = pres.Masters[0].LayoutSlides.GetByType(SlideLayoutType.Blank);
ISlide destSlide = pres.Slides.AddEmptySlide(blankLayout);
// 宛先スライドから形状コレクションを取得する
IShapeCollection destShapes = destSlide.Shapes;
destShapes.AddClone(sourceShapes[1], 50, 150 + sourceShapes[0].Height);
destShapes.AddClone(sourceShapes[2]);
// クローン形状
destShapes.InsertClone(0, sourceShapes[0], 50, 150);
// プレゼンテーションを保存する
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
C#を使用してPowerPointスライドから図形を削除する
以下は、PowerPointスライドから図形を削除する手順です。
- Presentationクラスのインスタンスを作成して、PPTXファイルをロードします。
- Presentation.Slides[index]からISlideオブジェクトに目的のスライドにアクセスします。
- 特定のIShape.AlternativeTextで形状を見つけます。
- ISlide.Shapes.Remove(IShape)メソッドを使用して形状を削除します。
- 更新したプレゼンテーションファイルを保存します。
次のコードサンプルは、C#を使用してPowerPointスライドから図形を削除する方法を示しています。
// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します
using (Presentation pres = new Presentation("presentation.pptx"))
{
// 最初のスライドを取得
ISlide sld = pres.Slides[0];
// 長方形タイプのオートシェイプを追加
IShape shp1 = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 40, 150, 50);
IShape shp2 = sld.Shapes.AddAutoShape(ShapeType.Moon, 160, 40, 150, 50);
String alttext = "User Defined";
int iCount = sld.Shapes.Count;
for (int i = 0; i < iCount; i++)
{
// 形状を取得する
AutoShape ashp = (AutoShape)sld.Shapes[0];
if (String.Compare(ashp.AlternativeText, alttext, StringComparison.Ordinal) == 0)
{
// 形を取り除く
sld.Shapes.Remove(ashp);
}
}
// プレゼンテーションを保存する
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
結論
MS PowerPointでは、スライドをより精巧にするために、さまざまな種類の図形を使用できます。楕円、長方形、線などを使用して、それらを結合するための形状とコネクタを描画できます。この記事では、手順とコードサンプルを使用して、C#を使用してプログラムでPowerPointスライドに図形を追加、複製、および削除する方法について説明しました。 APIについて詳しく知りたい場合は、ドキュメントにアクセスしてください。