Praca z kształtami w prezentacjach programu PowerPoint przy użyciu języka C++

Program Microsoft PowerPoint zapewnia możliwość dodawania kształtów do prezentacji. Kształty mogą być pomocne w scenariuszach, takich jak pokazywanie przepływu danych lub przedstawianie różnych faz procesu. Możesz używać kształtów takich jak elipsy, linie, prostokąty itp. i łączyć je za pomocą łączników. Możesz znaleźć się w scenariuszach, w których musisz programowo dodawać kształty do slajdów programu PowerPoint. W tym celu w tym artykule dowiesz się, jak pracować z kształtami w prezentacjach programu PowerPoint przy użyciu języka C++.

C++ API do pracy z kształtami w prezentacjach programu PowerPoint

Aspose.Slides for C++ to natywna biblioteka C++, która obsługuje tworzenie, odczytywanie i manipulowanie plikami PowerPoint. Interfejs API obsługuje również pracę z kształtami w prezentacjach programu PowerPoint. Możesz zainstalować API poprzez NuGet lub pobrać bezpośrednio z sekcji Downloads.

PM> Install-Package Aspose.Slides.Cpp

Dodaj kształt do slajdu programu PowerPoint

Aby dodać kształt, użyj metody ISlide->getShapes()->AddAutoShape() udostępnianej przez API. Poniżej przedstawiono kroki, aby dodać kształt do slajdu programu PowerPoint.

Poniżej znajduje się przykładowy kod służący do dodawania kształtu do slajdu programu PowerPoint przy użyciu języka C++.

// Ścieżki plików
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddShapePresentation.pptx";

// Załaduj plik prezentacji
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Pobierz pierwszy slajd
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Dodaj kształt
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);

// Zapisz plik prezentacji
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Dodaj kształt do slajdu programu PowerPoint

Dodaj połączone kształty do slajdu programu PowerPoint

Łączników można używać do łączenia kształtów. W celu utworzenia konektora można skorzystać z metody ISlide->getShapes()->AddConnector(). Poniżej przedstawiono kroki dodawania połączonych kształtów do slajdu programu PowerPoint.

Poniżej znajduje się przykładowy kod służący do dodawania połączonych kształtów do slajdu programu PowerPoint przy użyciu języka C++.

// Ścieżki plików
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddConnectedShapesPresentation.pptx";

// Załaduj plik prezentacji
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Pobierz pierwszy slajd
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Dodaj pierwszy kształt
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);

// Dodaj drugi kształt
SharedPtr<IAutoShape> rectangle = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 300, 100, 100);

// Dodaj złącze
SharedPtr<IConnector> connector = slide->get_Shapes()->AddConnector(ShapeType::BentConnector2, 0, 0, 10, 10);

// Połącz kształty łącznikiem
connector->set_StartShapeConnectedTo(ellipse);
connector->set_EndShapeConnectedTo(rectangle);

// Wywołaj przekierowanie, aby ustawić automatyczną najkrótszą ścieżkę między kształtami
connector->Reroute();

// Zapisz plik prezentacji
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Dodaj połączone kształty do slajdu programu PowerPoint

Klonuj kształty w slajdach programu PowerPoint

Możesz także klonować istniejące kształty przy użyciu interfejsu API Aspose.Slides for C++. Aby sklonować kształt, użyj metody ShapeCollection->InsertClone() udostępnianej przez API. Poniżej przedstawiono kroki klonowania kształtów z jednego slajdu do drugiego.

Poniżej znajduje się przykładowy kod służący do klonowania kształtów na slajdach programu PowerPoint przy użyciu języka C++.

// Ścieżki plików
const String sourceFilePath = u"SourceDirectory\\ShapePresentation2.pptx";
const String outputFilePath = u"OutputDirectory\\CloneShapePresentation.pptx";

// Załaduj plik prezentacji
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Uzyskaj dostęp do pierwszego slajdu
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Dostęp do kolekcji kształtów dla wybranego slajdu
SharedPtr<IShapeCollection> sourceShapes = slide->get_Shapes();

// Pobierz kolekcję kształtów ze slajdu docelowego
SharedPtr<ISlide> destSlide = presentation->get_Slides()->idx_get(1);
SharedPtr<IShapeCollection> destShapes = destSlide->get_Shapes();

// Kształt klonu
destShapes->InsertClone(0, sourceShapes->idx_get(1), 50, 150);

// Zapisz plik prezentacji
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Klonuj kształty w slajdach programu PowerPoint

Usuń kształty ze slajdów programu PowerPoint przy użyciu języka C++

Poniżej przedstawiono kroki, aby usunąć kształty ze slajdów programu PowerPoint.

Poniżej znajduje się przykładowy kod do usuwania kształtów ze slajdów programu PowerPoint przy użyciu języka C++.

// Ścieżki plików
const String sourceFilePath = u"SourceDirectory\\ShapePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\RemoveShapePresentation.pptx";

// Załaduj plik prezentacji
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Uzyskaj dostęp do pierwszego slajdu
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++)
{
	// Uzyskaj dostęp do kształtu
	SharedPtr<Shape> ashape = DynamicCast<Aspose::Slides::Shape>(slide->get_Shapes()->idx_get(i));

	if (String::Compare(ashape->get_AlternativeText(), alttext, StringComparison::Ordinal) == 0)
	{
		// Usuń kształt
		slide->get_Shapes()->Remove(ashape);
	}
}

// Zapisz plik prezentacji
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Obsługiwane kształty programu PowerPoint

Aspose.Slides for C++ obsługuje wiele kształtów, z którymi możesz pracować. Poniżej znajduje się lista niektórych obsługiwanych kształtów.

Możesz wyświetlić pełną listę obsługiwanych kształtów, przeglądając wartości wyliczeniowe ShapeType.

Uzyskaj bezpłatną licencję

Możesz poprosić o darmową tymczasową licencję, aby wypróbować interfejs API bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się, jak pracować z kształtami w prezentacjach PowerPoint przy użyciu języka C++. W szczególności nauczyłeś się dodawać, klonować i usuwać kształty ze slajdów programu PowerPoint. Ponadto widziałeś, jak łączyć kształty za pomocą łącznika. Oprócz pracy z kształtami Aspose.Slides for C++ zapewnia wiele dodatkowych funkcji ulepszających prezentacje PowerPoint. Możesz szczegółowo zapoznać się z interfejsem API, odwiedzając oficjalną dokumentację. W przypadku jakichkolwiek pytań prosimy o kontakt na naszym bezpłatnym forum pomocy technicznej.

Zobacz też