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
- Các loại hình dạng PowerPoint
- Thêm hình dạng vào trang chiếu PowerPoint
- Thêm Trình kết nối vào Hình dạng trong Trang trình bày PowerPoint
- Sao chép một hình dạng trong PowerPoint Slides
- Xóa hình dạng khỏi trang chiếu PowerPoint
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.
- Tạo một thể hiện của lớp Presentation để tạo một bản trình bày mới hoặc tải một bản trình bày hiện có.
- Lấy tham chiếu của trang chiếu bằng cách sử dụng đối tượng Presentation.Slides[index] into ISlide.
- Thêm hình elip (hoặc bất kỳ hình dạng nào khác) bằng phương thức IShapeCollection.AddAutoShape(ShapeType, Single, Single, Single, Single) được hiển thị bởi đối tượng IShapes.
- 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 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.
- Tạo một thể hiện của lớp Presentation để tạo một bản trình bày mới.
- Lấy tham chiếu của trang chiếu bằng đối tượng Presentation.Slides[index] into ISlide.
- 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.
- Tạo đối tượng IConnector mới bằng phương thức IShapeCollection.AddConnector(ShapeType, Single, Single, Single, Single).
- Nối các hình bằng các thuộc tính IConnector.StartShapeConnectedTo và IConnector.EndShapeConnectedTo.
- Gọi phương thức IConnector.Reroute() để tạo đường dẫn kết nối tự động ngắn nhất.
- 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.
- Tạo một thể hiện của lớp Presentation.
- Lấy tham chiếu của trang chiếu bằng đối tượng Presentation.Slides[index] into ISlide.
- Truy cập các hình dạng trang chiếu nguồn bằng bộ sưu tập ISlide.Shapes.
- Truy cập các hình dạng slide đích bằng bộ sưu tập ISlide.Shapes.
- 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).
- 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.
- Tạo một phiên bản của lớp Presentation để tải tệp PPTX.
- Truy cập trang chiếu mong muốn từ đối tượng Presentation.Slides[index] vào đối tượng ISlide.
- Tìm hình dạng với IShape.AlternativeText cụ thể.
- Xóa hình bằng phương pháp ISlide.Shapes.Remove(IShape).
- 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.