Làm việc với Shapes trong bản trình bày PowerPoint bằng C ++

Microsoft PowerPoint cung cấp cho bạn khả năng thêm hình dạng vào bản trình bày của bạn. Hình dạng có thể hữu ích trong các tình huống như hiển thị luồng dữ liệu hoặc hiển thị các giai đoạn khác nhau của quy trình. Bạn có thể sử dụng các hình dạng như hình elip, đường thẳng, hình chữ nhật, v.v. và kết nối chúng bằng cách sử dụng trình kết nối. Bạn có thể thấy mình trong các tình huống mà bạn phải thêm hình dạng vào các trang chiếu PowerPoint theo chương trình. Để kết thúc, bài viết này sẽ hướng dẫn bạn cách làm việc với các hình dạng trong bản trình bày PowerPoint bằng C ++.

API C ++ để làm việc với hình dạng trong bản trình bày PowerPoint

Aspose.Slides for C ++ là một thư viện C ++ gốc hỗ trợ tạo, đọc và thao tác các tệp PowerPoint. API cũng hỗ trợ làm việc với các hình dạng trong bản trình bày PowerPoint. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.

PM> Install-Package Aspose.Slides.Cpp

Thêm hình dạng vào trang chiếu PowerPoint

Để thêm hình dạng, hãy sử dụng phương thức ISlide-> getShapes() -> AddAutoShape() do API cung cấp. Sau đây là các bước để thêm hình dạng vào trang chiếu PowerPoint.

Sau đây là mã mẫu để thêm hình dạng vào trang chiếu PowerPoint bằng C ++.

// Đường dẫn tệp
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddShapePresentation.pptx";

// Tải tệp bản trình bày
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Tải trang trình bày đầu tiên
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Thêm hình dạng
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);

// Lưu tệp bản trình bày
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Thêm hình dạng vào trang chiếu PowerPoint

Thêm Hình dạng được Kết nối vào Trang chiếu PowerPoint

Các đầu nối có thể được sử dụng để kết nối các hình dạng. Để tạo trình kết nối, bạn có thể sử dụng phương thức ISlide-> getShapes() -> AddConnector(). Sau đây là các bước để thêm hình dạng được kết nối vào trang chiếu PowerPoint.

Sau đây là mã mẫu để thêm các hình dạng được kết nối vào trang chiếu PowerPoint bằng C ++.

// Đường dẫn tệp
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddConnectedShapesPresentation.pptx";

// Tải tệp bản trình bày
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Tải trang trình bày đầu tiên
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Thêm hình dạng đầu tiên
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);

// Thêm hình dạng thứ hai
SharedPtr<IAutoShape> rectangle = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 300, 100, 100);

// Thêm trình kết nối
SharedPtr<IConnector> connector = slide->get_Shapes()->AddConnector(ShapeType::BentConnector2, 0, 0, 10, 10);

// Nối các hình với trình kết nối
connector->set_StartShapeConnectedTo(ellipse);
connector->set_EndShapeConnectedTo(rectangle);

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

// Lưu tệp bản trình bày
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Thêm hình dạng được kết nối vào trang trình bày PowerPoint

Sao chép hình dạng trong trang trình bày PowerPoint

Bạn cũng có thể sao chép các hình dạng hiện có bằng cách sử dụng API Aspose.Slides cho C ++. Để sao chép một hình dạng, hãy sử dụng phương thức ShapeCollection-> InsertClone() do API cung cấp. Sau đây là các bước để sao chép hình dạng từ slide này sang slide khác.

Sau đây là mã mẫu để sao chép hình dạng trong slide PowerPoint bằng C ++.

// Đường dẫn tệp
const String sourceFilePath = u"SourceDirectory\\ShapePresentation2.pptx";
const String outputFilePath = u"OutputDirectory\\CloneShapePresentation.pptx";

// Tải tệp bản trình bày
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Truy cập trang trình bày đầu tiên
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Truy cập bộ sưu tập hình dạng cho trang trình bày đã chọn
SharedPtr<IShapeCollection> sourceShapes = slide->get_Shapes();

// Nhận bộ sưu tập hình dạng từ trang trình bày đích
SharedPtr<ISlide> destSlide = presentation->get_Slides()->idx_get(1);
SharedPtr<IShapeCollection> destShapes = destSlide->get_Shapes();

// Nhân bản hình dạng
destShapes->InsertClone(0, sourceShapes->idx_get(1), 50, 150);

// Lưu tệp bản trình bày
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Sao chép hình dạng trong trang trình bày PowerPoint

Xóa Hình dạng khỏi Trang trình bày PowerPoint bằng C ++

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

Sau đây là mã mẫu để xóa hình dạng khỏi trang chiếu PowerPoint bằng C ++.

// Đường dẫn tệp
const String sourceFilePath = u"SourceDirectory\\ShapePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\RemoveShapePresentation.pptx";

// Tải tệp bản trình bày
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Truy cập trang trình bày đầu tiên
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

String alttext = u"User Defined";

int iCount = slide->get_Shapes()->get_Count();

for (int i = 0; i < iCount; i++)
{
	// Truy cập hình dạng
	SharedPtr<Shape> ashape = DynamicCast<Aspose::Slides::Shape>(slide->get_Shapes()->idx_get(i));

	if (String::Compare(ashape->get_AlternativeText(), alttext, StringComparison::Ordinal) == 0)
	{
		// Xóa hình dạng
		slide->get_Shapes()->Remove(ashape);
	}
}

// Lưu tệp bản trình bày
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Hình dạng PowerPoint được hỗ trợ

Aspose.Slides for C ++ hỗ trợ nhiều hình dạng để bạn làm việc. Sau đây là danh sách một số hình dạng được hỗ trợ.

Bạn có thể xem danh sách đầy đủ các hình dạng được hỗ trợ bằng cách xem các giá trị enum ShapeType.

Nhận giấy phép miễn phí

Bạn có thể yêu cầu giấy phép tạm thời miễn phí để dùng thử API mà không có giới hạn đánh giá.

Sự kết luận

Trong bài này, bạn đã học cách làm việc với các hình dạng trong bản trình bày PowerPoint bằng C ++. Cụ thể, bạn đã học cách thêm, sao chép và loại bỏ các hình dạng từ các trang chiếu PowerPoint. Hơn nữa, bạn đã thấy cách kết nối các hình dạng bằng cách sử dụng trình kết nối. Ngoài việc làm việc với các hình dạng, Aspose.Slides for C ++ cung cấp nhiều tính năng bổ sung để cải thiện các bản trình bày PowerPoint của bạn. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Trong trường hợp có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm