SmartArt được sử dụng để nâng cao trải nghiệm trình chiếu PowerPoint và trình bày dữ liệu một cách trực quan. Nó có thể được sử dụng để làm cho văn bản nổi bật và hấp dẫn hơn và cũng được sử dụng để hiển thị sơ đồ luồng, quy trình, biểu đồ quan hệ, v.v. Trong bài viết này, bạn sẽ học cách tạo SmartArt trong bản trình bày PowerPoint bằng C ++.

API C ++ để tạo SmartArt trong bản trình bày PowerPoint

Aspose.Slides cho C ++ là một API C ++ để làm việc với các tệp PowerPoint. Nó cho phép bạn tạo, đọc và sửa đổi các tệp PPT và PPTX mà không cần phần mềm bổ sung. Hơn nữa, API hỗ trợ tạo SmartArt 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

Tạo Hình dạng SmartArt trong PowerPoint bằng C ++

Sau đây là các bước để tạo hình SmartArt trong bản trình bày PowerPoint.

Mã mẫu sau đây cho biết cách tạo hình SmartArt trong PowerPoint bằng C ++.

// Đường dẫn tập tin
const String outputFilePath = u"OutputDirectory\\CreateSmartArt_out.pptx";

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

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

// Thêm SmartArt
auto smartArt = slide->get_Shapes()->AddSmartArt(0, 0, 400, 400, Aspose::Slides::SmartArt::SmartArtLayoutType::BasicBlockList);

smartArt->get_AllNodes()->idx_get(0)->get_TextFrame()->set_Text(u"First Block");
smartArt->get_AllNodes()->idx_get(1)->get_TextFrame()->set_Text(u"Second Block");

// Lưu bản trình bày
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Tạo SmartArt trong Bản trình bày PowerPoint bằng C ++

Hình ảnh đầu ra được tạo bởi mã mẫu

Truy cập Hình dạng SmartArt trong Bản trình bày PowerPoint

Bạn có thể truy cập các hình dạng SmartArt trong tệp PowerPoint bằng cách làm theo các bước dưới đây.

  • Tải tệp PowerPoint bằng lớp Trình bày.
  • Lặp qua các hình dạng.
  • Nếu hình dạng thuộc loại ISmartArt, thì lấy tham chiếu của nó dưới dạng đối tượng ISmartArt.

Mã mẫu sau đây cho thấy cách truy cập hình dạng SmartArt từ bản trình bày PowerPoint bằng C ++.

// Đường dẫn tập tin
const String sourceFilePath = u"OutputDirectory\\CreateSmartArt_out.pptx";

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

// Lặp qua các hình dạng
for (auto shape : presentation->get_Slides()->idx_get(0)->get_Shapes())
{
	// Kiểm tra xem hình dạng có thuộc loại SmartArt không
	if (System::ObjectExt::Is<Aspose::Slides::SmartArt::SmartArt>(shape))
	{
		// Đánh máy hình dạng sang SmartArt
		auto smartArt = System::DynamicCast_noexcept<ISmartArt>(shape);

		Console::WriteLine(String::Format(u"Shape Name: {0}", smartArt->get_Name()));

		// Kiểm tra bố cục SmartArt
		/*if (smartArt->get_Layout() == SmartArtLayoutType::BasicBlockList)
		{
			Console::WriteLine(u"Do some thing here....");
		}*/
	}
}

Thay đổi Kiểu của Hình dạng SmartArt bằng C ++

Bạn có thể dễ dàng thay đổi kiểu của hình dạng SmartArt sau khi truy cập vào nó. Sau đây là các bước để thay đổi kiểu của hình dạng SmartArt bằng C ++.

Mã mẫu sau đây cho thấy cách thay đổi kiểu của hình dạng SmartArt bằng C ++.

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

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

// Lặp qua các hình dạng
for (auto shape : presentation->get_Slides()->idx_get(0)->get_Shapes())
{
	// Kiểm tra xem hình dạng có thuộc loại SmartArt không
	if (System::ObjectExt::Is<Aspose::Slides::SmartArt::SmartArt>(shape))
	{
		// Đánh máy hình dạng thành SmartArt
		auto smartArt = System::DynamicCast_noexcept<ISmartArt>(shape);

		// Kiểm tra kiểu SmartArt
		if (smartArt->get_QuickStyle() == SmartArtQuickStyleType::SimpleFill) {
			// Thay đổi kiểu SmartArt
			smartArt->set_QuickStyle(SmartArtQuickStyleType::Cartoon);
		}

		// Kiểm tra loại màu SmartArt
		if (smartArt->get_ColorStyle() == SmartArtColorType::ColoredFillAccent1) {
			// Thay đổi loại màu SmartArt
			smartArt->set_ColorStyle(SmartArtColorType::ColorfulAccentColors);
		}
	}
}

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

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

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

Sự kết luận

Trong bài viết này, bạn đã học cách tạo một hình dạng SmartArt trong bản trình bày PowerPoint bằng C ++. Hơn nữa, bạn đã thấy cách truy cập và thay đổi kiểu của một hình dạng SmartArt bằng cách sử dụng API Aspose.Slides cho C ++. Đây là một API mạnh mẽ và giàu tính năng, cung cấp nhiều tính năng bổ sung để làm việc với các tệp PowerPoint. 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ỳ thắc mắc nào, vui lòng liên hệ với chúng tôi tại diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm