形狀是使您的 PowerPoint 演示文稿更加詳盡和吸引人的好方法。 PowerPoint 提供了多種形狀,您可以將它們添加到演示文稿幻燈片中,例如橢圓、直線、矩形、連接線等。為了自動執行此功能,本文介紹瞭如何使用 C# 以編程方式在 PowerPoint 幻燈片中添加、克隆和刪除形狀。
- 用於處理 PowerPoint 形狀的 C# API
- PowerPoint 形狀的類型
- 將形狀添加到 PowerPoint 幻燈片
- 向 PowerPoint 幻燈片中的形狀添加連接符
- 在 PowerPoint 幻燈片中克隆形狀
- 從 PowerPoint 幻燈片中刪除形狀
用於處理 PowerPoint 形狀的 C# API
Aspose.Slides for .NET 是一個 C# API,設計用於在 .NET 應用程序中處理 PowerPoint 演示文稿。除了其他演示文稿操作功能外,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 幻燈片中的兩個形狀之間添加連接符。
- 創建 Presentation 類的實例以創建新的演示文稿。
- 使用 Presentation.Slides[index] 獲取幻燈片對 ISlide 對象的引用。
- 添加兩個形狀,就像您在前面的示例中添加的一樣,並在 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;
// 調用 reroute 設置形狀之間的自動最短路徑
connector.Reroute();
// 保存演示文稿
pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}
使用 C# 在 PowerPoint 幻燈片中克隆形狀
您還可以使用 Aspose.Slides for .NET 將形狀從一張 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 的更多信息,可以訪問 文檔。