Trabalhando com formas em apresentações do PowerPoint usando C++

O Microsoft PowerPoint oferece a capacidade de adicionar formas às suas apresentações. As formas podem ser úteis em cenários como mostrar o fluxo de dados ou mostrar diferentes fases de um processo. Você pode usar formas como elipses, linhas, retângulos, etc., e conectá-los usando conectores. Você pode se encontrar em cenários em que precisa adicionar formas aos slides do PowerPoint programaticamente. Para isso, este artigo ensinará como trabalhar com formas em apresentações do PowerPoint usando C++.

API C++ para trabalhar com formas em apresentações do PowerPoint

Aspose.Slides for C++ é uma biblioteca nativa de C++ que oferece suporte à criação, leitura e manipulação de arquivos do PowerPoint. A API também oferece suporte ao trabalho com formas em apresentações do PowerPoint. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.

PM> Install-Package Aspose.Slides.Cpp

Adicionar uma forma a um slide do PowerPoint

Para adicionar uma forma, use o método ISlide->getShapes()->AddAutoShape() fornecido pela API. A seguir estão as etapas para adicionar uma forma a um slide do PowerPoint.

Veja a seguir o código de exemplo para adicionar uma forma a um slide do PowerPoint usando C++.

// Caminhos de arquivo
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddShapePresentation.pptx";

// Carregar o arquivo de apresentação
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Obter o primeiro slide
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Adicione a forma
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);

// Salvar arquivo de apresentação
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Adicionar forma ao slide do PowerPoint

Adicionar formas conectadas a um slide do PowerPoint

Conectores podem ser usados para conectar formas. Para criar um conector, você pode usar o método ISlide->getShapes()->AddConnector(). A seguir estão as etapas para adicionar formas conectadas a um slide do PowerPoint.

Veja a seguir o código de exemplo para adicionar formas conectadas a um slide do PowerPoint usando C++.

// Caminhos de arquivo
const String sourceFilePath = u"SourceDirectory\\SamplePresentation4.pptx";
const String outputFilePath = u"OutputDirectory\\AddConnectedShapesPresentation.pptx";

// Carregar o arquivo de apresentação
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Obter o primeiro slide
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Adicione a primeira forma
SharedPtr<IAutoShape> ellipse = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);

// Adicione a segunda forma
SharedPtr<IAutoShape> rectangle = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 300, 100, 100);

// Adicione o conector
SharedPtr<IConnector> connector = slide->get_Shapes()->AddConnector(ShapeType::BentConnector2, 0, 0, 10, 10);

// Junte as formas com o conector
connector->set_StartShapeConnectedTo(ellipse);
connector->set_EndShapeConnectedTo(rectangle);

// Chame o redirecionamento para definir o caminho mais curto automático entre as formas
connector->Reroute();

// Salvar arquivo de apresentação
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Adicionar formas conectadas ao slide do PowerPoint

Clonar formas em slides do PowerPoint

Você também pode clonar formas existentes usando a API Aspose.Slides for C++. Para clonar uma forma, use o método ShapeCollection->InsertClone() fornecido pela API. A seguir estão as etapas para clonar formas de um slide para outro.

Veja a seguir o código de exemplo para clonar formas em slides do PowerPoint usando C++.

// Caminhos de arquivo
const String sourceFilePath = u"SourceDirectory\\ShapePresentation2.pptx";
const String outputFilePath = u"OutputDirectory\\CloneShapePresentation.pptx";

// Carregar o arquivo de apresentação
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Acesse o primeiro slide
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Acessando a coleção de formas para o slide selecionado
SharedPtr<IShapeCollection> sourceShapes = slide->get_Shapes();

// Obter coleção de formas do slide de destino
SharedPtr<ISlide> destSlide = presentation->get_Slides()->idx_get(1);
SharedPtr<IShapeCollection> destShapes = destSlide->get_Shapes();

// Forma de clone
destShapes->InsertClone(0, sourceShapes->idx_get(1), 50, 150);

// Salvar arquivo de apresentação
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Clonar formas em slides do PowerPoint

Remover formas de slides do PowerPoint usando C++

A seguir estão as etapas para remover formas de slides do PowerPoint.

Veja a seguir o código de exemplo para remover formas de slides do PowerPoint usando C++.

// Caminhos de arquivo
const String sourceFilePath = u"SourceDirectory\\ShapePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\RemoveShapePresentation.pptx";

// Carregar o arquivo de apresentação
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);

// Acesse o primeiro slide
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++)
{
	// Acesse a forma
	SharedPtr<Shape> ashape = DynamicCast<Aspose::Slides::Shape>(slide->get_Shapes()->idx_get(i));

	if (String::Compare(ashape->get_AlternativeText(), alttext, StringComparison::Ordinal) == 0)
	{
		// Remova a forma
		slide->get_Shapes()->Remove(ashape);
	}
}

// Salvar arquivo de apresentação
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Formas de PowerPoint compatíveis

Aspose.Slides para C++ suporta muitas formas para você trabalhar. Segue-se uma lista de algumas das formas suportadas.

Você pode visualizar a lista completa de formas suportadas visualizando os valores de enumeração ShapeType.

Obtenha uma licença gratuita

Você pode solicitar uma licença temporária gratuita para experimentar a API sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu a trabalhar com formas em apresentações do PowerPoint usando C++. Especificamente, você aprendeu como adicionar, clonar e remover formas de slides do PowerPoint. Além disso, você viu como conectar formas usando um conector. Além de trabalhar com formas, o Aspose.Slides for C++ fornece muitos recursos adicionais para aprimorar suas apresentações do PowerPoint. Você pode explorar a API em detalhes visitando a documentação oficial. Em caso de dúvidas, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.

Veja também