Làm việc với Hình dạng trong Trang trình bày trong C#.jpg

Hình dạng là một cách hay để làm cho bản trình bày PowerPoint của bạn trở nên công phu và hấp dẫn hơn. PowerPoint cung cấp nhiều loại hình dạng mà bạn có thể thêm vào trang chiếu bản trình bày của mình, chẳng hạn như hình elip, đường kẻ, hình chữ nhật, đường nối, v.v. Để tự động hóa tính năng này, bài viết này đề cập đến cách thêm, sao chép và xóa hình dạng trong các trang chiếu PowerPoint theo cách lập trình bằng C#.

API C# để làm việc với các hình dạng PowerPoint

Aspose.Slides for .NET là API C# được thiết kế để hoạt động với bản trình bày PowerPoint từ bên trong ứng dụng .NET. Cùng với các tính năng thao tác trình bày khác, API cung cấp các cách dễ dàng để làm việc với các hình dạng trong các trang chiếu PowerPoint. Bạn có thể tải xuống DLL của API hoặc cài đặt qua NuGet.

Install-Package Aspose.Slides.NET

Hình dạng PowerPoint

Aspose.Slides dành cho .NET hỗ trợ nhiều loại hình dạng mà bạn có thể thêm vào trang chiếu PowerPoint. Các hình dạng được sử dụng phổ biến nhất bao gồm:

Thêm Hình dạng vào Trang trình bày PowerPoint bằng C#

Để thêm một hình dạng như hình elip, đường thẳng, hình chữ nhật, v.v., Aspose.Slides cung cấp phương thức IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single). ShapeType enum cho phép bạn chỉ định loại hình mà bạn muốn thêm. Sau đây là các bước để thêm hình dạng vào trang chiếu PowerPoint.

Mẫu mã sau đây cho biết cách thêm hình dạng vào trang chiếu PowerPoint bằng C#.

// Khởi tạo một đối tượng Trình bày đại diện cho tệp trình bày
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Lấy slide đầu tiên
    ISlide sld = pres.Slides[0];

    // Thêm hình tự động của loại hình elip
    sld.Shapes.AddAutoShape(ShapeType.Ellipse, 50, 150, 150, 50);

    // Lưu bản trình bày
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Thêm Trình kết nối để Kết nối Hình dạng PowerPoint trong C#

Đường kết nối là một đường được sử dụng để kết nối các hình để nối chúng. Đường nối có thể là đường thẳng hoặc đường cong. Hãy xem cách thêm đường kết nối giữa hai hình trong trang chiếu PowerPoint.

  1. Tạo một thể hiện của lớp Presentation để tạo một bản trình bày mới.
  2. Lấy tham chiếu của trang chiếu bằng đối tượng Presentation.Slides[index] into ISlide.
  3. Thêm hai hình giống như bạn đã thêm trong ví dụ trước và lấy tham chiếu của chúng trong các đối tượng IAutoShape.
  4. Tạo đối tượng IConnector mới bằng phương thức IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
  5. Nối các hình bằng các thuộc tính IConnector.StartShapeConnectedToIConnector.EndShapeConnectedTo.
  6. Gọi phương thức IConnector.Reroute() để tạo đường dẫn kết nối tự động ngắn nhất.
  7. Lưu tệp PPTX bằng phương pháp Presentation.Save(String, SaveFormat).

Mẫu mã sau đây cho biết cách kết nối các hình trong trang chiếu PowerPoint bằng C#.

// Khởi tạo một đối tượng Trình bày đại diện cho tệp trình bày
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Truy cập bộ sưu tập hình dạng cho slide đã chọn
    IShapeCollection shapes = pres.Slides[0].Shapes;

    // Thêm hình elip tự động định hình
    IAutoShape ellipse = shapes.AddAutoShape(ShapeType.Ellipse, 0, 100, 100, 100);

    // Thêm hình chữ nhật tự động định hình
    IAutoShape rectangle = shapes.AddAutoShape(ShapeType.Rectangle, 100, 300, 100, 100);

    // Thêm hình dạng đường kết nối vào bộ sưu tập hình dạng trang chiếu
    IConnector connector = shapes.AddConnector(ShapeType.BentConnector2, 0, 0, 10, 10);

    // Tham gia hình dạng để kết nối
    connector.StartShapeConnectedTo = ellipse;
    connector.EndShapeConnectedTo = rectangle;

    // Định tuyến lại cuộc gọi để đặt đường dẫn ngắn nhất tự động giữa các hình
    connector.Reroute();

    // Lưu bản trình bày
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Sao chép hình dạng trong slide PowerPoint bằng C#

Bạn cũng có thể sao chép các hình từ trang chiếu PowerPoint này sang trang chiếu PowerPoint khác bằng cách sử dụng Aspose.Slides for .NET. Sau đây là các bước để thực hiện thao tác này.

  1. Tạo một thể hiện của lớp Presentation.
  2. Lấy tham chiếu của trang chiếu bằng đối tượng Presentation.Slides[index] into ISlide.
  3. Truy cập các hình dạng trang chiếu nguồn bằng bộ sưu tập ISlide.Shapes.
  4. Truy cập các hình dạng slide đích bằng bộ sưu tập ISlide.Shapes.
  5. Sao chép các hình từ bộ sưu tập hình dạng trang chiếu nguồn sang trang chiếu đích bằng phương pháp IShapeCollection.AddClone(ISlide).
  6. Lưu tệp bản trình bày đã cập nhật.

Mẫu mã sau đây cho biết cách sao chép các hình dạng trong các trang chiếu PowerPoint bằng C#.

// Khởi tạo một đối tượng Trình bày đại diện cho tệp trình bày
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Lấy bộ sưu tập hình dạng từ slide nguồn
    IShapeCollection sourceShapes = pres.Slides[0].Shapes;
    ILayoutSlide blankLayout = pres.Masters[0].LayoutSlides.GetByType(SlideLayoutType.Blank);
    ISlide destSlide = pres.Slides.AddEmptySlide(blankLayout);
    
    // Nhận bộ sưu tập hình dạng từ slide đích
    IShapeCollection destShapes = destSlide.Shapes;
    destShapes.AddClone(sourceShapes[1], 50, 150 + sourceShapes[0].Height);
    destShapes.AddClone(sourceShapes[2]);
    
    // hình dạng nhân bản
    destShapes.InsertClone(0, sourceShapes[0], 50, 150);

    // Lưu bản trình bày
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Xóa hình khỏi slide PowerPoint bằng C#

Sau đây là các bước để xóa hình dạng khỏi trang chiếu PowerPoint.

  1. Tạo một phiên bản của lớp Presentation để tải tệp PPTX.
  2. Truy cập trang chiếu mong muốn từ đối tượng Presentation.Slides[index] vào đối tượng ISlide.
  3. Tìm hình dạng với IShape.AlternativeText cụ thể.
  4. Xóa hình bằng phương pháp ISlide.Shapes.Remove(IShape).
  5. Lưu tệp bản trình bày đã cập nhật.

Mẫu mã sau đây cho biết cách xóa hình khỏi trang chiếu PowerPoint bằng C#.

// Khởi tạo một đối tượng Trình bày đại diện cho tệp trình bày
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Lấy slide đầu tiên
    ISlide sld = pres.Slides[0];

    // Thêm autoshape của loại hình chữ nhật
    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++)
    {
        // Lấy hình dạng
        AutoShape ashp = (AutoShape)sld.Shapes[0];
        if (String.Compare(ashp.AlternativeText, alttext, StringComparison.Ordinal) == 0)
        {
            // Xóa hình dạng
            sld.Shapes.Remove(ashp);
        }
    }

    // Lưu bản trình bày
    pres.Save("presentation.pptx", Export.SaveFormat.Pptx);
}

Sự kết luận

MS PowerPoint cho phép bạn sử dụng nhiều loại hình dạng khác nhau để làm cho các trang chiếu của bạn trở nên phức tạp hơn. Bạn có thể sử dụng hình elip, hình chữ nhật, đường thẳng, v.v. để vẽ các hình và đường nối của bạn để nối chúng. Với sự trợ giúp của các bước và mẫu mã, bài viết này trình bày cách thêm, sao chép và xóa hình dạng trong các trang chiếu PowerPoint theo cách lập trình bằng C#. Trong trường hợp bạn muốn khám phá thêm về API, bạn có thể truy cập tài liệu.

Xem thêm