在 C#.jpg 中處理幻燈片中的形狀

形狀是使您的 PowerPoint 演示文稿更加詳盡和吸引人的好方法。 PowerPoint 提供了多種形狀,您可以將它們添加到演示文稿幻燈片中,例如橢圓、直線、矩形、連接線等。為了自動執行此功能,本文介紹瞭如何使用 C# 以編程方式在 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 幻燈片的步驟。

以下代碼示例演示如何使用 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 幻燈片中的兩個形狀之間添加連接符。

  1. 創建 Presentation 類的實例以創建新的演示文稿。
  2. 使用 Presentation.Slides[index] 獲取幻燈片對 ISlide 對象的引用。
  3. 添加兩個形狀,就像您在前面的示例中添加的一樣,並在 IAutoShape 對像中獲取它們的引用。
  4. 使用 IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single) 方法創建一個新的 IConnector 對象。
  5. 使用 IConnector.StartShapeConnectedToIConnector.EndShapeConnectedTo 屬性加入形狀。
  6. 調用IConnector.Reroute()方法創建最短的自動連接路徑。
  7. 使用 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 幻燈片複製到另一張幻燈片。以下是執行此操作的步驟。

  1. 創建 Presentation 類的實例。
  2. 使用 Presentation.Slides[index] 獲取幻燈片對 ISlide 對象的引用。
  3. 使用 ISlide.Shapes 集合訪問源幻燈片形狀。
  4. 使用 ISlide.Shapes 集合訪問目標幻燈片形狀。
  5. 使用 IShapeCollection.AddClone(ISlide) 方法將源幻燈片形狀集合中的形狀克隆到目標幻燈片。
  6. 保存更新的演示文稿文件。

以下代碼示例展示瞭如何使用 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 幻燈片中刪除形狀的步驟。

  1. 創建 Presentation 類的實例以加載 PPTX 文件。
  2. Presentation.Slides[index] 訪問所需的幻燈片到 ISlide 對象。
  3. 查找具有特定 IShape.AlternativeText 的形狀。
  4. 使用 ISlide.Shapes.Remove(IShape) 方法刪除形狀。
  5. 保存更新的演示文稿文件。

以下代碼示例演示如何使用 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 的更多信息,可以訪問 文檔

也可以看看