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
- Lägg till en form till en PowerPoint-bild
- Lägg till anslutna former till en PowerPoint-bild
- Klona former i PowerPoint-bilder
- Ta bort former från PowerPoint-bilder med C++
- PowerPoint-former som stöds
- Skaffa en gratis licens
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.
- Ladda först PowerPoint-presentationen med klassen Presentation.
- Hämta bilden där du vill lägga till formen med metoden Presentation->getSlides()->idxget (int32t index).
- Lägg till formen med metoden ISlide->getShapes()->AddAutoShape (ShapeType shapeType, float x, float y, float width, float height).
- Slutligen sparar du presentationen med metoden Presentation->Spara (System::String name, Export::SaveFormat format).
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 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.
- Ladda först PowerPoint-presentationen med klassen Presentation.
- Hämta bilden där du vill lägga till formerna med metoden Presentation->getSlides()->idxget (int32t index).
- Lägg till formerna med metoden ISlide->getShapes()->AddAutoShape (ShapeType shapeType, float x, float y, float width, float height).
- Lägg till kontakten med metoden ISlide->getShapes()->AddConnector (ShapeType shapeType, float x, float y, float width, float height).
- Anslut formerna till kontakten med hjälp av IConnector->setStartShapeConnectedTo (System::SharedPtr värde) och IConnector->setEndShapeConnectedTo (System::SharedPtr värde) metoder.
- Anropa metoden IConnector->Reroute() för att skapa den kortaste automatiska anslutningsvägen.
- Slutligen sparar du presentationen med metoden Presentation->Save (System::String name, Export::SaveFormat format).
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);
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.
- Ladda först PowerPoint-presentationen med klassen Presentation.
- Hämta källbilden med metoden Presentation->getSlides()->idxget (int32t index).
- Få åtkomst till formerna på källbilden med metoden ISlide->getShapes().
- Få åtkomst till formerna på målbilden med metoden ISlide->getShapes().
- Klona formen med hjälp av IShapeCollection->InsertClone (int32t index, System::SharedPtr sourceShape, float x, float y) metod.
- Slutligen sparar du presentationen med metoden Presentation->Save (System::String name, Export::SaveFormat format).
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);
Ta bort former från PowerPoint-bilder med C++
Följande är stegen för att ta bort former från PowerPoint-bilder.
- Ladda först PowerPoint-presentationen med klassen Presentation.
- Hämta bilden där du vill ta bort formen med metoden Presentation->getSlides()->idxget (int32t index).
- Hitta den önskade formen genom att matcha den alternativa texten med metoden IShape->getAlternativeText().
- Ta bort formen med hjälp av ISlide->getShapes()->Remove (System::SharedPtr form) metod.
- Slutligen sparar du presentationen med metoden Presentation->Save (System::String name, Export::SaveFormat format).
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.