Arbeta med former i PowerPoint-presentationer med C++

Microsoft PowerPoint ger dig möjligheten att lägga till former till dina presentationer. Former kan vara till hjälp i scenarier som att visa dataflödet eller visa olika faser av en process. Du kan använda former som ellipser, linjer, rektanglar etc. och koppla ihop dem med kontakter. Du kan hamna i scenarier där du måste lägga till former till PowerPoint-bilder programmatiskt. För detta ändamål kommer den här artikeln att lära dig hur du arbetar med former i PowerPoint-presentationer med C++.

C++ API för att arbeta med former i PowerPoint-presentationer

Aspose.Slides for C++ är ett inbyggt C++-bibliotek som stöder att skapa, läsa och manipulera PowerPoint-filer. API:et stöder även arbete med former i PowerPoint-presentationer. Du kan antingen installera API:t genom NuGet eller ladda ner det direkt från avsnittet Nedladdningar.

PM> Install-Package Aspose.Slides.Cpp

Lägg till en form till en PowerPoint-bild

För att lägga till en form, använd metoden ISlide->getShapes()->AddAutoShape() som tillhandahålls av API:et. Följande är stegen för att lägga till en form till en PowerPoint-bild.

Följande är exempelkoden för att lägga till en form till en PowerPoint-bild med C++.

// Filsökvägar
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddShapePresentation.pptx";

// Ladda presentationsfilen
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Få den första bilden
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Lägg till formen
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);

// Spara presentationsfilen
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Lägg till form till PowerPoint-bild

Lägg till anslutna former till en PowerPoint-bild

Kontaktdon kan användas för att koppla samman former. För att skapa en koppling kan du använda metoden ISlide->getShapes()->AddConnector(). Följande är stegen för att lägga till anslutna former till en PowerPoint-bild.

Följande är exempelkoden för att lägga till anslutna former till en PowerPoint-bild med C++.

// Filsökvägar
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddConnectedShapesPresentation.pptx";

// Ladda presentationsfilen
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Få den första bilden
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Lägg till den första formen
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);

// Lägg till den andra formen
SharedPtr<IAutoShape> rectangle = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 300, 100, 100);

// Lägg till kontakten
SharedPtr<IConnector> connector = slide->get_Shapes()->AddConnector(ShapeType::BentConnector2, 0, 0, 10, 10);

// Förena formerna med kontakten
connector->set_StartShapeConnectedTo(ellipse);
connector->set_EndShapeConnectedTo(rectangle);

// Ring omdirigering för att ställa in den automatiska kortaste vägen mellan former
connector->Reroute();

// Spara presentationsfilen
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Lägg till anslutna former till PowerPoint Slide

Klona former i PowerPoint-bilder

Du kan också klona befintliga former med Aspose.Slides för C++ API. För att klona en form, använd metoden ShapeCollection->InsertClone() som tillhandahålls av API:et. Följande är stegen för att klona former från en bild till en annan.

Följande är exempelkoden för att klona former i PowerPoint-bilder med C++.

// Filsökvägar
const String sourceFilePath = u"SourceDirectory\\ShapePresentation2.pptx";
const String outputFilePath = u"OutputDirectory\\CloneShapePresentation.pptx";

// Ladda presentationsfilen
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Få tillgång till första bilden
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Åtkomst till formsamling för den valda bilden
SharedPtr<IShapeCollection> sourceShapes = slide->get_Shapes();

// Få formsamling från destinationsbilden
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);

// Spara presentationsfilen
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Klona former i PowerPoint-bilder

Ta bort former från PowerPoint-bilder med C++

Följande är stegen för att ta bort former från PowerPoint-bilder.

Följande är exempelkoden för att ta bort former från PowerPoint-bilder med C++.

// Filsökvägar
const String sourceFilePath = u"SourceDirectory\\ShapePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\RemoveShapePresentation.pptx";

// Ladda presentationsfilen
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Få tillgång till första bilden
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++)
{
	// Få tillgång till formen
	SharedPtr<Shape> ashape = DynamicCast<Aspose::Slides::Shape>(slide->get_Shapes()->idx_get(i));

	if (String::Compare(ashape->get_AlternativeText(), alttext, StringComparison::Ordinal) == 0)
	{
		// Ta bort formen
		slide->get_Shapes()->Remove(ashape);
	}
}

// Spara presentationsfilen
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

PowerPoint-former som stöds

Aspose.Slides för C++ stöder många former för dig att arbeta med. Följande är en lista över några av de former som stöds.

Du kan se hela listan över former som stöds genom att visa ShapeType enumvärden.

Skaffa en gratis licens

Du kan begära en gratis temporär licens för att prova API utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har du lärt dig hur du arbetar med former i PowerPoint-presentationer med C++. Specifikt har du lärt dig hur du lägger till, klonar och tar bort former från PowerPoint-bilder. Dessutom har du sett hur man kopplar ihop former med hjälp av en koppling. Förutom att arbeta med former erbjuder Aspose.Slides för C++ många ytterligare funktioner för att förbättra dina PowerPoint-presentationer. Du kan utforska API:et i detalj genom att besöka den officiella dokumentationen. Om du har några frågor är du välkommen att kontakta oss på vårt gratis supportforum.

Se även