Microsoft PowerPoint bietet Ihnen die Möglichkeit, Ihren Präsentationen Formen hinzuzufügen. Shapes können in Szenarien hilfreich sein, z. B. um den Datenfluss oder verschiedene Phasen eines Prozesses anzuzeigen. Sie können Formen wie Ellipsen, Linien, Rechtecke usw. verwenden und diese mit Verbindern verbinden. Möglicherweise befinden Sie sich in Szenarien, in denen Sie PowerPoint-Folien programmgesteuert Formen hinzufügen müssen. Zu diesem Zweck lernen Sie in diesem Artikel, wie Sie mit Formen in PowerPoint Präsentationen mit C++ arbeiten.
- C++-API zum Arbeiten mit Formen in PowerPoint Präsentationen
- Fügen Sie einer PowerPoint-Folie eine Form hinzu
- Fügen Sie einer PowerPoint-Folie verbundene Shapes hinzu
- Klonen Sie Formen in PowerPoint-Folien
- Formen aus PowerPoint-Folien mit C++ entfernen
- Unterstützte PowerPoint-Formen
- Holen Sie sich eine kostenlose Lizenz
C++-API zum Arbeiten mit Formen in PowerPoint Präsentationen
Aspose.Slides for C++ ist eine native C++ Bibliothek, die das Erstellen, Lesen und Bearbeiten von PowerPoint Dateien unterstützt. Die API unterstützt auch das Arbeiten mit Formen in PowerPoint Präsentationen. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.
PM> Install-Package Aspose.Slides.Cpp
Fügen Sie einer PowerPoint-Folie eine Form hinzu
Verwenden Sie zum Hinzufügen einer Form die von der API bereitgestellte Methode ISlide->getShapes()->AddAutoShape(). Im Folgenden finden Sie die Schritte zum Hinzufügen einer Form zu einer PowerPoint-Folie.
- Laden Sie zunächst die PowerPoint Präsentation mit der Klasse Presentation.
- Rufen Sie die Folie ab, auf der Sie die Form hinzufügen möchten, indem Sie die Methode Presentation->getSlides()->idxget (int32t index) verwenden.
- Fügen Sie die Form mit der methode ISlide->getShapes()->AddAutoShape (ShapeType shapeType, float x, float y, float width, float height) hinzu.
- Speichern Sie abschließend die Präsentation mit der methode Presentation->Save (System::String name, Export::SaveFormat format).
Im Folgenden finden Sie den Beispielcode zum Hinzufügen einer Form zu einer PowerPoint-Folie mit C++.
// Dateipfade
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddShapePresentation.pptx";
// Laden Sie die Präsentationsdatei
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Holen Sie sich die erste Folie
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Fügen Sie die Form hinzu
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);
// Präsentationsdatei speichern
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Fügen Sie einer PowerPoint-Folie verbundene Shapes hinzu
Konnektoren können verwendet werden, um Shapes zu verbinden. Um einen Konnektor zu erstellen, können Sie die Methode ISlide->getShapes()->AddConnector() verwenden. Im Folgenden finden Sie die Schritte zum Hinzufügen verbundener Formen zu einer PowerPoint-Folie.
- Laden Sie zunächst die PowerPoint Präsentation mit der Klasse Presentation.
- Rufen Sie die Folie ab, auf der Sie die Formen hinzufügen möchten, indem Sie die Methode Presentation->getSlides()->idxget (int32t index) verwenden.
- Fügen Sie die Formen mit der methode ISlide->getShapes()->AddAutoShape (ShapeType shapeType, float x, float y, float width, float height) hinzu.
- Fügen Sie den Konnektor mit der methode ISlide->getShapes()->AddConnector (ShapeType shapeType, float x, float y, float width, float height) hinzu.
- Verbinden Sie die Shapes mit dem Konnektor mithilfe von IConnector->setStartShapeConnectedTo (System::SharedPtr value) und IConnector->setEndShapeConnectedTo (System::SharedPtr Wert) Methoden.
- Rufen Sie die Methode IConnector->Reroute() auf, um den kürzesten automatischen Verbindungspfad zu erstellen.
- Speichern Sie abschließend die Präsentation mit der methode Presentation->Save (System::String name, Export::SaveFormat format).
Im Folgenden finden Sie den Beispielcode zum Hinzufügen verbundener Formen zu einer PowerPoint-Folie mithilfe von C++.
// Dateipfade
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddConnectedShapesPresentation.pptx";
// Laden Sie die Präsentationsdatei
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Holen Sie sich die erste Folie
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Fügen Sie die erste Form hinzu
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);
// Fügen Sie die zweite Form hinzu
SharedPtr<IAutoShape> rectangle = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 300, 100, 100);
// Fügen Sie den Konnektor hinzu
SharedPtr<IConnector> connector = slide->get_Shapes()->AddConnector(ShapeType::BentConnector2, 0, 0, 10, 10);
// Verbinden Sie die Formen mit dem Verbinder
connector->set_StartShapeConnectedTo(ellipse);
connector->set_EndShapeConnectedTo(rectangle);
// Rufen Sie Reroute auf, um den automatisch kürzesten Pfad zwischen Shapes festzulegen
connector->Reroute();
// Präsentationsdatei speichern
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Klonen Sie Formen in PowerPoint-Folien
Sie können auch vorhandene Formen mit der Aspose.Slides for C++ API klonen. Verwenden Sie zum Klonen einer Form die von der API bereitgestellte Methode ShapeCollection->InsertClone(). Im Folgenden finden Sie die Schritte zum Klonen von Formen von einer Folie auf eine andere.
- Laden Sie zunächst die PowerPoint Präsentation mit der Klasse Presentation.
- Rufen Sie die Quellfolie mit der methode Presentation->getSlides()->idxget (int32t index) ab.
- Greifen Sie mit der methode ISlide->getShapes() auf die Formen der Quellfolie zu.
- Greifen Sie mit der methode ISlide->getShapes() auf die Formen der Zielfolie zu.
- Klonen Sie die Form mit IShapeCollection->InsertClone (int32t index, System::SharedPtr sourceShape, float x, float y) methode.
- Speichern Sie abschließend die Präsentation mit der methode Presentation->Save (System::String name, Export::SaveFormat format).
Im Folgenden finden Sie den Beispielcode zum Klonen von Formen in PowerPoint-Folien mit C++.
// Dateipfade
const String sourceFilePath = u"SourceDirectory\\ShapePresentation2.pptx";
const String outputFilePath = u"OutputDirectory\\CloneShapePresentation.pptx";
// Laden Sie die Präsentationsdatei
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Greifen Sie auf die erste Folie zu
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Zugreifen auf die Formensammlung für die ausgewählte Folie
SharedPtr<IShapeCollection> sourceShapes = slide->get_Shapes();
// Holen Sie sich die Formsammlung von der Zielfolie
SharedPtr<ISlide> destSlide = presentation->get_Slides()->idx_get(1);
SharedPtr<IShapeCollection> destShapes = destSlide->get_Shapes();
// Klonform
destShapes->InsertClone(0, sourceShapes->idx_get(1), 50, 150);
// Präsentationsdatei speichern
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Formen aus PowerPoint-Folien mit C++ entfernen
Im Folgenden sind die Schritte zum Entfernen von Formen aus PowerPoint-Folien aufgeführt.
- Laden Sie zunächst die PowerPoint Präsentation mit der Klasse Presentation.
- Rufen Sie die Folie, von der Sie die Form entfernen möchten, mit der methode Presentation->getSlides()->idxget (int32t index) ab.
- Finden Sie die erforderliche Form, indem Sie den alternativen Text mit der methode IShape->getAlternativeText() abgleichen.
- Entfernen Sie die Form mit ISlide->getShapes()->Remove (System::SharedPtr Form) Methode.
- Speichern Sie abschließend die Präsentation mit der methode Presentation->Save (System::String name, Export::SaveFormat format).
Im Folgenden finden Sie den Beispielcode zum Entfernen von Formen aus PowerPoint-Folien mit C++.
// Dateipfade
const String sourceFilePath = u"SourceDirectory\\ShapePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\RemoveShapePresentation.pptx";
// Laden Sie die Präsentationsdatei
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// Greifen Sie auf die erste Folie zu
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++)
{
// Greifen Sie auf die Form zu
SharedPtr<Shape> ashape = DynamicCast<Aspose::Slides::Shape>(slide->get_Shapes()->idx_get(i));
if (String::Compare(ashape->get_AlternativeText(), alttext, StringComparison::Ordinal) == 0)
{
// Entfernen Sie die Form
slide->get_Shapes()->Remove(ashape);
}
}
// Präsentationsdatei speichern
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Unterstützte PowerPoint-Formen
Aspose.Slides for C++ unterstützt viele Formen, mit denen Sie arbeiten können. Im Folgenden finden Sie eine Liste mit einigen der unterstützten Formen.
Sie können die vollständige Liste der unterstützten Formen anzeigen, indem Sie die Aufzählungswerte ShapeType anzeigen.
Holen Sie sich eine kostenlose Lizenz
Sie können eine kostenlose temporäre Lizenz anfordern, um die API ohne Evaluierungseinschränkungen zu testen.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie in PowerPoint Präsentationen mit C++ mit Formen arbeiten. Insbesondere haben Sie gelernt, wie Sie Formen zu PowerPoint-Folien hinzufügen, klonen und entfernen. Außerdem haben Sie gesehen, wie Sie Formen mit einem Verbinder verbinden. Neben der Arbeit mit Formen bietet Aspose.Slides for C++ viele zusätzliche Funktionen zur Verbesserung Ihrer PowerPoint Präsentationen. Sie können die API im Detail erkunden, indem Sie die offizielle Dokumentation besuchen. Bei Fragen können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.