Uma marca d’água identifica o estado do documento com textos como confidencial, rascunho, etc., e dificulta a cópia do documento original. As marcas d’água também são usadas para especificar a propriedade de um documento mostrando o nome ou o logotipo da empresa. As marcas d’água em arquivos do PowerPoint podem ser baseadas em imagem ou texto. Neste artigo, você aprenderá como adicionar marcas d’água de texto e imagem a slides do PowerPoint usando C++.
- API C++ para adicionar marca d’água a slides do PowerPoint
- Adicionar marca d’água de texto a slides do PowerPoint usando C++
- Adicionar marca d’água de imagem a slides do PowerPoint
API C++ para adicionar marca d’água a slides do PowerPoint
Usaremos a API Aspose.Slides for C++ para adicionar marca d’água aos slides do PowerPoint. É uma API robusta e rica em recursos que oferece suporte à criação, leitura e atualização de arquivos do PowerPoint sem a necessidade de software adicional. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.
PM> Install-Package Aspose.Slides.Cpp
Adicionar marca d’água de texto a slides do PowerPoint usando C++
Você pode adicionar uma marca d’água de texto aos slides do PowerPoint seguindo as etapas abaixo.
- Primeiramente, carregue o arquivo PowerPoint usando a classe Apresentação.
- Recupere o slide mestre.
- Calcule a posição da marca d’água.
- Adicione uma forma usando o método IMasterSlide->getShapes()->AddAutoShape(ShapeType shapeType, float x, float y, float largura, float height).
- Adicione um quadro de texto à forma usando o método IAutoShape->AddTextFrame(System::String text).
- Defina o tamanho da fonte, a cor e o ângulo de rotação da marca d’água.
- Bloqueie a marca d’água para que ela não possa ser movida ou removida.
- Finalmente, salve o arquivo PowerPoint usando o método Presentation->Save(System::String fname, Export::SaveFormat format).
O código de exemplo a seguir mostra como adicionar marca d’água de texto a slides do PowerPoint usando C++.
// Caminhos de arquivo
const String sourceFilePath = u"SourceDirectory\\Slides\\Presentation2.pptx";
const String outputFilePath = u"OutputDirectory\\AddTextWatermark_out.pptx";
// Carregar o arquivo de apresentação
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// Acesse o slide mestre
auto master = presentation->get_Masters()->idx_get(0);
System::Drawing::PointF center(presentation->get_SlideSize()->get_Size().get_Width() / 2, presentation->get_SlideSize()->get_Size().get_Height() / 2);
float width = 300.0f;
float height = 300.0f;
float x = center.get_X() - width / 2;
float y = center.get_Y() - height / 2;
// Adicionar forma
auto watermarkShape = master->get_Shapes()->AddAutoShape(ShapeType::Rectangle, x, y, width, height);
// Definir tipo de preenchimento
watermarkShape->get_FillFormat()->set_FillType(FillType::NoFill);
watermarkShape->get_LineFormat()->get_FillFormat()->set_FillType(FillType::NoFill);
// Definir ângulo de rotação
watermarkShape->set_Rotation(-45);
// Definir texto
auto watermarkTextFrame = watermarkShape->AddTextFrame(u"Watermark");
// Definir fonte e cor
auto watermarkPortion = watermarkTextFrame->get_Paragraphs()->idx_get(0)->get_Portions()->idx_get(0);
watermarkPortion->get_PortionFormat()->set_FontHeight(52.0f);
int32_t alpha = 150, red = 200, green = 200, blue = 200;
watermarkPortion->get_PortionFormat()->get_FillFormat()->set_FillType(FillType::Solid);
watermarkPortion->get_PortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::FromArgb(alpha, red, green, blue));
// Bloquear formas de modificação
watermarkShape->get_AutoShapeLock()->set_SelectLocked(true);
watermarkShape->get_AutoShapeLock()->set_SizeLocked(true);
watermarkShape->get_AutoShapeLock()->set_TextLocked(true);
watermarkShape->get_AutoShapeLock()->set_PositionLocked(true);
watermarkShape->get_AutoShapeLock()->set_GroupingLocked(true);
// Salvar apresentação
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Adicionar marca d’água de imagem a slides do PowerPoint usando C++
Para adicionar uma marca d’água de imagem aos slides do PowerPoint, siga as etapas abaixo.
- Primeiramente, carregue o arquivo PowerPoint usando a classe Apresentação.
- Recupere o slide mestre.
- Calcule a posição da marca d’água.
- Adicione uma forma usando o método IMasterSlide->getShapes()->AddAutoShape(ShapeType shapeType, float x, float y, float largura, float height).
- Adicione a imagem e obtenha sua referência em um objeto IPPImage.
- Defina a imagem da marca d’água usando o IAutoShape->getFillFormat()->getPictureFillFormat()->getPicture()->setImage(System::SharedPtr valor) método.
- Defina o tipo de preenchimento e o modo de preenchimento de imagem de IAutoShape para FillType::Picture e PictureFillMode::Stretch, respectivamente.
- Bloqueie a marca d’água para que ela não possa ser movida ou removida.
- Finalmente, salve o arquivo PowerPoint usando o método Presentation->Save(System::String fname, Export::SaveFormat format).
O código de exemplo a seguir mostra como adicionar uma marca d’água de imagem a slides do PowerPoint usando C++.
// Caminhos de arquivo
const String sourceFilePath = u"SourceDirectory\\Slides\\Presentation2.pptx";
const String outputFilePath = u"OutputDirectory\\AddImageWatermark_out.pptx";
// Carregar o arquivo de apresentação
auto presentation = System::MakeObject<Presentation>(sourceFilePath);
// Acesse o slide maser
auto master = presentation->get_Masters()->idx_get(0);
System::Drawing::PointF center(presentation->get_SlideSize()->get_Size().get_Width() / 2, presentation->get_SlideSize()->get_Size().get_Height() / 2);
float width = 300.0f;
float height = 300.0f;
float x = center.get_X() - width / 2;
float y = center.get_Y() - height / 2;
// Adicionar forma
auto watermarkShape = master->get_Shapes()->AddAutoShape(ShapeType::Rectangle, x, y, width, height);
auto image = presentation->get_Images()->AddImage(File::ReadAllBytes(u"SourceDirectory\\Images\\AsposeLogo.png"));
// Definir tipo de preenchimento
watermarkShape->get_FillFormat()->set_FillType(FillType::Picture);
watermarkShape->get_FillFormat()->get_PictureFillFormat()->get_Picture()->set_Image(image);
watermarkShape->get_FillFormat()->get_PictureFillFormat()->set_PictureFillMode(PictureFillMode::Stretch);
// Bloquear formas de modificação
watermarkShape->get_AutoShapeLock()->set_SelectLocked(true);
watermarkShape->get_AutoShapeLock()->set_SizeLocked(true);
watermarkShape->get_AutoShapeLock()->set_TextLocked(true);
watermarkShape->get_AutoShapeLock()->set_PositionLocked(true);
watermarkShape->get_AutoShapeLock()->set_GroupingLocked(true);
// Salvar apresentação
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Obtenha uma licença gratuita
Para experimentar a API sem limitações de avaliação, você pode solicitar uma licença temporária gratuita.
Conclusão
Neste artigo, você aprendeu como adicionar uma marca d’água a slides do PowerPoint usando C++. Os exemplos de código compartilhados mostram como adicionar facilmente marcas d’água de imagem e texto a slides do PowerPoint usando a API Aspose.Slides to C++. É uma API poderosa que fornece vários recursos adicionais para trabalhar com arquivos PowerPoint PPTX/PPT. 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
- Aplicar animação ao texto no PowerPoint usando C++
- Criar SmartArt em apresentações do PowerPoint usando C++
Info: Você pode querer verificar as ferramentas online Aspose.Slides gratuitas Adicionar marca d’água ao PowerPoint e Remover marca d’água do PowerPoint.