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
- Adicionar uma forma a um slide do PowerPoint
- Adicionar formas conectadas a um slide do PowerPoint
- Clonar formas em slides do PowerPoint
- Remover formas de slides do PowerPoint usando C++
- Formas de PowerPoint compatíveis
- Obtenha uma licença gratuita
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.
- Primeiramente, carregue a apresentação do PowerPoint usando a classe Apresentação.
- Recupere o slide onde você deseja adicionar a forma usando o método Apresentação->getSlides()->idxget (int32t index).
- Adicione a forma usando o método ISlide->getShapes()->AddAutoShape (ShapeType shapeType, float x, float y, float largura, float height).
- Finalmente, salve a apresentação usando o método Presentation->Save (System::String name, Export::SaveFormat format).
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 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.
- Primeiramente, carregue a apresentação do PowerPoint usando a classe Apresentação.
- Recupere o slide onde você deseja adicionar as formas usando o método Presentation->getSlides()->idxget (int32t index).
- Adicione as formas usando o método ISlide->getShapes()->AddAutoShape (ShapeType shapeType, float x, float y, float largura, float height).
- Adicione o conector usando o método ISlide->getShapes()->AddConnector (ShapeType shapeType, float x, float y, float largura, float height).
- Conecte as formas ao conector usando o IConnector->setStartShapeConnectedTo (System::SharedPtr value) e IConnector->setEndShapeConnectedTo (System::SharedPtr value) métodos.
- Chame o método IConnector->Reroute() para criar o caminho de conexão automática mais curto.
- Finalmente, salve a apresentação usando o método Presentation->Save (System::String name, Export::SaveFormat format).
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);
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.
- Primeiramente, carregue a apresentação do PowerPoint usando a classe Apresentação.
- Recupere o slide de origem usando o método Apresentação->getSlides()->idxget (int32t index).
- Acesse as formas do slide de origem usando o método ISlide->getShapes().
- Acesse as formas do slide de destino usando o método ISlide->getShapes().
- Clone a forma usando o IShapeCollection->InsertClone (índice int32t, System::SharedPtr sourceShape, float x, float y).
- Finalmente, salve a apresentação usando o método Presentation->Save (System::String name, Export::SaveFormat format).
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);
Remover formas de slides do PowerPoint usando C++
A seguir estão as etapas para remover formas de slides do PowerPoint.
- Primeiramente, carregue a apresentação do PowerPoint usando a classe Apresentação.
- Recupere o slide de onde você deseja remover a forma usando o método Apresentação->getSlides()->idxget (int32t index).
- Encontre a forma necessária combinando o texto alternativo usando o método IShape->getAlternativeText().
- Remova a forma usando o ISlide->getShapes()->Remove (System::SharedPtr forma) método.
- Finalmente, salve a apresentação usando o método Presentation->Save (System::String name, Export::SaveFormat format).
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.